[SCM] Samba Shared Repository - branch master updated

Amitay Isaacs amitay at samba.org
Wed Apr 6 07:33:01 UTC 2022


The branch, master has been updated
       via  39f70481bbd WHATSNEW: Document some CTDB changes
       via  8deec3bc67c ctdb-scripts: Drop unused ctdbd_wrapper
       via  a1e78cc3726 ctdb-scripts: Drop uses of ctdbd_wrapper
       via  aca59722338 ctdb-scripts: Remove failsafe that drops all IPs on failed shutdown
       via  6fb08a65804 ctdb-daemon: Don't release all public IPs during shutdown sequence
       via  cb438ecfd48 ctdb-scripts: Drop all public IPs in the "shutdown" event
       via  3caddaafa0f ctdb-config: Drop CTDB_STARTUP_TIMEOUT
       via  208034ecfe7 ctdb-doc: Update documentation for tunables configuration
       via  0902553d154 ctdb-scripts: No longer load tunables via 00.ctdb.script setup event
       via  f49446cb1e8 ctdb-daemon: Load tunables from ctdb.tunables
       via  a509ee059ef ctdb-daemon: New function ctdb_tunables_load()
       via  b14f2a205d2 ctdb-tests: Add unit tests for tunables code
       via  381134939bd ctdb-tests: Add function test_case(), tweak unit test header format
       via  c413838f796 ctdb-tests: Strip trailing newlines from expected result output
       via  5fa0c86b614 ctdb-tests: Reformat script
       via  bcd66e17eec ctdb-common: Add function ctdb_tunable_load_file()
       via  93824b8c331 packaging: move CTDB service file to top-level
       via  2f6b31788bb ctdb-packaging: Move RPM spec file to examples directory
      from  63bbdbae19d gpo: Improve Certificate Auto Enroll Debug messages

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 39f70481bbd87e764775f66948ecfdace3722d7a
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Mar 30 11:08:45 2022 +1100

    WHATSNEW: Document some CTDB changes
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Wed Apr  6 07:32:04 UTC 2022 on sn-devel-184

commit 8deec3bc67c2831ce63ab4812b6f29baab711b50
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Feb 1 08:35:37 2022 +1100

    ctdb-scripts: Drop unused ctdbd_wrapper
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit a1e78cc372618159e5c95665b827936280572b61
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Feb 1 08:28:47 2022 +1100

    ctdb-scripts: Drop uses of ctdbd_wrapper
    
    The only value this now provides is use of a notification script to
    log when start/stop are called.  This was used for debugging strange
    start/stop failures, which have not been recently seen.  Also, systemd
    does a good job of logging start/stop.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit aca59722338aacffc37bdb5d8c0603f1bb0c3cb4
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 21:55:17 2022 +1100

    ctdb-scripts: Remove failsafe that drops all IPs on failed shutdown
    
    IPs are dropped in the shutdown event.
    
    If a watchdog is necessary to ensure public IPs aren't on interfaces
    when CTDB isn't running, then see ctdb-crash-cleanup.sh.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 6fb08a6580488f961c1d6bcd4b1b9bc3faaf621b
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Sep 11 10:59:42 2017 +1000

    ctdb-daemon: Don't release all public IPs during shutdown sequence
    
    This further untangles public IP handling from the main daemon.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit cb438ecfd487c235e852fbdf85526fdc106868f3
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Sep 11 10:57:27 2017 +1000

    ctdb-scripts: Drop all public IPs in the "shutdown" event
    
    This is functionally the same as ctdb_release_all_ips().
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 3caddaafa0f8e3cc162df1b8a58281326f720249
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 19:43:11 2022 +1100

    ctdb-config: Drop CTDB_STARTUP_TIMEOUT
    
    This was added to be able to notice startup failures when unknown
    tunables were present in the configuration.  Tunables are now set by
    the daemon, so this is no longer necessary.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 208034ecfe758e81df72b80b623cf3fa6814b64e
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Mar 30 10:49:15 2022 +1100

    ctdb-doc: Update documentation for tunables configuration
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 0902553d1546b418e27cb14ae5146a8396accd09
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 19:30:30 2022 +1100

    ctdb-scripts: No longer load tunables via 00.ctdb.script setup event
    
    Drop related tests.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit f49446cb1e8dba9cf9c1eff073c394049a0a0cf3
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 14:47:11 2022 +1100

    ctdb-daemon: Load tunables from ctdb.tunables
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit a509ee059ef6783f92b39629c98d7a0a966276f9
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 14:40:19 2022 +1100

    ctdb-daemon: New function ctdb_tunables_load()
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit b14f2a205d25548062fbe23651bdbe1886b253fa
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 14:36:23 2022 +1100

    ctdb-tests: Add unit tests for tunables code
    
    This aims to test ctdb_tunable_load_file() but also exercises
    ctdb_tunable_names() and ctdb_tunable_get_value().
    ctdb_tunable_set_value() is indirectly exercised via
    ctdb_tunable_load_file().
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 381134939bd10863a72d5be2cd93a7685479b485
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Mar 1 09:27:50 2022 +1100

    ctdb-tests: Add function test_case(), tweak unit test header format
    
    Instead of documenting test cases with a comment, this allows them to
    be documented via an argument to a function that is printed when the
    test case is run.  This makes it easier locate test case failures when
    commands used by test cases look similar,
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit c413838f796587ba819d6f24c766fc0b68ce29b7
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Mar 1 11:58:51 2022 +1100

    ctdb-tests: Strip trailing newlines from expected result output
    
    This allows the provided output to be specified a little more
    carelessly.  As per the comment, trailing newlines can't be matched
    anyway, so this is notionally a bug fix.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 5fa0c86b6144fecfb9cd79be18d0fa5dfedf2345
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Mar 1 11:57:13 2022 +1100

    ctdb-tests: Reformat script
    
    Samba is reformatting shell scripts using
    
      shfmt -w -p -i 0 -fn
    
    so update this one before editing.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit bcd66e17eec107513973f7ec2a59c4f4442677eb
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon Jan 31 14:34:58 2022 +1100

    ctdb-common: Add function ctdb_tunable_load_file()
    
    Allows direct loading of tunables from a file.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 93824b8c331cd43fea1d22a2d110e4e27fb0a02e
