define_test "3 nodes, all ok"
-required_result 0 <<EOF
-RECMASTER: YES
-LMASTER: YES
-EOF
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
+EOF
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
+required_result 0 <<EOF
+RECMASTER: YES
+LMASTER: YES
EOF
+
+simple_test
define_test "3 nodes, 1 disconnected"
-required_result 0 <<EOF
-RECMASTER: YES
-LMASTER: YES
-EOF
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x1
2 192.168.20.43 0x0
+EOF
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
+required_result 0 <<EOF
+RECMASTER: YES
+LMASTER: YES
EOF
+
+simple_test
define_test "3 nodes, current disconnected"
-required_result 1 <<EOF
-../client/ctdb_client.c:293 Failed to connect client socket to daemon. Errno:No such file or directory(2)
-../common/cmdline.c:167 Failed to connect to daemon
-Failed to init ctdb
-Failed to detect which PNN this node is
-Is this node part of a CTDB cluster?
-EOF
-
setup_nodes <<EOF
192.168.20.41
192.168.20.42
192.168.20.43
EOF
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x1 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
+EOF
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
+required_result 1 <<EOF
+../client/ctdb_client.c:293 Failed to connect client socket to daemon. Errno:No such file or directory(2)
+../common/cmdline.c:167 Failed to connect to daemon
+Failed to init ctdb
+Failed to detect which PNN this node is
+Is this node part of a CTDB cluster?
EOF
+
+simple_test
define_test "3 nodes, all ok, non-default capabilities"
-set -e
-
-input="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0 -CTDB_CAP_LMASTER
2 192.168.20.43 0x0 -CTDB_CAP_RECMASTER
+EOF
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2"
+# node 0
required_result 0 <<EOF
RECMASTER: YES
LMASTER: YES
EOF
-simple_test -n 0 <<EOF
-$input
-EOF
+simple_test -n 0
+
+# node 1
required_result 0 <<EOF
RECMASTER: YES
LMASTER: NO
EOF
-simple_test -n 1 <<EOF
-$input
-EOF
+simple_test -n 1
+
+# node 2
required_result 0 <<EOF
RECMASTER: NO
LMASTER: YES
EOF
-simple_test -n 2 <<EOF
-$input
-EOF
+simple_test -n 2
${TEST_DATE_STAMP}Failed to read nodes file "${CTDB_NODES}"
EOF
-simple_test <<EOF
-EOF
+simple_test
192.168.20.43
EOF
-simple_test <<EOF
-EOF
+simple_test
setup_lvs <<EOF
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
required_result 255 <<EOF
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
required_result 0 <<EOF
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
required_result 0 <<EOF
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
0
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
2 192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
+EOF
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
#####
required_result 0 <<EOF
0
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
2 192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x2 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
1
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
2 192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x2 CURRENT RECMASTER
1 192.168.20.42 0x2
2 192.168.20.43 0x2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
0
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
2 192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 UNHEALTHY
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x4 CURRENT RECMASTER
1 192.168.20.42 0x4
2 192.168.20.43 0x2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
2
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
2 192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 UNHEALTHY
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x4 CURRENT RECMASTER
1 192.168.20.42 0x4
2 192.168.20.43 0x4
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
required_result 255 <<EOF
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
required_result 0 <<EOF
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 DISABLED
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
setup_lvs <<EOF
EOF
-ctdb_state="\
+setup_ctdb <<EOF
NODEMAP
0 192.168.20.41 0x1 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
Is this node part of a CTDB cluster?
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
Is this node part of a CTDB cluster?
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
Is this node part of a CTDB cluster?
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
Is this node part of a CTDB cluster?
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-
-VNNMAP
-654321
-0
-1
-2
-"
+EOF
#####
0 192.168.20.41
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x2
1 192.168.20.42 0x0 CURRENT RECMASTER
2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
1 192.168.20.42
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
-
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x2
1 192.168.20.42 0x0 CURRENT RECMASTER
2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
2 192.168.20.43
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43 MASTER
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x22
1 192.168.20.42 0x22 CURRENT RECMASTER
2 192.168.20.43 0x2
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
2 192.168.20.43
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43 MASTER
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 UNHEALTHY
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x20
1 192.168.20.42 0x20 CURRENT RECMASTER
2 192.168.20.43 0x20
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
0 192.168.20.41
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 STOPPED|INACTIVE
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x20
1 192.168.20.42 0x20 CURRENT RECMASTER
2 192.168.20.43 0x20
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
1 192.168.20.42
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 STOPPED|INACTIVE
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43 slave-only
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x20
1 192.168.20.42 0x20 CURRENT RECMASTER
2 192.168.20.43 0x20
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
required_result 2 <<EOF
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43 slave-only
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 STOPPED|INACTIVE
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
192.168.20.43
EOF
-ctdb_state="\
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x1
1 192.168.20.42 0x0 CURRENT RECMASTER
2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-1
-2
-
-IFACES
-:Name:LinkStatus:References:
-:eth2:1:2:
-:eth1:1:4:
-"
+EOF
#####
1 192.168.20.42
EOF
-simple_test master <<EOF
-$ctdb_state
-EOF
+simple_test master
#####
192.168.20.43
EOF
-simple_test list <<EOF
-$ctdb_state
-EOF
+simple_test list
#####
pnn:2 192.168.20.43 OK
EOF
-simple_test status <<EOF
-$ctdb_state
-EOF
+simple_test status
define_test "all, 3 nodes, all OK"
-required_result 0 <<EOF
-Number of nodes:3
-pnn:0 192.168.20.41 OK
-pnn:1 192.168.20.42 OK
-pnn:2 192.168.20.43 OK (THIS NODE)
-EOF
-
-simple_test all <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0
1 192.168.20.42 0x0
:Name:LinkStatus:References:
:eth2:1:2:
:eth1:1:4:
+EOF
-VNNMAP
-654321
-0
-1
-2
+required_result 0 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41 OK
+pnn:1 192.168.20.42 OK
+pnn:2 192.168.20.43 OK (THIS NODE)
EOF
+
+simple_test all
define_test "all, 3 nodes, 1 disconnected"
-required_result 1 <<EOF
-Number of nodes:3
-pnn:0 192.168.20.41 OK
-pnn:1 192.168.20.42 DISCONNECTED|INACTIVE
-pnn:2 192.168.20.43 OK (THIS NODE)
-EOF
-
-simple_test all <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0
1 192.168.20.42 0x1
:Name:LinkStatus:References:
:eth2:1:2:
:eth1:1:4:
+EOF
-VNNMAP
-654321
-0
-1
-2
+required_result 1 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41 OK
+pnn:1 192.168.20.42 DISCONNECTED|INACTIVE
+pnn:2 192.168.20.43 OK (THIS NODE)
EOF
+
+simple_test all
define_test "Just a recovery"
-ok_null
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT
1 192.168.20.42 0x0 RECMASTER
1
2
EOF
+
+ok_null
+
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0
+EOF
+
ok <<EOF
Node 0 is unchanged
Node 1 is unchanged
No change in nodes file, skipping unnecessary reload
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
+simple_test
192.168.20.43
EOF
-required_result 255 <<EOF
-ERROR: Node file on node 1 differs from current node (0)
-EOF
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
+EOF
-VNNMAP
-654321
-0
-1
-2
+required_result 255 <<EOF
+ERROR: Node file on node 1 differs from current node (0)
EOF
+
+simple_test
rm "$CTDB_NODES_1"
-required_result 255 <<EOF
-ctdb_control error: 'Failed to read nodes file'
-ctdb_control error: 'Failed to read nodes file'
-ERROR: Failed to get nodes file from node 1
-EOF
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
2 192.168.20.43 0x0
+EOF
-VNNMAP
-654321
-0
-1
-2
+required_result 255 <<EOF
+ctdb_control error: 'Failed to read nodes file'
+ctdb_control error: 'Failed to read nodes file'
+ERROR: Failed to get nodes file from node 1
EOF
+
+simple_test
192.168.20.44
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is unchanged
Reloading nodes file on node 2
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
+simple_test
#192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x1
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is unchanged
Reloading nodes file on 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 0x1
-
-VNNMAP
-654321
-0
-1
-EOF
+simple_test
#192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0
+EOF
+
required_result 1 <<EOF
Node 0 is unchanged
Node 1 is unchanged
ERROR: Nodes will not be reloaded due to previous error
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
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x1
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0 CURRENT RECMASTER
+EOF
+
required_result 0 <<EOF
Node 0 is DELETED
Node 1 is unchanged
Reloading nodes file on node 2
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x1
-1 192.168.20.42 0x0
-2 192.168.20.43 0x0 CURRENT RECMASTER
-
-VNNMAP
-654321
-1
-2
-EOF
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0 CURRENT RECMASTER
+EOF
+
required_result 1 <<EOF
Node 0 is DELETED
ERROR: Node 0 is still connected
ERROR: Nodes will not be reloaded due to previous error
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0
-1 192.168.20.42 0x0
-2 192.168.20.43 0x0 CURRENT RECMASTER
-
-VNNMAP
-654321
-0
-1
-2
-EOF
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x1
+2 192.168.20.43 0x0
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is DELETED
Reloading nodes file on node 2
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0 CURRENT RECMASTER
-1 192.168.20.42 0x1
-2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
-EOF
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0
+EOF
+
required_result 1 <<EOF
Node 0 is unchanged
Node 1 is DELETED
ERROR: Nodes will not be reloaded due to previous error
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
+simple_test
192.168.20.46
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x0
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is unchanged
Reloading nodes file on node 2
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
+simple_test
192.168.20.45
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x1
+2 192.168.20.43 0x0
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is DELETED
Reloading nodes file on node 2
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0 CURRENT RECMASTER
-1 192.168.20.42 0x1
-2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
-EOF
+simple_test
192.168.20.45
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x0
+2 192.168.20.43 0x1
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is unchanged
Reloading nodes file on 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 0x1
-
-VNNMAP
-654321
-0
-1
-EOF
+simple_test
192.168.20.44
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x1
+2 192.168.20.43 0x0
+EOF
+
required_result 0 <<EOF
Node 0 is unchanged
Node 1 is unchanged
Reloading nodes file on node 2
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0 CURRENT RECMASTER
-1 192.168.20.42 0x1
-2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
-EOF
+simple_test
192.168.20.45
EOF
-ok_null
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x1
2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
EOF
+
+ok_null
+
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x11
+2 192.168.20.43 0x0
+EOF
+
ok <<EOF
Node 0 is unchanged
Node 1 is UNDELETED
Reloading nodes file on node 2
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0 CURRENT RECMASTER
-1 192.168.20.42 0x11
-2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
-EOF
+simple_test
192.168.20.43
EOF
+setup_ctdbd <<EOF
+NODEMAP
+0 192.168.20.41 0x0 CURRENT RECMASTER
+1 192.168.20.42 0x11
+2 192.168.20.43 0x0
+EOF
+
ok <<EOF
Node 0 is unchanged
Node 1 is unchanged (DELETED)
No change in nodes file, skipping unnecessary reload
EOF
-simple_test <<EOF
-NODEMAP
-0 192.168.20.41 0x0 CURRENT RECMASTER
-1 192.168.20.42 0x11
-2 192.168.20.43 0x0
-
-VNNMAP
-654321
-0
-2
-EOF
+simple_test
define_test "all, 3 nodes, all ok"
-required_result 0 <<EOF
-Number of nodes:3
-pnn:0 192.168.20.41 OK (THIS NODE)
-pnn:1 192.168.20.42 OK
-pnn:2 192.168.20.43 OK
-Generation:654321
-Size:3
-hash:0 lmaster:0
-hash:1 lmaster:1
-hash:2 lmaster:2
-Recovery mode:NORMAL (0)
-Recovery master:0
-EOF
-
-simple_test all <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x0 CURRENT RECMASTER
1 192.168.20.42 0x0
1
2
EOF
+
+required_result 0 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41 OK (THIS NODE)
+pnn:1 192.168.20.42 OK
+pnn:2 192.168.20.43 OK
+Generation:654321
+Size:3
+hash:0 lmaster:0
+hash:1 lmaster:1
+hash:2 lmaster:2
+Recovery mode:NORMAL (0)
+Recovery master:0
+EOF
+
+simple_test all
define_test "all, 3 nodes, 1 unhealthy"
-required_result 0 <<EOF
-Number of nodes:3
-pnn:0 192.168.20.41 UNHEALTHY
-pnn:1 192.168.20.42 OK (THIS NODE)
-pnn:2 192.168.20.43 OK
-Generation:654321
-Size:3
-hash:0 lmaster:0
-hash:1 lmaster:1
-hash:2 lmaster:2
-Recovery mode:NORMAL (0)
-Recovery master:1
-EOF
-
-simple_test <<EOF
+setup_ctdbd <<EOF
NODEMAP
0 192.168.20.41 0x2
1 192.168.20.42 0x0 CURRENT RECMASTER
:eth2:1:2:
:eth1:1:4:
EOF
+
+required_result 0 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41 UNHEALTHY
+pnn:1 192.168.20.42 OK (THIS NODE)
+pnn:2 192.168.20.43 OK
+Generation:654321
+Size:3
+hash:0 lmaster:0
+hash:1 lmaster:1
+hash:2 lmaster:2
+Recovery mode:NORMAL (0)
+Recovery master:1
+EOF
+
+simple_test
{
debug "Setting up fake ctdbd"
- cat | fake_ctdbd -s "$ctdbd_socket" -p "$ctdbd_pidfile"
- #test_cleanup cleanup_ctdbd
+ fake_ctdbd -s "$ctdbd_socket" -p "$ctdbd_pidfile"
+ test_cleanup cleanup_ctdbd
}
setup_natgw ()
simple_test ()
{
- setup_ctdbd
(unit_test $CTDB -d $CTDB_DEBUGLEVEL $test_args "$@")
status=$?
- cleanup_ctdbd
[ $status -eq 0 ] || exit $status
}