diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-08-11 11:45:59 +1000 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-08-11 11:48:04 +1000 |
commit | 53b956fee78e5448726df1398940535c61d51e44 (patch) | |
tree | 81fb06f2cff5f757e28e4959c24472ad6227a2d9 | |
parent | 21226ee73808e7fe0d8253a9d906e44e2f47caf9 (diff) | |
download | samba-53b956fee78e5448726df1398940535c61d51e44.tar.gz samba-53b956fee78e5448726df1398940535c61d51e44.tar.xz samba-53b956fee78e5448726df1398940535c61d51e44.zip |
When starting and stopping ctdb through the init-script, make sure we first clear all public ips bvefore we start the daemon, in case they are still hanging around since a previous kill -9 and also make sure we drop them after we have stopped the deamon when shutting down
CQ S1027550
(This used to be ctdb commit 8de5513b3ad89711da845c7588d35b32e2f2acb6)
-rwxr-xr-x | ctdb/config/ctdb.init | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ctdb/config/ctdb.init b/ctdb/config/ctdb.init index 9e32bac767..c65ad1a03d 100755 --- a/ctdb/config/ctdb.init +++ b/ctdb/config/ctdb.init @@ -215,6 +215,16 @@ wait_until_ready () { ctdbd=${CTDBD:-/usr/sbin/ctdbd} +drop_all_public_ips() { + [ -z "$CTDB_PUBLIC_ADDRESSES" ] && { + return + } + + cat $CTDB_PUBLIC_ADDRESSES | while read IP IFACE REST; do + ip addr del $IP dev $IFACE >/dev/null 2>/dev/null + done +} + start() { echo -n $"Starting ctdbd service: " @@ -225,6 +235,10 @@ start() { build_ctdb_options + # make sure we drop any ips that might still be held if previous + # instance of ctdb got killed with -9 or similar + drop_all_public_ips + check_persistent_databases || return $? if [ "$CTDB_SUPPRESS_COREFILE" = "yes" ]; then @@ -305,6 +319,9 @@ stop() { pkill -9 -f $CTDB_BASE/events.d/ } done + # make sure all ips are dropped, pfkill -9 might leave them hanging around + drop_all_public_ips + case $init_style in suse) # re-set the return code to the recorded RETVAL in order @@ -318,6 +335,7 @@ stop() { echo "" ;; esac + return $RETVAL } |