1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

ctdb-tests: Add "ctdb reloadnodes" unit tests

A basic test and some for cross-node consistency checking.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
This commit is contained in:
Martin Schwenke 2015-03-17 20:12:22 +11:00 committed by Amitay Isaacs
parent 16c79eb887
commit 2cb2aa58d0
4 changed files with 120 additions and 3 deletions

View File

@ -44,13 +44,26 @@ setup_natgw ()
setup_nodes ()
{
debug "Setting up CTDB_NODES"
_pnn="$1"
_v="CTDB_NODES${_pnn:+_}${_pnn}"
debug "Setting up ${_v}"
# These will accumulate, 1 per test... but will be cleaned up at
# the end.
export CTDB_NODES=$(mktemp --tmpdir="$TEST_VAR_DIR")
eval export "${_v}"=$(mktemp --tmpdir="$TEST_VAR_DIR")
cat >"$CTDB_NODES"
eval _f="\${${_v}}"
cat >"$_f"
# You can't be too careful about what might be in the
# environment... so clean up when setting the default variable.
if [ -z "$_pnn" ] ; then
_n=$(wc -l "$CTDB_NODES" | awk '{ print $1 }')
for _i in $(seq 0 $_n) ; do
eval unset "CTDB_NODES_${_i}"
done
fi
}
simple_test ()

View File

@ -0,0 +1,33 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "3 nodes, no change"
setup_nodes <<EOF
192.168.20.41
192.168.20.42
192.168.20.43
EOF
ok <<EOF
Reloading nodes file on node 1
ctdb_ctrl_reload_nodes_file: node 1
Reloading nodes file on node 2
ctdb_ctrl_reload_nodes_file: node 2
Reloading nodes file on node 0
ctdb_ctrl_reload_nodes_file: node 0
EOF
simple_test <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
VNNMAP
654321
0
1
2
EOF

View File

@ -0,0 +1,34 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "3 nodes, no change, inconsistent file on 1"
setup_nodes <<EOF
192.168.20.41
192.168.20.42
192.168.20.43
EOF
setup_nodes 1 <<EOF
192.168.20.41
#192.168.20.42
192.168.20.43
EOF
required_result 255 <<EOF
ERROR: Node file on node 1 differs from current node (0)
EOF
simple_test <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
VNNMAP
654321
0
1
2
EOF

View File

@ -0,0 +1,37 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "3 nodes, missing file on 1"
setup_nodes <<EOF
192.168.20.41
192.168.20.42
192.168.20.43
EOF
setup_nodes 1 <<EOF
192.168.20.41
#192.168.20.42
192.168.20.43
EOF
rm "$CTDB_NODES_1"
required_result 255 <<EOF
Failed to read nodes file "${CTDB_NODES_1}"
ERROR: Failed to get nodes file from node 1
EOF
simple_test <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
VNNMAP
654321
0
1
2
EOF