summaryrefslogtreecommitdiffstats
path: root/ctdb/config/events.d
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/config/events.d')
-rwxr-xr-xctdb/config/events.d/10.interface21
1 files changed, 13 insertions, 8 deletions
diff --git a/ctdb/config/events.d/10.interface b/ctdb/config/events.d/10.interface
index cf109f3ef8..f881808f11 100755
--- a/ctdb/config/events.d/10.interface
+++ b/ctdb/config/events.d/10.interface
@@ -142,18 +142,23 @@ case "$1" in
INTERFACES=`for IFACE in $INTERFACES ; do echo $IFACE ; done | sort | uniq`
for IFACE in $INTERFACES ; do
- case $IFACE in
- ethX*|bond*)
- IFACE=`echo $IFACE |sed -e 's/\....$//'`
- grep -q 'Currently Active Slave: None' /proc/net/bonding/$IFACE && {
- echo "ERROR: No active slaves for bond device $IFACE"
+ # These interfaces are sometimes bond devices
+ # When we use VLANs for bond interfaces, there will only
+ # be an entry in /proc for the underlying real interface
+ REALIFACE=`echo $IFACE |sed -e 's/\..*$//'`
+ [ -f /proc/net/bonding/$REALIFACE ] && {
+ grep -q 'Currently Active Slave: None' /proc/net/bonding/$REALIFACE && {
+ echo "ERROR: No active slaves for bond device $REALIFACE"
exit 1
}
- grep -q '^MII Status: up' /proc/net/bonding/$IFACE || {
- echo "ERROR: public network interface $IFACE is down"
+ grep -q '^MII Status: up' /proc/net/bonding/$REALIFACE || {
+ echo "ERROR: public network interface $REALIFACE is down"
exit 1
}
- ;;
+ exit 0;
+ }
+
+ case $IFACE in
ib*)
# we dont know how to test ib links
;;