Author: Vinit Agnihotri <vagnihotri at ddn.com>
Date:   Tue Mar 1 17:24:06 2022 +1100

    packaging: move CTDB service file to top-level
    
    Signed-off-by: Vinit Agnihotri <vagnihotri at ddn.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 2f6b31788bbb853ace48e0e52813bb1b8c4feec2
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Mar 15 08:54:30 2022 +1100

    ctdb-packaging: Move RPM spec file to examples directory
    
    We used to use this for building test packages for standalone CTDB.
    However, our testing has now changed to use binary tarballs.  We
    believe we were the only users of this spec file and expect CTDB to
    only be installed as part of a top-level Samba build, especially in
    RPM form.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                                       |  15 +
 ctdb/common/tunable.c                              | 119 ++++++++
 ctdb/common/tunable.h                              |   3 +
 ctdb/config/ctdb.init                              |  17 +-
 ctdb/config/ctdb.sysconfig                         |   3 -
 ctdb/config/ctdbd_wrapper                          |  81 ------
 ctdb/config/events/legacy/00.ctdb.script           |  27 --
 ctdb/config/events/legacy/10.interface.script      |   4 +
 ctdb/doc/ctdb-tunables.7.xml                       |   5 +
 ctdb/doc/ctdb.7.xml                                |   3 -
 ctdb/doc/ctdb.sysconfig.5.xml                      |  18 --
 ctdb/doc/ctdbd.1.xml                               |   9 -
 ctdb/doc/ctdbd_wrapper.1.xml                       |  93 -------
 ctdb/{packaging/RPM => doc/examples}/ctdb.spec.in  |   2 -
 ctdb/include/ctdb_private.h                        |   1 +
 ctdb/server/ctdb_daemon.c                          |   1 -
 ctdb/server/ctdb_tunables.c                        |  30 ++
 ctdb/server/ctdbd.c                                |   2 +-
 ctdb/tests/UNIT/cunit/tunable_test_001.sh          | 306 +++++++++++++++++++++
 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.001.sh  |  11 -
 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.002.sh  |  17 --
 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.003.sh  |  21 --
 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.004.sh  |  20 --
 ctdb/tests/UNIT/shellcheck/ctdbd_wrapper.sh        |   7 -
 ctdb/tests/scripts/unit.sh                         | 266 +++++++++---------
 ctdb/tests/src/tunable_test.c                      |  71 +++++
 ctdb/wscript                                       |   9 +-
 .../systemd/ctdb.service.in                        |   8 +-
 packaging/wscript                                  |   7 +
 packaging/wscript_build                            |   6 +
 30 files changed, 721 insertions(+), 461 deletions(-)
 delete mode 100755 ctdb/config/ctdbd_wrapper
 delete mode 100644 ctdb/doc/ctdbd_wrapper.1.xml
 rename ctdb/{packaging/RPM => doc/examples}/ctdb.spec.in (99%)
 create mode 100755 ctdb/tests/UNIT/cunit/tunable_test_001.sh
 delete mode 100755 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.001.sh
 delete mode 100755 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.002.sh
 delete mode 100755 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.003.sh
 delete mode 100755 ctdb/tests/UNIT/eventscripts/00.ctdb.setup.004.sh
 delete mode 100755 ctdb/tests/UNIT/shellcheck/ctdbd_wrapper.sh
 create mode 100644 ctdb/tests/src/tunable_test.c
 rename ctdb/config/ctdb.service => packaging/systemd/ctdb.service.in (64%)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 1bdf3a01cfb..48f3fcfb090 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -62,6 +62,21 @@ Dynamic DNS updates may not be proxied by the front DNS server when forwarding
 to Samba. Dynamic DNS update proxying depends on the features of the other DNS
 server used as a front.
 
