mirror of
https://github.com/samba-team/samba.git
synced 2025-03-26 18:50:30 +03:00
scripts: Rework ctdb-crash-cleanup.sh so that it uses existing functions
This improves maintainability. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit e2aaa64925cca359c71520e01a18fc9461b0da4d)
This commit is contained in:
parent
d801b02681
commit
095fac9491
@ -4,41 +4,26 @@
|
||||
# all public ip addresses if CTDBD has crashed or stopped running.
|
||||
#
|
||||
|
||||
[ -z "$CTDB_BASE" ] && {
|
||||
CTDB_BASE=/etc/ctdb
|
||||
}
|
||||
|
||||
[ -z "$CTDB_PUBLIC_ADDRESSES" ] && {
|
||||
CTDB_PUBLIC_ADDRESSES=$CTDB_BASE/public_addresses
|
||||
}
|
||||
|
||||
[ ! -f "$CTDB_PUBLIC_ADDRESSES" ] && {
|
||||
echo "No public addresses file found. Can't clean up."
|
||||
exit 1
|
||||
}
|
||||
|
||||
# if ctdb is running, just return
|
||||
ctdb status 2>/dev/null && {
|
||||
# If ctdb is running, just exit
|
||||
if ctdb ping >/dev/null 2>&1 ; then
|
||||
exit 0
|
||||
}
|
||||
|
||||
if [ -f /etc/sysconfig/ctdb ]; then
|
||||
CTDB_CONFIG=/etc/sysconfig/ctdb
|
||||
elif [ -f /etc/default/ctdb ]; then
|
||||
CTDB_CONFIG=/etc/default/ctdb
|
||||
else
|
||||
echo "CTDB config not found. Can't clean up."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
(cat $CTDB_CONFIG | egrep "^CTDB_NATGW_PUBLIC_IP" | sed -e "s/.*=//" -e "s/\/.*//";cat "$CTDB_PUBLIC_ADDRESSES" | cut -d/ -f1) | while read _IP; do
|
||||
_IP_HELD=`/sbin/ip addr show | grep "inet $_IP/"`
|
||||
[ -z "$_IP_HELD" ] || {
|
||||
_IFACE=`echo $_IP_HELD | sed -e "s/.*\s//"`
|
||||
_NM=`echo $_IP_HELD | sed -e "s/.*$_IP\///" -e "s/\s.*//"`
|
||||
logger "Removing public address $_IP/$_NM from device $_IFACE"
|
||||
/sbin/ip addr del $_IP/$_NM dev $_IFACE
|
||||
}
|
||||
done
|
||||
[ -n "$CTDB_BASE" ] || \
|
||||
export CTDB_BASE=$(cd -P $(dirname "$0") ; echo "$PWD")
|
||||
|
||||
. "$CTDB_BASE/functions"
|
||||
|
||||
loadconfig ctdb
|
||||
|
||||
[ -n "$CTDB_PUBLIC_ADDRESSES" ] || \
|
||||
CTDB_PUBLIC_ADDRESSES="$CTDB_BASE/public_addresses"
|
||||
|
||||
[ -f "$CTDB_PUBLIC_ADDRESSES" ] || \
|
||||
die "No public addresses file found. Can't clean up."
|
||||
|
||||
drop_all_public_ips "ctdb-crash-cleanup"
|
||||
|
||||
if [ -n "$CTDB_NATGW_PUBLIC_IP" ] ; then
|
||||
drop_ip "$CTDB_NATGW_PUBLIC_IP" "ctdb-crash-cleanup"
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user