The branch, master has been updated via 4628afa ctdb-scripts: Provide a gstack function if gstack is not available via 451c6b6 ctdb-tests: Drop residual CTDB_MANAGED_<service> variables via e081caf ctdb-scripts: Drop event script CTDB_MANAGED_<service> variables via c08c95c ctdb-tests: Drop event script tests where CTDB_MANAGED_<service>=no via a757e07 ctdb-tests: Ensure some event scripts are enabled for cluster tests via 8fe6a02 ctdb-packaging: Enable some standard event scripts if none are enabled via 0937ce0 ctdb-build: Enable some standard event scripts if none are enabled via 06be1c8 ctdb-build: Install event scripts in CTDB_DATADIR via a3610d1 ctdb-tests: Clean up define_test() for event scripts via f029e2a ctdb-tests: Drop an unused case via 19071ac ctdb-tests: New install path CTDB_SCRIPT_DATA_DIR via 15c6552 ctdb-tools: All ctdb event commands to run without ctdbd via 2546c43 ctdb-event: Allow tool to enable/disable scripts without daemon via 6742bf6 ctdb-event: Update event tool to handle symbolic links via 3bebc5d ctdb-common: Add path support for datadir via be1c340 ctdb-build: Add CTDB_DATADIR via 7c4848a ctdb-daemon: Drop the noiphost "node flags" bitmap via 709ef6b7 ctdb-daemon: Stop inactive/disabled nodes from reporting available IPs via fda0591 ctdb-daemon: Drop plumbing for obsolete tunable NoIPHostOnAllDisabled via 070469b ctdb-daemon: Mark NoIPHostOnAllDisabled tunable as obsolete via d0739b2 ctdb-daemon: Change default for tunable NoIPHostOnAllDisabled to 1 via b20c917 ctdb-tests: Setup public addresses in 60.nfs unit tests via 1061f48 ctdb-tests: Replace hardcoded IP address in test results from 094c239 WHATSNEW: Add more text about work done by Catalyst developers
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 4628afa3f563924434ccae9918cf60778b8ab91f Author: Martin Schwenke <mar...@meltin.net> Date: Sat Dec 2 20:06:25 2017 +1100 ctdb-scripts: Provide a gstack function if gstack is not available gstack isn't widely available, so provide a simple function that does the same thing if it gstack can't be found. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> Autobuild-User(master): Amitay Isaacs <ami...@samba.org> Autobuild-Date(master): Wed Jul 11 14:47:21 CEST 2018 on sn-devel-144 commit 451c6b668fb076eb0bb99ad70cf1546c4450cc5d Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 20:16:42 2018 +1000 ctdb-tests: Drop residual CTDB_MANAGED_<service> variables These no longer do anything. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit e081cafc9c4fcf5c8cfc0032e3c73eb145a09a9e Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 20:06:47 2018 +1000 ctdb-scripts: Drop event script CTDB_MANAGED_<service> variables Enable required event scripts to manage services. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit c08c95c9e5b091bf77ff6e8ced0a7bf1e0e82f74 Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 19:58:38 2018 +1000 ctdb-tests: Drop event script tests where CTDB_MANAGED_<service>=no Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit a757e07600d38692c600847d8a169936a7268f4b Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 22:07:54 2018 +1000 ctdb-tests: Ensure some event scripts are enabled for cluster tests Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 8fe6a0274bdd1f40f2c38462f23ca876807f6fd9 Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 15:58:06 2018 +1000 ctdb-packaging: Enable some standard event scripts if none are enabled CTDB needs the legacy/00.ctdb event script to be able to function properly. If this script is not enabled then assume a first-time install or an upgrade to a version that requires events scripts to be enabled via symlinks. In these cases enable this script and other commonly used scripts. Remove links during uninstall (but not during upgrade). Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 0937ce04222ee726a2ca7d87e3b2bf176b883340 Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 15:23:27 2018 +1000 ctdb-build: Enable some standard event scripts if none are enabled CTDB needs the legacy/00.ctdb event script to be able to function properly. If this script is not enabled then assume a first-time install or an upgrade to a version that requires events scripts to be enabled via symlinks. In these cases enable this script and other commonly used scripts. Only do this for a direct install. If DESTDIR is being used then assume a package is being built and let the packager handle this case. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 06be1c8593fc84068896b428bdc39e7033bd85e2 Author: Martin Schwenke <mar...@meltin.net> Date: Fri Jul 6 16:38:43 2018 +1000 ctdb-build: Install event scripts in CTDB_DATADIR Signed-off-by: Martin Schwenke <mar...@meltin.net> Pair-programmed-with: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit a3610d1cbcebb0fe81505d42276604804a112d9a Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 13:46:34 2018 +1000 ctdb-tests: Clean up define_test() for event scripts Factor out a little bit of common code. More coming. Most of this is whitespace changes. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit f029e2a76debaf663c40537bd850918802bfd1e0 Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 13:55:07 2018 +1000 ctdb-tests: Drop an unused case Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 19071ac8ad93111f50fc45be9731cd7f03a80a08 Author: Martin Schwenke <mar...@meltin.net> Date: Sat Jul 7 13:43:32 2018 +1000 ctdb-tests: New install path CTDB_SCRIPT_DATA_DIR Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 15c6552aa92c03a12de816b187b3f0fe0ca7d64c Author: Martin Schwenke <mar...@meltin.net> Date: Sun Jul 8 09:05:11 2018 +1000 ctdb-tools: All ctdb event commands to run without ctdbd Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 2546c439599565f33e4c905d1c73858026e37439 Author: Martin Schwenke <mar...@meltin.net> Date: Sun Jul 8 09:02:44 2018 +1000 ctdb-event: Allow tool to enable/disable scripts without daemon Only open the client socket when it is needed. Note that this only works for enabling/disabling event scripts via symlinks. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 6742bf6cf65cf40b54910ee254a3e863be141e85 Author: Martin Schwenke <mar...@meltin.net> Date: Fri Jul 6 17:51:27 2018 +1000 ctdb-event: Update event tool to handle symbolic links Supports the case when scripts are installed in the data directory and are linked to when enabled. Signed-off-by: Martin Schwenke <mar...@meltin.net> Pair-programmed-with: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 3bebc5d8a034f085bd53d7169a69129851b8f140 Author: Martin Schwenke <mar...@meltin.net> Date: Fri Jul 6 17:14:27 2018 +1000 ctdb-common: Add path support for datadir Signed-off-by: Martin Schwenke <mar...@meltin.net> Pair-programmed-with: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit be1c3400587ccf4f04fa56f438cf815a12e04326 Author: Martin Schwenke <mar...@meltin.net> Date: Fri Jul 6 16:37:55 2018 +1000 ctdb-build: Add CTDB_DATADIR Signed-off-by: Martin Schwenke <mar...@meltin.net> Pair-programmed-with: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 7c4848a4b3c7b073727f633863e0a92d413c3513 Author: Martin Schwenke <mar...@meltin.net> Date: Mon Jun 18 17:00:57 2018 +1000 ctdb-daemon: Drop the noiphost "node flags" bitmap This is no longer needed because inactive/disabled nodes no longer report any available public IP addresses. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 709ef6b7cc63ad272b959404d755af82c56d4ea0 Author: Martin Schwenke <mar...@meltin.net> Date: Mon Jun 18 16:22:14 2018 +1000 ctdb-daemon: Stop inactive/disabled nodes from reporting available IPs This can be done now that NoIPHostOnAllDisabled is gone and will allow the public IP address failover logic to be simplified. In the test code, still filter available IP addresses by node state. This code can't currently read information about available IP addresses but that will change in future Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit fda059108356bb97168f2cc61d94a18098cab0c4 Author: Martin Schwenke <mar...@meltin.net> Date: Mon Jun 18 16:06:18 2018 +1000 ctdb-daemon: Drop plumbing for obsolete tunable NoIPHostOnAllDisabled Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 070469beb812501dd44847b7facc9dfab436616c Author: Martin Schwenke <mar...@meltin.net> Date: Mon Jun 18 16:05:44 2018 +1000 ctdb-daemon: Mark NoIPHostOnAllDisabled tunable as obsolete Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit d0739b2ea81140f6514a8a48dd2ce5184f6bdb54 Author: Martin Schwenke <mar...@meltin.net> Date: Mon Jun 18 15:01:01 2018 +1000 ctdb-daemon: Change default for tunable NoIPHostOnAllDisabled to 1 Defaulting to host public IP addresses when all nodes are unhealthy does not obey the principle of least surprise. It has caused much confusion over the years. It often leads to problems when all nodes are unhealthy due to something like a cluster filesystem being unmounted. Change the default value for this tunable as the first step of completely removing this behaviour. Remove tests that set NoIPHostOnAllDisabled=1 and update the expected result for other tests where no nodes are healthy. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit b20c9173169659b948913c4e0480c50612b65e56 Author: Martin Schwenke <mar...@meltin.net> Date: Tue Jul 3 13:45:25 2018 +1000 ctdb-tests: Setup public addresses in 60.nfs unit tests Even the monitor event runs update_tickles(), which needs public IP addresses and FAKE_CTDB_NUMNODES to be initialised. Currently this works by default but soon we'll need FAKE_CTDB_NUMNODES in another context. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 1061f48d03e5f02d11ec302153fdf36209b15084 Author: Martin Schwenke <mar...@meltin.net> Date: Wed Jun 20 17:59:53 2018 +1000 ctdb-tests: Replace hardcoded IP address in test results Parameterise them with a variable instead. Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> ----------------------------------------------------------------------- Summary of changes: ctdb/common/path.c | 24 ++++ ctdb/common/path.h | 2 + ctdb/common/path_tool.c | 47 ++++++++ ctdb/common/tunable.c | 2 +- ctdb/config/debug_locks.sh | 14 ++- ctdb/config/events/README | 5 +- ctdb/config/events/legacy/06.nfs.script | 2 - ctdb/config/events/legacy/31.clamd.script | 2 - ctdb/config/events/legacy/40.vsftpd.script | 2 - ctdb/config/events/legacy/41.httpd.script | 2 - ctdb/config/events/legacy/49.winbind.script | 4 - ctdb/config/events/legacy/50.samba.script | 4 - ctdb/config/events/legacy/60.nfs.script | 2 - ctdb/config/events/legacy/70.iscsi.script | 2 - ctdb/config/script.options | 10 +- ctdb/doc/ctdb-script.options.5.xml | 116 ------------------ ctdb/doc/ctdb-tunables.7.xml | 20 +--- ctdb/doc/ctdb.1.xml | 1 - ctdb/event/event_tool.c | 129 ++++++++++++++++++--- ctdb/packaging/RPM/ctdb.spec.in | 40 +++++-- ctdb/server/ctdb_takeover.c | 6 + ctdb/server/ctdb_takeover_helper.c | 5 +- ctdb/server/ipalloc.c | 61 ---------- ctdb/server/ipalloc.h | 4 - ctdb/server/ipalloc_common.c | 4 - ctdb/server/ipalloc_private.h | 2 - ctdb/tests/complex/00_ctdb_init.sh | 24 ++++ ctdb/tests/cunit/path_tests_001.sh | 10 ++ ctdb/tests/eventd/etc-ctdb/events/data/README | 1 + .../etc-ctdb/share/events/data/01.dummy.script | 6 + ctdb/tests/eventd/eventd_009.sh | 38 ++++++ ctdb/tests/eventscripts/10.interface.011.sh | 4 +- ctdb/tests/eventscripts/10.interface.012.sh | 8 +- ctdb/tests/eventscripts/10.interface.013.sh | 22 ++-- ctdb/tests/eventscripts/31.clamd.monitor.001.sh | 15 --- ctdb/tests/eventscripts/31.clamd.monitor.002.sh | 1 - ctdb/tests/eventscripts/31.clamd.monitor.003.sh | 1 - ctdb/tests/eventscripts/40.vsftpd.monitor.001.sh | 11 -- ctdb/tests/eventscripts/40.vsftpd.monitor.002.sh | 4 - ctdb/tests/eventscripts/40.vsftpd.shutdown.001.sh | 10 -- ctdb/tests/eventscripts/40.vsftpd.shutdown.002.sh | 4 - ctdb/tests/eventscripts/40.vsftpd.startup.001.sh | 10 -- ctdb/tests/eventscripts/40.vsftpd.startup.002.sh | 4 - ctdb/tests/eventscripts/41.httpd.monitor.001.sh | 11 -- ctdb/tests/eventscripts/41.httpd.monitor.002.sh | 4 - ctdb/tests/eventscripts/41.httpd.shutdown.001.sh | 10 -- ctdb/tests/eventscripts/41.httpd.shutdown.002.sh | 4 - ctdb/tests/eventscripts/41.httpd.startup.001.sh | 10 -- ctdb/tests/eventscripts/41.httpd.startup.002.sh | 4 - ctdb/tests/eventscripts/49.winbind.monitor.001.sh | 11 -- ctdb/tests/eventscripts/49.winbind.shutdown.001.sh | 10 -- ctdb/tests/eventscripts/49.winbind.shutdown.002.sh | 4 - ctdb/tests/eventscripts/49.winbind.startup.001.sh | 10 -- ctdb/tests/eventscripts/49.winbind.startup.002.sh | 4 - ctdb/tests/eventscripts/50.samba.monitor.001.sh | 11 -- ctdb/tests/eventscripts/60.nfs.monitor.001.sh | 11 -- ctdb/tests/eventscripts/scripts/06.nfs.sh | 4 +- ctdb/tests/eventscripts/scripts/31.clamd.sh | 2 - ctdb/tests/eventscripts/scripts/40.vsftpd.sh | 4 - ctdb/tests/eventscripts/scripts/41.httpd.sh | 4 - ctdb/tests/eventscripts/scripts/49.winbind.sh | 8 -- ctdb/tests/eventscripts/scripts/50.samba.sh | 8 -- ctdb/tests/eventscripts/scripts/60.nfs.sh | 9 +- ctdb/tests/eventscripts/scripts/local.sh | 77 ++++++------ ctdb/tests/scripts/integration.bash | 20 ++++ ctdb/tests/scripts/script_install_paths.sh | 5 +- ctdb/tests/shellcheck/event_scripts.sh | 2 +- ctdb/tests/simple/00_ctdb_init.sh | 4 + ctdb/tests/src/ctdb_takeover_tests.c | 22 ++-- ctdb/tests/src/fake_ctdbd.c | 4 +- ctdb/tests/takeover/lcp2.014.sh | 18 +-- ctdb/tests/takeover/lcp2.015.sh | 18 +-- ctdb/tests/takeover/lcp2.016.sh | 18 +-- ctdb/tests/takeover/lcp2.017.sh | 32 ----- ctdb/tests/takeover/lcp2.018.sh | 32 ----- ctdb/tests/takeover/lcp2.019.sh | 32 ----- ctdb/tests/takeover/lcp2.022.sh | 36 ------ ctdb/tests/takeover/lcp2.023.sh | 97 ---------------- ctdb/tests/takeover/lcp2.026.sh | 33 ------ ctdb/tests/takeover_helper/014.sh | 12 +- ctdb/tests/takeover_helper/015.sh | 39 ------- ctdb/tests/takeover_helper/020.sh | 36 ------ ctdb/tests/tool/ctdb.listvars.001.sh | 1 - ctdb/tools/ctdb.c | 4 +- ctdb/wscript | 42 ++++++- 85 files changed, 504 insertions(+), 908 deletions(-) create mode 100755 ctdb/tests/complex/00_ctdb_init.sh create mode 100644 ctdb/tests/eventd/etc-ctdb/events/data/README create mode 100755 ctdb/tests/eventd/etc-ctdb/share/events/data/01.dummy.script create mode 100755 ctdb/tests/eventd/eventd_009.sh delete mode 100755 ctdb/tests/eventscripts/31.clamd.monitor.001.sh delete mode 100755 ctdb/tests/eventscripts/40.vsftpd.monitor.001.sh delete mode 100755 ctdb/tests/eventscripts/40.vsftpd.shutdown.001.sh delete mode 100755 ctdb/tests/eventscripts/40.vsftpd.startup.001.sh delete mode 100755 ctdb/tests/eventscripts/41.httpd.monitor.001.sh delete mode 100755 ctdb/tests/eventscripts/41.httpd.shutdown.001.sh delete mode 100755 ctdb/tests/eventscripts/41.httpd.startup.001.sh delete mode 100755 ctdb/tests/eventscripts/49.winbind.monitor.001.sh delete mode 100755 ctdb/tests/eventscripts/49.winbind.shutdown.001.sh delete mode 100755 ctdb/tests/eventscripts/49.winbind.startup.001.sh delete mode 100755 ctdb/tests/eventscripts/50.samba.monitor.001.sh delete mode 100755 ctdb/tests/eventscripts/60.nfs.monitor.001.sh delete mode 100755 ctdb/tests/takeover/lcp2.017.sh delete mode 100755 ctdb/tests/takeover/lcp2.018.sh delete mode 100755 ctdb/tests/takeover/lcp2.019.sh delete mode 100755 ctdb/tests/takeover/lcp2.022.sh delete mode 100755 ctdb/tests/takeover/lcp2.023.sh delete mode 100755 ctdb/tests/takeover/lcp2.026.sh delete mode 100755 ctdb/tests/takeover_helper/015.sh delete mode 100755 ctdb/tests/takeover_helper/020.sh Changeset truncated at 500 lines: diff --git a/ctdb/common/path.c b/ctdb/common/path.c index 4e69739..36706e4 100644 --- a/ctdb/common/path.c +++ b/ctdb/common/path.c @@ -28,15 +28,18 @@ struct { char *basedir; + char datadir[PATH_MAX]; char etcdir[PATH_MAX]; char rundir[PATH_MAX]; char vardir[PATH_MAX]; bool test_mode; bool basedir_set; + bool datadir_set; bool etcdir_set; bool rundir_set; bool vardir_set; } ctdb_paths = { + .datadir = CTDB_DATADIR, .etcdir = CTDB_ETCDIR, .rundir = CTDB_RUNDIR, .vardir = CTDB_VARDIR, @@ -94,6 +97,22 @@ static bool path_construct(char *path, const char *subdir) return true; } +const char *path_datadir(void) +{ + bool ok; + + if (! ctdb_paths.datadir_set) { + ok = path_construct(ctdb_paths.datadir, "share"); + if (!ok) { + D_ERR("Failed to construct DATADIR\n"); + } else { + ctdb_paths.datadir_set = true; + } + } + + return ctdb_paths.datadir; +} + const char *path_etcdir(void) { bool ok; @@ -142,6 +161,11 @@ const char *path_vardir(void) return ctdb_paths.vardir; } +char *path_datadir_append(TALLOC_CTX *mem_ctx, const char *path) +{ + return talloc_asprintf(mem_ctx, "%s/%s", path_datadir(), path); +} + char *path_etcdir_append(TALLOC_CTX *mem_ctx, const char *path) { return talloc_asprintf(mem_ctx, "%s/%s", path_etcdir(), path); diff --git a/ctdb/common/path.h b/ctdb/common/path.h index 370250a..dcc6c20 100644 --- a/ctdb/common/path.h +++ b/ctdb/common/path.h @@ -22,10 +22,12 @@ #include <talloc.h> +const char *path_datadir(void); const char *path_etcdir(void); const char *path_rundir(void); const char *path_vardir(void); +char *path_datadir_append(TALLOC_CTX *mem_ctx, const char *path); char *path_etcdir_append(TALLOC_CTX *mem_ctx, const char *path); char *path_rundir_append(TALLOC_CTX *mem_ctx, const char *path); char *path_vardir_append(TALLOC_CTX *mem_ctx, const char *path); diff --git a/ctdb/common/path_tool.c b/ctdb/common/path_tool.c index 339066b..1c60b02 100644 --- a/ctdb/common/path_tool.c +++ b/ctdb/common/path_tool.c @@ -100,6 +100,49 @@ static int path_tool_socket(TALLOC_CTX *mem_ctx, return 0; } +static int path_tool_datadir(TALLOC_CTX *mem_ctx, + int argc, + const char **argv, + void *private_data) +{ + struct path_tool_context *ctx = talloc_get_type_abort( + private_data, struct path_tool_context); + + if (argc != 0) { + cmdline_usage(ctx->cmdline, "datadir"); + return EINVAL; + } + + printf("%s\n", path_datadir()); + + return 0; +} + +static int path_tool_datadir_append(TALLOC_CTX *mem_ctx, + int argc, + const char **argv, + void *private_data) +{ + struct path_tool_context *ctx = talloc_get_type_abort( + private_data, struct path_tool_context); + char *p; + + if (argc != 1) { + cmdline_usage(ctx->cmdline, "datadir append"); + return EINVAL; + } + + p = path_datadir_append(mem_ctx, argv[0]); + if (p == NULL) { + D_ERR("Memory allocation error\n"); + return 1; + } + + printf("%s\n", p); + + return 0; +} + static int path_tool_etcdir(TALLOC_CTX *mem_ctx, int argc, const char **argv, @@ -236,6 +279,10 @@ struct cmdline_command path_commands[] = { "Get path of CTDB daemon pidfile", "<daemon>" }, { "socket", path_tool_socket, "Get path of CTDB daemon socket", "<daemon>" }, + { "datadir append", path_tool_datadir_append, + "Get path relative to CTDB DATADIR", "<path>" }, + { "datadir", path_tool_datadir, + "Get path of CTDB DATADIR", NULL }, { "etcdir append", path_tool_etcdir_append, "Get path relative to CTDB ETCDIR", "<path>" }, { "etcdir", path_tool_etcdir, diff --git a/ctdb/common/tunable.c b/ctdb/common/tunable.c index 14f6828..4c1714c 100644 --- a/ctdb/common/tunable.c +++ b/ctdb/common/tunable.c @@ -141,7 +141,7 @@ static struct { offsetof(struct ctdb_tunable_list, db_size_warn) }, { "PullDBPreallocation", 10*1024*1024, false, offsetof(struct ctdb_tunable_list, pulldb_preallocation_size) }, - { "NoIPHostOnAllDisabled", 0, false, + { "NoIPHostOnAllDisabled", 1, true, offsetof(struct ctdb_tunable_list, no_ip_host_on_all_disabled) }, { "Samba3AvoidDeadlocks", 0, true, offsetof(struct ctdb_tunable_list, samba3_hack) }, diff --git a/ctdb/config/debug_locks.sh b/ctdb/config/debug_locks.sh index 0867685..1f89cb7 100755 --- a/ctdb/config/debug_locks.sh +++ b/ctdb/config/debug_locks.sh @@ -12,6 +12,19 @@ . "${CTDB_BASE}/functions" +# type is at least mentioned in POSIX and more is portable than which(1) +# shellcheck disable=SC2039 +if ! type gstack >/dev/null 2>&1 ; then + gstack () + { + _pid="$1" + + gdb -batch --quiet -nx "/proc/${_pid}/exe" "$_pid" \ + -ex "thread apply all bt" 2>/dev/null | + grep '^\(#\|Thread \)' + } +fi + # Load/cache database options from configuration file ctdb_get_db_options @@ -72,7 +85,6 @@ ctdb_get_db_options cat "/proc/${pid}/stack" else gstack "$pid" - # gcore -o /var/log/core-deadlock-ctdb $pid fi done fi diff --git a/ctdb/config/events/README b/ctdb/config/events/README index 88d5da4..766cb4f 100644 --- a/ctdb/config/events/README +++ b/ctdb/config/events/README @@ -68,8 +68,7 @@ startup If the "startup" event fails then CTDB will retry it until it succeeds. There is no limit on the number of retries. - Example: 50.samba uses this event to start the Samba daemon if - CTDB_MANAGES_SAMBA=yes. + Example: 50.samba uses this event to start the Samba daemon. shutdown @@ -80,7 +79,7 @@ shutdown event and use it to stop the service. Example: 50.samba uses this event to shut down the Samba - daemon if CTDB_MANAGES_SAMBA=yes. + daemon. monitor diff --git a/ctdb/config/events/legacy/06.nfs.script b/ctdb/config/events/legacy/06.nfs.script index 4e02906..97086f7 100755 --- a/ctdb/config/events/legacy/06.nfs.script +++ b/ctdb/config/events/legacy/06.nfs.script @@ -28,8 +28,6 @@ nfs_callout_pre () # shellcheck disable=SC2154 nfs_callout_init "$script_state_dir" -[ "$CTDB_MANAGES_NFS" = "yes" ] || exit 0 - case "$1" in takeip) nfs_callout_pre "$@" diff --git a/ctdb/config/events/legacy/31.clamd.script b/ctdb/config/events/legacy/31.clamd.script index e073608..3b19923 100755 --- a/ctdb/config/events/legacy/31.clamd.script +++ b/ctdb/config/events/legacy/31.clamd.script @@ -19,8 +19,6 @@ esac load_script_options -[ "$CTDB_MANAGES_CLAMD" = "yes" ] || exit 0 - case "$1" in startup) service "$service_name" stop > /dev/null 2>&1 diff --git a/ctdb/config/events/legacy/40.vsftpd.script b/ctdb/config/events/legacy/40.vsftpd.script index c2e0eda..69876d2 100755 --- a/ctdb/config/events/legacy/40.vsftpd.script +++ b/ctdb/config/events/legacy/40.vsftpd.script @@ -17,8 +17,6 @@ load_script_options ctdb_setup_state_dir "service" "$service_name" -[ "$CTDB_MANAGES_VSFTPD" = "yes" ] || exit 0 - case "$1" in startup) service "$service_name" stop > /dev/null 2>&1 diff --git a/ctdb/config/events/legacy/41.httpd.script b/ctdb/config/events/legacy/41.httpd.script index 4030d7c..3d67aee 100755 --- a/ctdb/config/events/legacy/41.httpd.script +++ b/ctdb/config/events/legacy/41.httpd.script @@ -43,8 +43,6 @@ service_stop () killall -q -9 $service_name || true } -[ "$CTDB_MANAGES_HTTPD" = "yes" ] || exit 0 - case "$1" in startup) service_start diff --git a/ctdb/config/events/legacy/49.winbind.script b/ctdb/config/events/legacy/49.winbind.script index 07d4c1c..8b1c8b8 100755 --- a/ctdb/config/events/legacy/49.winbind.script +++ b/ctdb/config/events/legacy/49.winbind.script @@ -34,10 +34,6 @@ service_stop () ########################### -[ "$CTDB_MANAGES_WINBIND" = "yes" ] || exit 0 - -########################### - case "$1" in startup) service_start diff --git a/ctdb/config/events/legacy/50.samba.script b/ctdb/config/events/legacy/50.samba.script index f65f53a..ce9e05f 100755 --- a/ctdb/config/events/legacy/50.samba.script +++ b/ctdb/config/events/legacy/50.samba.script @@ -147,10 +147,6 @@ list_samba_ports () ########################### -[ "$CTDB_MANAGES_SAMBA" = "yes" ] || exit 0 - -########################### - case "$1" in startup) service_start diff --git a/ctdb/config/events/legacy/60.nfs.script b/ctdb/config/events/legacy/60.nfs.script index 51d8726..2eb90b4 100755 --- a/ctdb/config/events/legacy/60.nfs.script +++ b/ctdb/config/events/legacy/60.nfs.script @@ -253,8 +253,6 @@ nfs_update_lock_info () # shellcheck disable=SC2154 nfs_callout_init "$script_state_dir" -[ "$CTDB_MANAGES_NFS" = "yes" ] || exit 0 - case "$1" in startup) nfs_callout "$@" || exit $? diff --git a/ctdb/config/events/legacy/70.iscsi.script b/ctdb/config/events/legacy/70.iscsi.script index 670e0d7..0828d47 100755 --- a/ctdb/config/events/legacy/70.iscsi.script +++ b/ctdb/config/events/legacy/70.iscsi.script @@ -13,8 +13,6 @@ service_name="iscsi" load_script_options -[ "$CTDB_MANAGES_ISCSI" = "yes" ] || exit 0 - [ -z "$CTDB_START_ISCSI_SCRIPTS" ] && { echo "No iscsi start script directory found" exit 0 diff --git a/ctdb/config/script.options b/ctdb/config/script.options index 0c280c5..79e82af 100644 --- a/ctdb/config/script.options +++ b/ctdb/config/script.options @@ -1,22 +1,16 @@ -# For now, use script.options to demonstrate these options. The -# CTDB_MANAGES_* variables will go away soon. See other *.options -# examples for more specific examples. +# For now, use script.options to demonstrate these options. See +# *.options examples for more specific examples. # # Samba configuration # # 50.samba.options -CTDB_MANAGES_SAMBA=yes # CTDB_SAMBA_SKIP_SHARE_CHECK=yes -# 49.winbind.options -CTDB_MANAGES_WINBIND=yes - # # NFS configuration # # 60.nfs.options -CTDB_MANAGES_NFS=yes CTDB_RPCINFO_LOCALHOST="127.0.0.1" diff --git a/ctdb/doc/ctdb-script.options.5.xml b/ctdb/doc/ctdb-script.options.5.xml index 22c5aa0..be8d4f4 100644 --- a/ctdb/doc/ctdb-script.options.5.xml +++ b/ctdb/doc/ctdb-script.options.5.xml @@ -565,20 +565,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 <varlistentry> <term> - CTDB_MANAGES_CLAMD=yes|no - </term> - <listitem> - <para> - Should CTDB manage ClamAV? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter> </term> <listitem> @@ -596,52 +582,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 </refsect2> <refsect2> - <title>40.vsftpd</title> - - <para> - Provides CTDB's vsftpd FTP service management. - </para> - - <variablelist> - <varlistentry> - <term>CTDB_MANAGES_VSFTPD=yes|no</term> - <listitem> - <para> - Should CTDB manage the vsftpd FTP server? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>41.httpd</title> - - <para> - Provides CTDB's Apache web service management. - </para> - - <variablelist> - <varlistentry> - <term> - CTDB_MANAGES_HTTPD=yes|no - </term> - <listitem> - <para> - Should CTDB manage the Apache web server? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> <title>49.winbind</title> <para> @@ -652,20 +592,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 <varlistentry> <term> - CTDB_MANAGES_WINBIND=yes|no - </term> - <listitem> - <para> - Should CTDB manage Winbind? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter> </term> <listitem> @@ -693,20 +619,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 <varlistentry> <term> - CTDB_MANAGES_SAMBA=yes|no - </term> - <listitem> - <para> - Should CTDB manage Samba? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter> </term> <listitem> @@ -787,20 +699,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 <varlistentry> <term> - CTDB_MANAGES_NFS=yes|no - </term> - <listitem> - <para> - Should CTDB manage NFS? - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter> </term> <listitem> @@ -938,20 +836,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 <varlistentry> <term> - CTDB_MANAGES_ISCSI=yes|no - </term> - <listitem> - <para> - Should CTDB manage iSCSI tgtd? - </para> - <para> - Default is no. - </para> - </listitem> -- Samba Shared Repository