summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2016-12-18 06:21:27 +1100
committerMartin Schwenke <martins@samba.org>2017-01-16 11:57:07 +0100
commite70e77383ca0e1ea9ccbe3f7698f0c6e3ba3c889 (patch)
tree73429f909fc46c2a31af1ae77d81b038c2395c99
parente1874bbf26eaa162cd6a5f11d96c564a983c9893 (diff)
downloadsamba-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-xctdb/config/events.d/06.nfs2
-rwxr-xr-xctdb/config/events.d/31.clamd2
-rwxr-xr-xctdb/config/events.d/40.vsftpd2
-rwxr-xr-xctdb/config/events.d/41.httpd2
-rwxr-xr-xctdb/config/events.d/49.winbind2
-rwxr-xr-xctdb/config/events.d/50.samba2
-rwxr-xr-xctdb/config/events.d/60.nfs2
-rwxr-xr-xctdb/config/events.d/70.iscsi2
-rwxr-xr-xctdb/config/functions51
-rw-r--r--ctdb/doc/ctdbd.conf.5.xml13
-rwxr-xr-xctdb/tests/eventscripts/49.winbind.monitor.050.sh16
-rwxr-xr-xctdb/tests/eventscripts/49.winbind.monitor.051.sh17
-rwxr-xr-xctdb/tests/eventscripts/50.samba.monitor.050.sh16
-rwxr-xr-xctdb/tests/eventscripts/50.samba.monitor.051.sh17
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