+CTDB changes
+------------
+
+* When Samba is configured with both --with-cluster-support and
+  --systemd-install-services then a systemd service file for CTDB will
+  be installed.
+
+* ctdbd_wrapper has been removed.  ctdbd is now started directly from
+  a systemd service file or init script.
+
+* The syntax for the ctdb.tunables configuration file has been
+  relaxed.  However, trailing garbage after the value, including
+  comments, is no longer permitted.  Please see ctdb-tunables(7) for
+  more details.
+
 
 REMOVED FEATURES
 ================
diff --git a/ctdb/common/tunable.c b/ctdb/common/tunable.c
index 70412b7f979..f366f231e53 100644
--- a/ctdb/common/tunable.c
+++ b/ctdb/common/tunable.c
@@ -18,11 +18,16 @@
 */
 
 #include "replace.h"
+#include "system/filesys.h"
 #include "system/locale.h"
 #include "system/network.h"
 
 #include <talloc.h>
 
+#include "lib/util/debug.h"
+#include "lib/util/smb_strtox.h"
+#include "lib/util/tini.h"
+
 #include "protocol/protocol.h"
 
 #include "common/tunable.h"
@@ -280,3 +285,117 @@ char *ctdb_tunable_names_to_string(TALLOC_CTX *mem_ctx)
 
 	return str;
 }
