move extracting the config from config.tdb for public addresses
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Mon, 11 Oct 2010 15:49:11 +0000 (02:49 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Mon, 11 Oct 2010 15:57:53 +0000 (02:57 +1100)
into its own function

config/events.d/00.ctdb

index 8ff6488e5f9afe7808b5d0730642605177152b09..1389ae40606184c081624143db02f01afb9f5565 100755 (executable)
 . $CTDB_BASE/functions
 loadconfig
 
+update_config_from_tdb() {
+       # Pull optional ctdb configuration data out of config.tdb
+       PUBLICADDRESSESKEY='public-addresses:node#'`ctdb -t 1 xpnn|sed -e "s/.*://"`
+       rm -f $CTDB_VARDIR/state/public_addresses
+       ctdb pfetch config.tdb $PUBLICADDRESSESKEY $CTDB_VARDIR/state/public_addresses
+       [ "$?" = "0" ] && [ `stat --format="%s" /etc/ctdb/state/public_addresses` != "0" ] && [ ! -z "$CTDB_PUBLIC_ADDRESSES" ] && {
+               diff $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES >/dev/null 2>/dev/null
+               [ $? = "0" ] || {
+                       echo CTDB public address configuration had been updated.
+                       echo Extracting new configuration from database.
+                       diff $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES
+                       cp $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES
+                       echo Restarting CTDB
+                       service ctdb restart &
+               }
+       }
+}
+
 case "$1" in 
      init)
         # make sure we have a blank state directory for the scripts to work with
@@ -35,21 +53,7 @@ case "$1" in
        ;;
 
     startup)
-       # Pull optional ctdb configuration data out of config.tdb
-       PUBLICADDRESSESKEY='public-addresses:node#'`ctdb -t 1 xpnn|sed -e "s/.*://"`
-       rm -f $CTDB_VARDIR/state/public_addresses
-       ctdb pfetch config.tdb $PUBLICADDRESSESKEY $CTDB_VARDIR/state/public_addresses
-       [ "$?" = "0" ] && [ `stat --format="%s" /etc/ctdb/state/public_addresses` != "0" ] && [ ! -z "$CTDB_PUBLIC_ADDRESSES" ] && {
-               diff $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES >/dev/null 2>/dev/null
-               [ $? = "0" ] || {
-                       echo CTDB public address configuration had been updated.
-                       echo Extracting new configuration from database.
-                       diff $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES
-                       cp $CTDB_VARDIR/state/public_addresses $CTDB_PUBLIC_ADDRESSES
-                       echo Restarting CTDB
-                       service ctdb restart &
-               }
-       }
+       update_config_from_tdb &
        ;;
     monitor)
        # We should never enter swap, so SwapTotal == SwapFree.