[ "$CTDB_PUBLIC_INTERFACE" ] && INTERFACES="$CTDB_PUBLIC_INTERFACE $INTERFACES"
[ "$CTDB_NATGW_PUBLIC_IFACE" ] && INTERFACES="$CTDB_NATGW_PUBLIC_IFACE $INTERFACES"
- local IFACES=`ctdb ifaces -Y | grep -v '^:Name:LinkStatus:References:'`
- local I
- local IFACE
+ # For all but the 1st line, get the 2nd last field with commas
+ # changes to spaces.
+ local IFACES=`ctdb -Y ip -v | sed -e '1d' -e 's/:[^:]*:$//' -e 's/^.*://' -e 's/,/ /g'`
- for I in $IFACES; do
- IFACE=`echo -n "$I" | cut -d ':' -f2`
- INTERFACES="$IFACE $INTERFACES"
- done
+ local IFACE
- INTERFACES=`for IFACE in $INTERFACES ; do echo $IFACE ; done | sort | uniq`
+ INTERFACES=`for IFACE in $INTERFACES $IFACES ; do echo $IFACE ; done | sort | uniq`
local fail=0
local ok=0
ip addr show $IFACE 2>/dev/null >/dev/null || {
echo Interface $IFACE does not exist but it is used by public addresses.
- exit 1
+ continue
}
# These interfaces are sometimes bond devices