+
+struct tunable_load_state {
+	struct ctdb_tunable_list *tun_list;
+	bool status;
+	const char *func;
+};
+
+static bool tunable_section(const char *section, void *private_data)
+{
+	struct tunable_load_state *state =
+		(struct tunable_load_state *)private_data;
+
+	D_ERR("%s: Invalid line for section [%s] - sections not supported \n",
+	      state->func,
+	      section);
+	state->status = false;
+
+	return true;
+}
+
+static bool tunable_option(const char *name,
+			   const char *value,
+			   void *private_data)
+{
+	struct tunable_load_state *state =
+		(struct tunable_load_state *)private_data;
+	unsigned long num;
+	bool obsolete;
+	bool ok;
+	int ret;
+
+	if (value[0] == '\0') {
+		D_ERR("%s: Invalid line containing \"%s\"\n", state->func, name);
+		state->status = false;
+		return true;
+	}
+
+	num = smb_strtoul(value, NULL, 0, &ret, SMB_STR_FULL_STR_CONV);
+	if (ret != 0) {
+		D_ERR("%s: Invalid value \"%s\" for tunable \"%s\"\n",
+		      state->func,
+		      value,
+		      name);
+		state->status = false;
+		return true;
+	}
+
+	ok = ctdb_tunable_set_value(state->tun_list,
+				    name,
+				    (uint32_t)num,
+				    &obsolete);
+	if (!ok) {
+		D_ERR("%s: Unknown tunable \"%s\"\n", state->func, name);
+		state->status = false;
+		return true;
+	}
+	if (obsolete) {
+		D_ERR("%s: Obsolete tunable \"%s\"\n", state->func, name);
+		state->status = false;
+		return true;
+	}
+
+	return true;
+}
+
+bool ctdb_tunable_load_file(TALLOC_CTX *mem_ctx,
+			    struct ctdb_tunable_list *tun_list,
+			    const char *file)
+{
+	struct tunable_load_state state = {
+		.tun_list = tun_list,
+		.status = true,
+		.func = __FUNCTION__,
+	};
+	FILE *fp;
+	bool status;
+
+	ctdb_tunable_set_defaults(tun_list);
+
+	fp = fopen(file, "r");
+	if (fp == NULL) {
+		if (errno == ENOENT) {
+			/* Doesn't need to exist */
+			return true;
+		}
+
+		DBG_ERR("Failed to open %s\n", file);
+		return false;
+	}
+
+	D_NOTICE("Loading tunables from %s\n", file);
+	/*
+	 * allow_empty_value=true is somewhat counter-intuitive.
+	 * However, if allow_empty_value=false then a tunable with no
+	 * equals or value is regarded as empty and is simply ignored.
+	 * Use true so an "empty value" can be caught in
+	 * tunable_option().
+	 *
+	 * tunable_section() and tunable_option() return true while
+	 * setting state.status=false, allowing all possible errors
+	 * with tunables and values to be reported.  This helps to
+	 * avoid a potential game of whack-a-mole in a well-formed
+	 * file with multiple minor errors.
+	 */
+	status = tini_parse(fp, true, tunable_section, tunable_option, &state);
+
+	fclose(fp);
+
+	if (!status) {
+		DBG_ERR("Syntax error\n");
+	}
+
+	return status && state.status;
+}
diff --git a/ctdb/common/tunable.h b/ctdb/common/tunable.h
index 4220d701c28..89f99f1644f 100644
--- a/ctdb/common/tunable.h
+++ b/ctdb/common/tunable.h
@@ -28,5 +28,8 @@ bool ctdb_tunable_set_value(struct ctdb_tunable_list *tun_list,
 			    bool *obsolete);
 struct ctdb_var_list *ctdb_tunable_names(TALLOC_CTX *mem_ctx);
 char *ctdb_tunable_names_to_string(TALLOC_CTX *mem_ctx);
+bool ctdb_tunable_load_file(TALLOC_CTX *mem_ctx,
+			    struct ctdb_tunable_list *tun_list,
+			    const char *file);
 
 #endif /* __CTDB_TUNABLE_H__ */
diff --git a/ctdb/config/ctdb.init b/ctdb/config/ctdb.init
index 7fe8f0085ae..6a7f7812394 100755
--- a/ctdb/config/ctdb.init
+++ b/ctdb/config/ctdb.init
@@ -55,7 +55,7 @@ detect_init_style
 export CTDB_INIT_STYLE
 
 ctdbd="${CTDBD:-/usr/sbin/ctdbd}"
-ctdbd_wrapper="${CTDBD_WRAPPER:-/usr/sbin/ctdbd_wrapper}"
+ctdb="${CTDB:-/usr/bin/ctdb}"
 pidfile="/var/run/ctdb/ctdbd.pid"
 
 ############################################################
@@ -66,21 +66,18 @@ start()
 
     case "$CTDB_INIT_STYLE" in
 	suse)
-	    startproc \
-		"$ctdbd_wrapper" "start"
+	    startproc "$ctdbd"
 	    rc_status -v
 	    ;;
 	redhat)
-	    daemon --pidfile "$pidfile" \
-		"$ctdbd_wrapper" "start"
+	    daemon --pidfile "$pidfile" "$ctdbd"
 	    RETVAL=$?
 	    echo
 	    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ctdb || RETVAL=1
 	    return $RETVAL
 	    ;;
 	debian)
-	    eval start-stop-daemon --start --quiet --background --exec \
-		"$ctdbd_wrapper" "start"
+	    eval start-stop-daemon --start --quiet --background --exec "$ctdbd"
 	    ;;
     esac
 }
@@ -91,11 +88,11 @@ stop()
 
     case "$CTDB_INIT_STYLE" in
 	suse)
-	    "$ctdbd_wrapper" "stop"
+	    "$ctdb" "shutdown"
 	    rc_status -v
 	    ;;
 	redhat)
-	    "$ctdbd_wrapper" "stop"
+	    "$ctdb" "shutdown"
 	    RETVAL=$?
 	    # Common idiom in Red Hat init scripts - success() always
 	    # succeeds so this does behave like if-then-else
@@ -106,7 +103,7 @@ stop()
 	    return $RETVAL
 	    ;;
 	debian)
