Rename $CTDB_NUM_NODES to $CTDB_TEST_NUM_DAEMONS and only set it if
authorMartin Schwenke <martin@meltin.net>
Fri, 12 Dec 2008 06:25:38 +0000 (17:25 +1100)
committerMartin Schwenke <martin@meltin.net>
Fri, 12 Dec 2008 06:25:38 +0000 (17:25 +1100)
$CTDB_TEST_REAL_CLUSTER is not set.  After a ctdb restart, force a
recovery to attempt to help tests that follows.

Signed-off-by: Martin Schwenke <martin@meltin.net>
tests/scripts/ctdb_test_env
tests/scripts/ctdb_test_functions.bash

index bb7a14af67d2074403da7742913670681f88700b..82aa3da9f5f057ba84b0beae4a4138cd4ee47925 100755 (executable)
@@ -3,8 +3,6 @@
 export CTDB_DIR=$(cd $(dirname $(dirname $(dirname $0))) ; pwd)
 var_dir=$CTDB_DIR/tests/var
 
-export CTDB_NUM_NODES=3
-
 ######################################################################
 
 ctdb_bin_dir=$CTDB_DIR/bin
@@ -23,8 +21,10 @@ fi
 export CTDB_TEST_WRAPPER
 
 if [ ! -n "$CTDB_TEST_REAL_CLUSTER" ] ; then
+    export CTDB_TEST_NUM_DAEMONS=3
+
     export CTDB_NODES_SOCKETS=""
-    for i in $(seq 0 $(($CTDB_NUM_NODES -1))) ; do
+    for i in $(seq 0 $(($CTDB_TEST_NUM_DAEMONS -1))) ; do
        CTDB_NODES_SOCKETS="${CTDB_NODES_SOCKETS}${CTDB_NODES_SOCKETS:+ }${var_dir}/sock.${i}"
     done
 
index 02fbf986a18d49d12186359ff75b8c98eb24e951..4e9e7316bb48562f2e8389ff42c473ca8fbfca6e 100644 (file)
@@ -479,7 +479,7 @@ _restart_ctdb ()
 setup_ctdb ()
 {
     if [ -n "$CTDB_NODES_SOCKETS" ] ; then
-       daemons_setup $CTDB_NUM_NODES
+       daemons_setup $CTDB_TEST_NUM_DAEMONS
     fi
 }
 
@@ -487,7 +487,7 @@ restart_ctdb ()
 {
     if [ -n "$CTDB_NODES_SOCKETS" ] ; then
        daemons_stop
-       daemons_start $CTDB_NUM_NODES
+       daemons_start $CTDB_TEST_NUM_DAEMONS
     else
        onnode -pq all $CTDB_TEST_WRAPPER _restart_ctdb 
     fi || return 1
@@ -497,6 +497,12 @@ restart_ctdb ()
     echo "Setting RerecoveryTimeout to 1"
     onnode -pq all "ctdb setvar RerecoveryTimeout 1"
 
+    # In recent versions of CTDB, forcing a recovery like this blocks
+    # until the recovery is complete.  Hopefully this will help the
+    # cluster to stabilise before a subsequent test.
+    echo "Forcing a recovery..."
+    onnode -q 0 ctdb recover
+
     #echo "Sleeping to allow ctdb to settle..."
     #sleep_for 10