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
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
setup_ctdb ()
{
if [ -n "$CTDB_NODES_SOCKETS" ] ; then
- daemons_setup $CTDB_NUM_NODES
+ daemons_setup $CTDB_TEST_NUM_DAEMONS
fi
}
{
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
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