-	    "$ctdbd_wrapper" "stop"
+	    "$ctdb" "shutdown"
 	    log_end_msg $?
 	    ;;
     esac
diff --git a/ctdb/config/ctdb.sysconfig b/ctdb/config/ctdb.sysconfig
index 2ec0e9d373e..fc57929fc68 100644
--- a/ctdb/config/ctdb.sysconfig
+++ b/ctdb/config/ctdb.sysconfig
@@ -9,6 +9,3 @@ ulimit -c unlimited
 
 # Useful if default detection doesn't work
 # CTDB_INIT_STYLE=debian
-
-# If ctdbd takes a long time to start
-# CTDB_STARTUP_TIMEOUT=20
diff --git a/ctdb/config/ctdbd_wrapper b/ctdb/config/ctdbd_wrapper
deleted file mode 100755
index 34827eaaa29..00000000000
--- a/ctdb/config/ctdbd_wrapper
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/bin/sh
-
-# ctdbd wrapper - start or stop CTDB
-
-usage ()
-{
-    echo "usage: ctdbd_wrapper { start | stop }"
-    exit 1
-}
-
-[ $# -eq 1 ] || usage
-
-action="$1"
-
-############################################################
-
-if [ -z "$CTDB_BASE" ] ; then
-    export CTDB_BASE="/usr/local/etc/ctdb"
-fi
-
-. "${CTDB_BASE}/functions"
-
-load_system_config "ctdb"
-
-ctdbd="${CTDBD:-/usr/local/sbin/ctdbd}"
-
-############################################################
-
-start()
-{
-    eval "$ctdbd" || return 1
-
-    # Wait until ctdbd has started and is ready to respond to clients.
-    _timeout="${CTDB_STARTUP_TIMEOUT:-10}"
-    _count=0
-    while [ "$_count" -lt "$_timeout" ] ; do
-	if $CTDB runstate first_recovery startup running >/dev/null 2>&1 ; then
-	    return 0
-	fi
-
-	_count=$((_count + 1))
-	sleep 1
-    done
-
-    echo "Timed out waiting for initialisation - check logs"
-    # Attempt a shutdown just in case things are still running
-    $CTDB shutdown >/dev/null 2>&1
-    drop_all_public_ips >/dev/null 2>&1
-    return 1
-}
-
-stop()
-{
-	$CTDB shutdown
-
-	# The above command is important and needs to stand out, so
-	# post-check exit status
-	# shellcheck disable=SC2181
-	if [ $? -ne 0 ] ; then
-		echo "Error while shutting down CTDB"
-		drop_all_public_ips >/dev/null 2>&1
-		return 1
-	fi
-
-	return 0
-}
-
-############################################################
-
-# Allow notifications for start/stop.
-if [ -x "$CTDB_BASE/rc.ctdb" ] ; then
-    "$CTDB_BASE/rc.ctdb" "$action"
-fi
-
-case "$action" in
-    start) start ;;
-    stop)  stop  ;;
-    *)
-	echo "usage: $0 {start|stop}"
-	exit 1
-esac
diff --git a/ctdb/config/events/legacy/00.ctdb.script b/ctdb/config/events/legacy/00.ctdb.script
index 05ce2bec14b..b1c9890e751 100755
--- a/ctdb/config/events/legacy/00.ctdb.script
+++ b/ctdb/config/events/legacy/00.ctdb.script
@@ -101,27 +101,6 @@ EOF
     done
 }
 
-set_ctdb_variables ()
-{
-	_f="${CTDB_BASE}/ctdb.tunables"
-	if [ ! -r "$_f" ] ; then
-		return
-	fi
-
-	while IFS="=" read _var _val ; do
-		case "$_var" in
-		\#*|"") continue ;;
-		esac
-
-		if $CTDB setvar "$_var" "$_val" ; then
-			echo "Set $_var to $_val"
-		else
-			echo "Invalid tunable: ${_var}=${_val}"
-			return 1
-		fi
-	done <"$_f"
-}
-
 ############################################################
 
 ctdb_check_args "$@"
@@ -142,12 +121,6 @@ init)
 	fi
 	;;
 
-setup)
-	# Set any tunables from the config file
-	set_ctdb_variables || \
-	    die "Aborting setup due to invalid configuration - fix typos, remove unknown tunables"
-	;;
-
 startup)
 	$CTDB attach ctdb.tdb persistent
 	;;
