EOF
}
+# Need to cope with ctdb_get_pnn(). If a test changes PNN then it
+# needs to be using a different state directory, otherwise the wrong
+# PNN can already be cached in the state directory.
+ctdb_set_pnn ()
+{
+ export FAKE_CTDB_PNN="$1"
+ echo "Setting up PNN ${FAKE_CTDB_PNN}"
+
+ export CTDB_VARDIR="$EVENTSCRIPTS_TESTS_VAR_DIR/ctdb/${FAKE_CTDB_PNN}"
+ mkdir -p "${CTDB_VARDIR}/state"
+}
+
setup_ctdb ()
{
setup_generic
export FAKE_CTDB_NUMNODES="${1:-3}"
echo "Setting up CTDB with ${FAKE_CTDB_NUMNODES} fake nodes"
- export FAKE_CTDB_PNN="${2:-0}"
- echo "Setting up CTDB with PNN ${FAKE_CTDB_PNN}"
+ ctdb_set_pnn "${2:-0}"
setup_public_addresses
export FAKE_TCP_LISTEN=""
export FAKE_WBINFO_FAIL="yes"
fi
-
- # This is ugly but if this file isn't removed before each test
- # then configuration changes between tests don't stick.
- rm -f "$CTDB_VARDIR/state/samba/smb.conf.cache"
}
setup_winbind ()
simple_test_event "add-client" "192.168.123.45"
simple_test_event "update"
-FAKE_CTDB_PNN=1
+ctdb_set_pnn 1
ok_null
simple_test_event "add-client" "192.168.123.46"
simple_test_event "update"
-FAKE_CTDB_PNN=0
+ctdb_set_pnn 0
check_statd_callout_smnotify "192.168.123.45"
-FAKE_CTDB_PNN=1
+ctdb_set_pnn 1
check_ctdb_tdb_statd_state "192.168.123.46"
simple_test_event "add-client" "192.168.123.45"
simple_test_event "update"
-FAKE_CTDB_PNN=1
+ctdb_set_pnn 1
ok_null
simple_test_event "add-client" "192.168.123.46"
simple_test_event "update"
-FAKE_CTDB_PNN=0
+ctdb_set_pnn 0
check_statd_callout_smnotify "192.168.123.45"
-FAKE_CTDB_PNN=1
+ctdb_set_pnn 1
check_statd_callout_smnotify "192.168.123.46"
setup_tickles ()
{
# Make sure tickles file exists.
- tickles_file="$CTDB_VARDIR/fake-ctdb/tickles"
+ tickles_file="$EVENTSCRIPTS_TESTS_VAR_DIR/fake-ctdb/tickles"
mkdir -p $(dirname "$tickles_file")
touch "$tickles_file"
}
_t_setup ()
{
- _t_dir="$CTDB_VARDIR/fake-ctdb/fake-tdb/$1"
+ _t_dir="$EVENTSCRIPTS_TESTS_VAR_DIR/fake-ctdb/fake-tdb/$1"
mkdir -p "$_t_dir"
}