tests/takeover: Add takeover tests, mostly for NoIPHostOnAllDisabled
authorMartin Schwenke <martin@meltin.net>
Fri, 3 May 2013 05:57:21 +0000 (15:57 +1000)
committerMartin Schwenke <martin@meltin.net>
Tue, 7 May 2013 06:20:46 +0000 (16:20 +1000)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>

tests/takeover/lcp2.020.sh [new file with mode: 0755]
tests/takeover/lcp2.021.sh [new file with mode: 0755]
tests/takeover/lcp2.022.sh [new file with mode: 0755]
tests/takeover/lcp2.023.sh [new file with mode: 0755]

diff --git a/tests/takeover/lcp2.020.sh b/tests/takeover/lcp2.020.sh
new file mode 100755 (executable)
index 0000000..e3fe3c4
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "3 nodes, all IPs assigned, 2->3 unhealthy, NoIPHostOnAllDisabled on 2"
+
+export CTDB_TEST_LOGLEVEL=0
+
+required_result <<EOF
+192.168.21.254 2
+192.168.21.253 2
+192.168.21.252 2
+192.168.20.254 2
+192.168.20.253 2
+192.168.20.252 2
+192.168.20.251 2
+192.168.20.250 2
+192.168.20.249 2
+EOF
+
+export CTDB_SET_NoIPHostOnAllDisabled=1,1,0
+
+simple_test 2,2,2 <<EOF
+192.168.21.254 2
+192.168.21.253 2
+192.168.21.252 2
+192.168.20.254 2
+192.168.20.253 2
+192.168.20.252 2
+192.168.20.251 2
+192.168.20.250 2
+192.168.20.249 2
+EOF
diff --git a/tests/takeover/lcp2.021.sh b/tests/takeover/lcp2.021.sh
new file mode 100755 (executable)
index 0000000..7dcddb1
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "3 nodes, no IPs assigned, 3->2 unhealthy, NoIPHostOnAllDisabled on 2 others"
+
+export CTDB_TEST_LOGLEVEL=0
+
+required_result <<EOF
+192.168.21.254 0
+192.168.21.253 0
+192.168.21.252 0
+192.168.20.254 0
+192.168.20.253 0
+192.168.20.252 0
+192.168.20.251 0
+192.168.20.250 0
+192.168.20.249 0
+EOF
+
+export CTDB_SET_NoIPHostOnAllDisabled=0,1,1
+
+simple_test 2,2,2 <<EOF
+192.168.21.254 2
+192.168.21.253 2
+192.168.21.252 2
+192.168.20.254 2
+192.168.20.253 2
+192.168.20.252 2
+192.168.20.251 2
+192.168.20.250 2
+192.168.20.249 2
+EOF
diff --git a/tests/takeover/lcp2.022.sh b/tests/takeover/lcp2.022.sh
new file mode 100755 (executable)
index 0000000..7eb4d8a
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "3 nodes, no IPs assigned, 3->2 unhealthy, NoIPTakeover on 2 others"
+
+export CTDB_TEST_LOGLEVEL=0
+
+# We expect 1/2 the IPs to move, but the rest to stay (as opposed to
+# NoIPHostOnAllDisabled)
+required_result <<EOF
+192.168.21.254 2
+192.168.21.253 0
+192.168.21.252 2
+192.168.20.254 0
+192.168.20.253 0
+192.168.20.252 2
+192.168.20.251 0
+192.168.20.250 2
+192.168.20.249 2
+EOF
+
+export CTDB_SET_NoIPTakeover=0,1,1
+
+simple_test 2,2,2 <<EOF
+192.168.21.254 2
+192.168.21.253 2
+192.168.21.252 2
+192.168.20.254 2
+192.168.20.253 2
+192.168.20.252 2
+192.168.20.251 2
+192.168.20.250 2
+192.168.20.249 2
+EOF
diff --git a/tests/takeover/lcp2.023.sh b/tests/takeover/lcp2.023.sh
new file mode 100755 (executable)
index 0000000..9bffc58
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "3 nodes, all IPs assigned, 1->3 unhealthy"
+
+export CTDB_TEST_LOGLEVEL=4
+
+required_result <<EOF
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES (UNASSIGNED)
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 2 [147968]
+DATE TIME [PID]:  2 [-58359] -> 192.168.21.254 -> 1 [+0]
+DATE TIME [PID]:  2 [-58359] -> 192.168.21.252 -> 1 [+0]
+DATE TIME [PID]:  2 [-59572] -> 192.168.20.253 -> 1 [+0]
+DATE TIME [PID]:  2 [-59823] -> 192.168.20.251 -> 1 [+0]
+DATE TIME [PID]:  2 [-59823] -> 192.168.20.249 -> 1 [+0]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]: 2 [-59823] -> 192.168.20.251 -> 1 [+0]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 0 [89609]
+DATE TIME [PID]:  0 [-42483] -> 192.168.21.253 -> 1 [+14161]
+DATE TIME [PID]:  0 [-45662] -> 192.168.20.254 -> 1 [+15625]
+DATE TIME [PID]:  0 [-45662] -> 192.168.20.252 -> 1 [+15625]
+DATE TIME [PID]:  0 [-45411] -> 192.168.20.250 -> 1 [+16129]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]: 0 [-45662] -> 192.168.20.254 -> 1 [+15625]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 2 [88145]
+DATE TIME [PID]:  2 [-44198] -> 192.168.21.254 -> 1 [+28322]
+DATE TIME [PID]:  2 [-44198] -> 192.168.21.252 -> 1 [+28322]
+DATE TIME [PID]:  2 [-43947] -> 192.168.20.253 -> 1 [+31501]
+DATE TIME [PID]:  2 [-43947] -> 192.168.20.249 -> 1 [+31501]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]: 2 [-44198] -> 192.168.21.254 -> 1 [+28322]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 0 [44198]
+DATE TIME [PID]:  0 [-28322] -> 192.168.21.253 -> 1 [+44198]
+DATE TIME [PID]:  0 [-29786] -> 192.168.20.252 -> 1 [+45662]
+DATE TIME [PID]:  0 [-29786] -> 192.168.20.250 -> 1 [+45915]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 2 [44198]
+DATE TIME [PID]:  2 [-28322] -> 192.168.21.252 -> 1 [+44198]
+DATE TIME [PID]:  2 [-29786] -> 192.168.20.253 -> 1 [+45662]
+DATE TIME [PID]:  2 [-29786] -> 192.168.20.249 -> 1 [+45662]
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  ----------------------------------------
+DATE TIME [PID]:  CONSIDERING MOVES FROM 1 [43947]
+DATE TIME [PID]:  1 [-28322] -> 192.168.21.254 -> 1 [+28322]
+DATE TIME [PID]:  1 [-29786] -> 192.168.20.254 -> 1 [+29786]
+DATE TIME [PID]:  1 [-29786] -> 192.168.20.251 -> 1 [+29786]
+DATE TIME [PID]:  ----------------------------------------
+192.168.21.254 1
+192.168.21.253 0
+192.168.21.252 2
+192.168.20.254 1
+192.168.20.253 2
+192.168.20.252 0
+192.168.20.251 1
+192.168.20.250 0
+192.168.20.249 2
+EOF
+
+simple_test 2,2,2 <<EOF
+192.168.21.254 2
+192.168.21.253 0
+192.168.21.252 2
+192.168.20.254 0
+192.168.20.253 2
+192.168.20.252 0
+192.168.20.251 2
+192.168.20.250 0
+192.168.20.249 2
+EOF