diff --git a/ctdb/config/events/legacy/10.interface.script b/ctdb/config/events/legacy/10.interface.script
index d87f6c52c58..8db6b5f42fe 100755
--- a/ctdb/config/events/legacy/10.interface.script
+++ b/ctdb/config/events/legacy/10.interface.script
@@ -158,6 +158,10 @@ startup)
 	monitor_interfaces
 	;;
 
+shutdown)
+	drop_all_public_ips
+	;;
+
 takeip)
 	iface=$2
 	ip=$3
diff --git a/ctdb/doc/ctdb-tunables.7.xml b/ctdb/doc/ctdb-tunables.7.xml
index c9ff6abd1e8..700709eb86f 100644
--- a/ctdb/doc/ctdb-tunables.7.xml
+++ b/ctdb/doc/ctdb-tunables.7.xml
@@ -45,6 +45,11 @@
       <literallayout>
 <replaceable>TUNABLE</replaceable>=<replaceable>VALUE</replaceable>
       </literallayout>
+
+      Comment lines beginning with '#' are permitted.  Whitespace may
+      be used for formatting/alignment.  VALUE must be a non-negative
+      integer and must be the last thing on a line (i.e. no trailing
+      garbage, trailing comments are not permitted).
     </para>
 
     <para>
diff --git a/ctdb/doc/ctdb.7.xml b/ctdb/doc/ctdb.7.xml
index 74ec421a526..6daa092f837 100644
--- a/ctdb/doc/ctdb.7.xml
+++ b/ctdb/doc/ctdb.7.xml
@@ -1110,9 +1110,6 @@ correct CIFS semantics to clients.
       <citerefentry><refentrytitle>ctdbd</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
-      <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry>,
-
       <citerefentry><refentrytitle>ctdb_diagnostics</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
diff --git a/ctdb/doc/ctdb.sysconfig.5.xml b/ctdb/doc/ctdb.sysconfig.5.xml
index a7e5d49e7e6..26189348360 100644
--- a/ctdb/doc/ctdb.sysconfig.5.xml
+++ b/ctdb/doc/ctdb.sysconfig.5.xml
@@ -65,24 +65,6 @@
 	</listitem>
       </varlistentry>
 
-      <varlistentry>
-	<term>CTDB_STARTUP_TIMEOUT=<parameter>NUM</parameter></term>
-	<listitem>
-	  <para>
-	    NUM is the number of seconds to wait for
-	    <citerefentry><refentrytitle>ctdbd</refentrytitle>
-	    <manvolnum>1</manvolnum></citerefentry> complete early
-	    initialisation up to a point where it is unlikely to
-	    abort.  If <command>ctdbd</command> doesn't complete the
-	    "setup" event before this timeout then it is killed.
-	  </para>
-
-	  <para>
-	    Defaults: 10
-	  </para>
-	</listitem>
-      </varlistentry>
-
     </variablelist>
   </refsect1>
 
diff --git a/ctdb/doc/ctdbd.1.xml b/ctdb/doc/ctdbd.1.xml
index 41521ba1d58..314964e8ca6 100644
--- a/ctdb/doc/ctdbd.1.xml
+++ b/ctdb/doc/ctdbd.1.xml
@@ -30,12 +30,6 @@
       ctdbd is the main CTDB daemon.
     </para>
 
-    <para>
-      Note that ctdbd is not usually invoked directly.  It is invoked
-      via <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry> or via the initscript.
-    </para>
-
     <para>
       See <citerefentry><refentrytitle>ctdb</refentrytitle>
       <manvolnum>7</manvolnum></citerefentry> for an overview of CTDB.
@@ -80,9 +74,6 @@
       <citerefentry><refentrytitle>ctdb</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
-      <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
-      <manvolnum>1</manvolnum></citerefentry>,
-
       <citerefentry><refentrytitle>onnode</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
diff --git a/ctdb/doc/ctdbd_wrapper.1.xml b/ctdb/doc/ctdbd_wrapper.1.xml
deleted file mode 100644
index 2c68c47036e..00000000000
--- a/ctdb/doc/ctdbd_wrapper.1.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE refentry
-	PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-	"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-
-<refentry id="ctdbd_wrapper.1">
-
-  <refmeta>
-    <refentrytitle>ctdbd_wrapper</refentrytitle>
-    <manvolnum>1</manvolnum>
-    <refmiscinfo class="source">ctdb</refmiscinfo>


-- 
Samba Shared Repository



More information about the samba-cvs mailing list