Discussion:
[PATCH] CTDB configuration changes and related cleanups
Martin Schwenke via samba-technical
2018-05-01 00:55:24 UTC
Permalink
This continues the march towards CTDB having a Samba-style
configuration file, which we can then use for various components.

Highlights:

* Drop support for CTDB_DBDIR=tmpfs

This is too hard to support in the new configuration scheme. This
can be easily automated in a flexible manner via a systemd
ExecStartPre option or via SysV init sysconfig or default script.

* Change default volatile database directory to new "volatile" subdirectory

This is necessary if we suggest that admins mount a tmpfs on the
volatile database directory - it can't contain the persistent
database directory!

* Documentation tweaks to make subsequent changes more straightforward

* Drop configuration variables relating to notifications

CTDB will soon have a standard (i.e. not individually configurable)
directory where notification scripts can be placed. CTDB will use
this internally to integrate loosely coupled components. Others can
hook in to this as well.

* Change and/or drop some testing variables

New variable CTDB_LOCAL_DAEMON_MODE follows the new convention of
using environment variable for top-level testing options instead of
using user-visible command-line options.

--sloppy-start and --nopublicipcheck options are dropped because they
are now handled by CTDB_LOCAL_DAEMON_MODE.

CTDB_VALGRIND, --torture and --valgrinding are also dropped.

* Documentation of test and debugging options is moved to
ctdb/tests/README, instead of having these options in user level
documentation.

* Clean up main(), including pulling one of the "client" functions into
ctdbd.c.

* ctdbd now logs the logging location via syslog() when ctdbd is not
configured to log via syslog()

This replaces a warning logged by ctdbd_wrapper via logger(1).

* ctdbd_wrapper no longer warns when no recovery lock is configured

ctdbd already does this.

Please review and maybe push...

peace & happiness,
martin
Amitay Isaacs via samba-technical
2018-05-01 04:03:38 UTC
Permalink
Hi,

On Tue, May 1, 2018 at 10:55 AM, Martin Schwenke via samba-technical
Post by Martin Schwenke via samba-technical
This continues the march towards CTDB having a Samba-style
configuration file, which we can then use for various components.
* Drop support for CTDB_DBDIR=tmpfs
This is too hard to support in the new configuration scheme. This
can be easily automated in a flexible manner via a systemd
ExecStartPre option or via SysV init sysconfig or default script.
* Change default volatile database directory to new "volatile" subdirectory
This is necessary if we suggest that admins mount a tmpfs on the
volatile database directory - it can't contain the persistent
database directory!
* Documentation tweaks to make subsequent changes more straightforward
* Drop configuration variables relating to notifications
CTDB will soon have a standard (i.e. not individually configurable)
directory where notification scripts can be placed. CTDB will use
this internally to integrate loosely coupled components. Others can
hook in to this as well.
* Change and/or drop some testing variables
New variable CTDB_LOCAL_DAEMON_MODE follows the new convention of
using environment variable for top-level testing options instead of
using user-visible command-line options.
Rather than introducing new variables for denoting various test
things, let's use a single CTDB_TEST_MODE variable that can be used by
various daemons and tools to use "testing" behaviour.

This will avoid the need for more shell variables and will reduce our
burden for documentation.
Post by Martin Schwenke via samba-technical
--sloppy-start and --nopublicipcheck options are dropped because they
are now handled by CTDB_LOCAL_DAEMON_MODE.
CTDB_VALGRIND, --torture and --valgrinding are also dropped.
* Documentation of test and debugging options is moved to
ctdb/tests/README, instead of having these options in user level
documentation.
* Clean up main(), including pulling one of the "client" functions into
ctdbd.c.
* ctdbd now logs the logging location via syslog() when ctdbd is not
configured to log via syslog()
This replaces a warning logged by ctdbd_wrapper via logger(1).
* ctdbd_wrapper no longer warns when no recovery lock is configured
ctdbd already does this.
Please review and maybe push...
peace & happiness,
martin
In addition, minor fixes to commit messages and comments (as discussed offline).

Also, ctdb_client.c patch will conflict with my patches posted on the
list. One of us needs to rebase depending on which patches go in
first.

