[PATCH] Change CTDB to use a Samba-style configuration file

Martin Schwenke martin at meltin.net
Tue Jul 17 10:24:20 UTC 2018

On Tue, 17 Jul 2018 11:56:48 +0200, David Disseldorp via
samba-technical <samba-technical at lists.samba.org> wrote:

> On Wed, 16 May 2018 18:40:34 +1000, Martin Schwenke via samba-technical wrote:
> > This patch set changes CTDB to use a new ctdb.conf (as opposed to
> > ctdbd.conf) configuration file that has the same syntax as smb.conf.
> > This means that any new daemons that we introduce can read ctdb.conf
> > directly.
> > 
> > A couple of changes before that happens:
> > 
> > 
> > * ctdbd no longer creates database directories - installation (or
> >   the admin, for not default directories) does that
> > 
> > ctdbd_wrapper is nearly gone.  It can probably go away soon.
> > 
> > I have updates to WHATSNEW.txt around but, to avoid churn (and because
> > it is a bit wrong in some places), I'm not posting that yet.  
> Looks like this flew under my radar, but just thought I'd mention that
> it breaks the Linux-HA CTDB resource agent, which makes heavy use of
> ctdbd command line parameters:
> https://github.com/ClusterLabs/resource-agents/blob/master/heartbeat/CTDB#L624
> I guess it should be possible to have the resource agent generate a
> runtime ctdb configuration file, but it'll likely cause quite some
> headaches WRT multi-version support.

Hopefully we can work together to come up with a simple solution.

I notice that there's already a function called
generate_ctdb_sysconfig().  I suggest 2 initial changes there, for
versions Samba <=4.8:

1. Change it to generate /etc/ctdb/ctdbd.conf or similar

   We tried to move the general CTDB config to that file from the
   distro-specific files several years ago but not many people listened.

2. Switch the daemon options to be config file options in the above file

   ctdbd.conf(5) will tell you the config file options and the daemon
   options that they map to.  If you can get rid of the daemon options
   then the work needed for Samba >=4.9 becomes much clearer.

Then you could have that function alternatively generate the
new /etc/ctdb/ctdb.conf.

The decision about which configuration file to generate could depend on
the output of "ctdbd --help".  I've seen that sort of thing done before
for other software.

There'll be a script out soon to generate a new configuration from an
old one.  Others can judge the robustness of this and make
suggestions to improve it.  However, I'm trying to make it as complete
as possible. I wouldn't suggest using it for this particular case... but
it might provide some hints for updating generate_ctdb_sysconfig().

Sorry to cause pain but we're confident that this will be much better
in the long term...

peace & happiness,

More information about the samba-technical mailing list