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:
parent
16c79eb887
commit
2cb2aa58d0
@ -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 ()
|
||||
|
33
ctdb/tests/tool/stubby.reloadnodes.001.sh
Executable file
33
ctdb/tests/tool/stubby.reloadnodes.001.sh
Executable 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
|
34
ctdb/tests/tool/stubby.reloadnodes.002.sh
Executable file
34
ctdb/tests/tool/stubby.reloadnodes.002.sh
Executable 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
|
37
ctdb/tests/tool/stubby.reloadnodes.003.sh
Executable file
37
ctdb/tests/tool/stubby.reloadnodes.003.sh
Executable 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
|
Loading…
x
Reference in New Issue
Block a user