Amitay.
Martin Schwenke via samba-technical
2018-05-01 06:59:45 UTC
Permalink
Post by Amitay Isaacs via samba-technical
Hi,
On Tue, May 1, 2018 at 10:55 AM, Martin Schwenke via samba-technical
Post by Martin Schwenke via samba-technical
This continues the march towards CTDB having a Samba-style
configuration file, which we can then use for various components.
* Drop support for CTDB_DBDIR=tmpfs
This is too hard to support in the new configuration scheme. This
can be easily automated in a flexible manner via a systemd
ExecStartPre option or via SysV init sysconfig or default script.
* Change default volatile database directory to new "volatile" subdirectory
This is necessary if we suggest that admins mount a tmpfs on the
volatile database directory - it can't contain the persistent
database directory!
* Documentation tweaks to make subsequent changes more straightforward
* Drop configuration variables relating to notifications
CTDB will soon have a standard (i.e. not individually configurable)
directory where notification scripts can be placed. CTDB will use
this internally to integrate loosely coupled components. Others can
hook in to this as well.
* Change and/or drop some testing variables
New variable CTDB_LOCAL_DAEMON_MODE follows the new convention of
using environment variable for top-level testing options instead of
using user-visible command-line options.
Rather than introducing new variables for denoting various test
things, let's use a single CTDB_TEST_MODE variable that can be used by
various daemons and tools to use "testing" behaviour.
This will avoid the need for more shell variables and will reduce our
burden for documentation.
Post by Martin Schwenke via samba-technical
--sloppy-start and --nopublicipcheck options are dropped because they
are now handled by CTDB_LOCAL_DAEMON_MODE.
CTDB_VALGRIND, --torture and --valgrinding are also dropped.
* Documentation of test and debugging options is moved to
ctdb/tests/README, instead of having these options in user level
documentation.
* Clean up main(), including pulling one of the "client" functions into
ctdbd.c.
* ctdbd now logs the logging location via syslog() when ctdbd is not
configured to log via syslog()
This replaces a warning logged by ctdbd_wrapper via logger(1).
* ctdbd_wrapper no longer warns when no recovery lock is configured
ctdbd already does this.
Please review and maybe push...
peace & happiness,
martin
In addition, minor fixes to commit messages and comments (as discussed offline).
Also, ctdb_client.c patch will conflict with my patches posted on the
list. One of us needs to rebase depending on which patches go in
first.
OK, done as above. I also make some documentation changes that we
discussed offline.

New version attached, rebased on top of your client code changes, but
with whitepspace fixups. :-)

peace & happiness,
martin
Amitay Isaacs via samba-technical
2018-05-01 08:28:07 UTC
Permalink
Post by Martin Schwenke via samba-technical
Post by Amitay Isaacs via samba-technical
Hi,
On Tue, May 1, 2018 at 10:55 AM, Martin Schwenke via samba-technical
Post by Martin Schwenke via samba-technical
This continues the march towards CTDB having a Samba-style
configuration file, which we can then use for various components.
* Drop support for CTDB_DBDIR=tmpfs
This is too hard to support in the new configuration scheme. This
can be easily automated in a flexible manner via a systemd
ExecStartPre option or via SysV init sysconfig or default script.
* Change default volatile database directory to new "volatile" subdirectory
This is necessary if we suggest that admins mount a tmpfs on the
volatile database directory - it can't contain the persistent
database directory!
* Documentation tweaks to make subsequent changes more straightforward
* Drop configuration variables relating to notifications
CTDB will soon have a standard (i.e. not individually configurable)
directory where notification scripts can be placed. CTDB will use
this internally to integrate loosely coupled components. Others can
hook in to this as well.
* Change and/or drop some testing variables
New variable CTDB_LOCAL_DAEMON_MODE follows the new convention of
using environment variable for top-level testing options instead of
using user-visible command-line options.
Rather than introducing new variables for denoting various test
things, let's use a single CTDB_TEST_MODE variable that can be used by
various daemons and tools to use "testing" behaviour.
This will avoid the need for more shell variables and will reduce our
burden for documentation.
Post by Martin Schwenke via samba-technical
--sloppy-start and --nopublicipcheck options are dropped because they
are now handled by CTDB_LOCAL_DAEMON_MODE.
CTDB_VALGRIND, --torture and --valgrinding are also dropped.
* Documentation of test and debugging options is moved to
ctdb/tests/README, instead of having these options in user level
documentation.
* Clean up main(), including pulling one of the "client" functions into
ctdbd.c.
* ctdbd now logs the logging location via syslog() when ctdbd is not
configured to log via syslog()
This replaces a warning logged by ctdbd_wrapper via logger(1).
* ctdbd_wrapper no longer warns when no recovery lock is configured
ctdbd already does this.
Please review and maybe push...
peace & happiness,
martin
In addition, minor fixes to commit messages and comments (as discussed offline).
Also, ctdb_client.c patch will conflict with my patches posted on the
list. One of us needs to rebase depending on which patches go in
first.
OK, done as above. I also make some documentation changes that we
discussed offline.
New version attached, rebased on top of your client code changes, but
with whitepspace fixups. :-)
Pushed along with the client changes.

Amitay.
Martin Schwenke via samba-technical
2018-05-01 11:32:14 UTC
Permalink
Post by Amitay Isaacs via samba-technical
Post by Martin Schwenke via samba-technical
Post by Amitay Isaacs via samba-technical
Hi,
On Tue, May 1, 2018 at 10:55 AM, Martin Schwenke via samba-technical
[...]
Post by Martin Schwenke via samba-technical
Post by Amitay Isaacs via samba-technical
Rather than introducing new variables for denoting various test
things, let's use a single CTDB_TEST_MODE variable that can be used by
various daemons and tools to use "testing" behaviour.
This will avoid the need for more shell variables and will reduce our
burden for documentation.
[...]
Post by Martin Schwenke via samba-technical
Post by Amitay Isaacs via samba-technical
In addition, minor fixes to commit messages and comments (as discussed offline).
Also, ctdb_client.c patch will conflict with my patches posted on the
list. One of us needs to rebase depending on which patches go in
first.
OK, done as above. I also make some documentation changes that we
discussed offline.
New version attached, rebased on top of your client code changes, but
with whitepspace fixups. :-)
Pushed along with the client changes.
Autobuild fell over in something unrelated. Re-pushed your autobuild
branch...

peace & happiness,
martin

Loading...