diff options
author | Martin Schwenke <martin@meltin.net> | 2016-12-18 06:21:27 +1100 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2017-01-16 11:57:07 +0100 |
commit | e70e77383ca0e1ea9ccbe3f7698f0c6e3ba3c889 (patch) | |
tree | 73429f909fc46c2a31af1ae77d81b038c2395c99 | |
parent | e1874bbf26eaa162cd6a5f11d96c564a983c9893 (diff) | |
download | samba-e70e77383ca0e1ea9ccbe3f7698f0c6e3ba3c889.tar.gz |
ctdb-scripts: Drop configuration variable CTDB_SERVICE_AUTOSTARTSTOP
This has bit-rotted, at least for NFS. It can be fixed but it is
better to remove it because it adds a lot of unnecessary complexity.
Variable event_name becomes unused so remove it. Also remove
associated tests.
To continue to manage/unmanage services while CTDB is running:
* Start service by hand and then flag it as managed
* Mark service as unmanaged and shut it down by hand
In some cases CTDB does something fancy - e.g. start Samba under
"nice", so care is needed. One technique is to disable the
eventscript, mark as managed, run the startup event by hand and then
re-enable the eventscript.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
-rwxr-xr-x | ctdb/config/events.d/06.nfs | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/31.clamd | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/40.vsftpd | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/41.httpd | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/49.winbind | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/50.samba | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/60.nfs | 2 | ||||
-rwxr-xr-x | ctdb/config/events.d/70.iscsi | 2 | ||||
-rwxr-xr-x | ctdb/config/functions | 51 | ||||
-rw-r--r-- | ctdb/doc/ctdbd.conf.5.xml | 13 | ||||
-rwxr-xr-x | ctdb/tests/eventscripts/49.winbind.monitor.050.sh | 16 | ||||
-rwxr-xr-x | ctdb/tests/eventscripts/49.winbind.monitor.051.sh | 17 | ||||
-rwxr-xr-x | ctdb/tests/eventscripts/50.samba.monitor.050.sh | 16 | ||||
-rwxr-xr-x | ctdb/tests/eventscripts/50.samba.monitor.051.sh | 17 |
14 files changed, 0 insertions, 146 deletions
diff --git a/ctdb/config/events.d/06.nfs b/ctdb/config/events.d/06.nfs index 0ecbb57f323..e59f26534c3 100755 --- a/ctdb/config/events.d/06.nfs +++ b/ctdb/config/events.d/06.nfs @@ -27,8 +27,6 @@ nfs_callout_pre () nfs_callout_init "$service_state_dir" -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 case "$1" in diff --git a/ctdb/config/events.d/31.clamd b/ctdb/config/events.d/31.clamd index 2d301ebfbdb..500fb2fd82c 100755 --- a/ctdb/config/events.d/31.clamd +++ b/ctdb/config/events.d/31.clamd @@ -31,8 +31,6 @@ service_start () loadconfig -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 case "$1" in diff --git a/ctdb/config/events.d/40.vsftpd b/ctdb/config/events.d/40.vsftpd index 703edaf183c..2fbe3c10415 100755 --- a/ctdb/config/events.d/40.vsftpd +++ b/ctdb/config/events.d/40.vsftpd @@ -25,8 +25,6 @@ service_reconfigure () loadconfig -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 case "$1" in diff --git a/ctdb/config/events.d/41.httpd b/ctdb/config/events.d/41.httpd index 4d04b39418a..87503484e0e 100755 --- a/ctdb/config/events.d/41.httpd +++ b/ctdb/config/events.d/41.httpd @@ -47,8 +47,6 @@ service_stop () loadconfig -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 case "$1" in diff --git a/ctdb/config/events.d/49.winbind b/ctdb/config/events.d/49.winbind index d95f90f02ac..8955c507d02 100755 --- a/ctdb/config/events.d/49.winbind +++ b/ctdb/config/events.d/49.winbind @@ -34,8 +34,6 @@ service_stop () ########################### -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 ########################### diff --git a/ctdb/config/events.d/50.samba b/ctdb/config/events.d/50.samba index 161a885ba03..603e7083515 100755 --- a/ctdb/config/events.d/50.samba +++ b/ctdb/config/events.d/50.samba @@ -149,8 +149,6 @@ list_samba_ports () ########################### -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 ########################### diff --git a/ctdb/config/events.d/60.nfs b/ctdb/config/events.d/60.nfs index 02d6e2b0bbe..bd6be78e9a5 100755 --- a/ctdb/config/events.d/60.nfs +++ b/ctdb/config/events.d/60.nfs @@ -250,8 +250,6 @@ nfs_update_lock_info () nfs_callout_init "$service_state_dir" -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 case "$1" in diff --git a/ctdb/config/events.d/70.iscsi b/ctdb/config/events.d/70.iscsi index 0937a12a8a9..8851c594467 100755 --- a/ctdb/config/events.d/70.iscsi +++ b/ctdb/config/events.d/70.iscsi @@ -13,8 +13,6 @@ service_name="iscsi" loadconfig -ctdb_start_stop_service - is_ctdb_managed_service || exit 0 [ -z "$CTDB_START_ISCSI_SCRIPTS" ] && { diff --git a/ctdb/config/functions b/ctdb/config/functions index 7e37bbb445f..17c6e26a9be 100755 --- a/ctdb/config/functions +++ b/ctdb/config/functions @@ -893,56 +893,6 @@ is_ctdb_managed_service () [ "${t#* ${service_name} }" != "${t}" ] } -ctdb_start_stop_service () -{ - assert_service_name - - # Allow service-start/service-stop pseudo-events to start/stop - # services when we're not auto-starting/stopping and we're not - # monitoring. - case "$event_name" in - service-start) - if is_ctdb_managed_service ; then - die 'service-start event not permitted when service is managed' - fi - if [ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] ; then - die 'service-start event not permitted with CTDB_SERVICE_AUTOSTARTSTOP=yes' - fi - ctdb_service_start - exit $? - ;; - service-stop) - if is_ctdb_managed_service ; then - die 'service-stop event not permitted when service is managed' - fi - if [ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] ; then - die 'service-stop event not permitted with CTDB_SERVICE_AUTOSTARTSTOP=yes' - fi - ctdb_service_stop - exit $? - ;; - esac - - # Do nothing unless configured to... - [ "$CTDB_SERVICE_AUTOSTARTSTOP" = "yes" ] || return 0 - - [ "$event_name" = "monitor" ] || return 0 - - if is_ctdb_managed_service ; then - if ! is_ctdb_previously_managed_service ; then - echo "Starting service \"$service_name\" - now managed" - background_with_logging ctdb_service_start - exit $? - fi - else - if is_ctdb_previously_managed_service ; then - echo "Stopping service \"$service_name\" - no longer managed" - background_with_logging ctdb_service_stop - exit $? - fi - fi -} - ctdb_service_start () { # The service is marked managed if we've ever tried to start it. @@ -1168,4 +1118,3 @@ update_tickles () } script_name="${0##*/}" # basename -event_name="$1" diff --git a/ctdb/doc/ctdbd.conf.5.xml b/ctdb/doc/ctdbd.conf.5.xml index bbc02c63e86..9aca804b125 100644 --- a/ctdb/doc/ctdbd.conf.5.xml +++ b/ctdb/doc/ctdbd.conf.5.xml @@ -1485,19 +1485,6 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 </listitem> </varlistentry> - <varlistentry> - <term>CTDB_SERVICE_AUTOSTARTSTOP=yes|no</term> - <listitem> - <para> - When CTDB should start and stop services if they become - managed or unmanaged. - </para> - <para> - Default is no. - </para> - </listitem> - </varlistentry> - </variablelist> </refsect2> diff --git a/ctdb/tests/eventscripts/49.winbind.monitor.050.sh b/ctdb/tests/eventscripts/49.winbind.monitor.050.sh deleted file mode 100755 index 02589b33e89..00000000000 --- a/ctdb/tests/eventscripts/49.winbind.monitor.050.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -. "${TEST_SCRIPTS_DIR}/unit.sh" - -define_test "auto-start, simple" - -setup_winbind "down" - -export CTDB_SERVICE_AUTOSTARTSTOP="yes" -export CTDB_MANAGED_SERVICES="foo winbind bar" - -ok <<EOF -Starting service "winbind" - now managed -&Starting winbind: OK -EOF -simple_test diff --git a/ctdb/tests/eventscripts/49.winbind.monitor.051.sh b/ctdb/tests/eventscripts/49.winbind.monitor.051.sh deleted file mode 100755 index fbad928acad..00000000000 --- a/ctdb/tests/eventscripts/49.winbind.monitor.051.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -. "${TEST_SCRIPTS_DIR}/unit.sh" - -define_test "auto-stop, simple" - -setup_winbind - -export CTDB_SERVICE_AUTOSTARTSTOP="yes" -export CTDB_MANAGED_SERVICES="foo" -unset CTDB_MANAGES_WINBIND - -ok <<EOF -Stopping service "winbind" - no longer managed -&Stopping winbind: OK -EOF -simple_test diff --git a/ctdb/tests/eventscripts/50.samba.monitor.050.sh b/ctdb/tests/eventscripts/50.samba.monitor.050.sh deleted file mode 100755 index 69530f3dac4..00000000000 --- a/ctdb/tests/eventscripts/50.samba.monitor.050.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -. "${TEST_SCRIPTS_DIR}/unit.sh" - -define_test "auto-start, simple" - -setup_samba "down" - -export CTDB_SERVICE_AUTOSTARTSTOP="yes" -export CTDB_MANAGED_SERVICES="foo samba winbind bar" - -ok <<EOF -Starting service "samba" - now managed -&Starting smb: OK -EOF -simple_test diff --git a/ctdb/tests/eventscripts/50.samba.monitor.051.sh b/ctdb/tests/eventscripts/50.samba.monitor.051.sh deleted file mode 100755 index 04c1fce1141..00000000000 --- a/ctdb/tests/eventscripts/50.samba.monitor.051.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -. "${TEST_SCRIPTS_DIR}/unit.sh" - -define_test "auto-stop, simple" - -setup_samba - -export CTDB_SERVICE_AUTOSTARTSTOP="yes" -export CTDB_MANAGED_SERVICES="foo" -unset CTDB_MANAGES_SAMBA - -ok <<EOF -Stopping service "samba" - no longer managed -&Stopping smb: OK -EOF -simple_test |