blob: 3fcb0e105b56b43d48e7c0c81757b4111edf9695 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/sh
# Eventscript for CTDB to cope with externally managed public IP addresses
# If DisableIPFailover is set:
#
# * 10.interface must be disabled.
# * For connection tracking/killing to work this script must be enabled.
[ -n "$CTDB_BASE" ] || \
export CTDB_BASE=$(cd -P $(dirname "$0") ; dirname "$PWD")
. $CTDB_BASE/functions
loadconfig
if [ -z "$CTDB_PUBLIC_ADDRESSES" ] ; then
exit 0
fi
if [ ! -f "$CTDB_PUBLIC_ADDRESSES" ] ; then
if [ "$1" = "init" ]; then
echo "No public addresses file found. Nothing to do for 10.interfaces.external"
fi
exit 0
fi
takeover_assigned_ips ()
{
ctdb_get_pnn
ctdb -X ip |
awk -F'|' '{print $2}' |
while read ip ; do
if [ -n "$(ip_maskbits_iface $ip)" ] ; then
echo "Assigning $ip to this node ($pnn)"
ctdb moveip "$ip" "$pnn"
fi
done
}
ctdb_check_args "$@"
case "$1" in
startup)
takeover_assigned_ips
;;
esac
exit 0
|