ctdb-tests: Add "ctdb ban/unban" tool tests
authorMartin Schwenke <martin@meltin.net>
Thu, 21 Jul 2016 02:45:44 +0000 (12:45 +1000)
committerAmitay Isaacs <amitay@samba.org>
Mon, 25 Jul 2016 19:29:47 +0000 (21:29 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/tool/ctdb.ban.001.sh [new file with mode: 0755]
ctdb/tests/tool/ctdb.ban.002.sh [new file with mode: 0755]
ctdb/tests/tool/ctdb.ban.003.sh [new file with mode: 0755]
ctdb/tests/tool/ctdb.unban.001.sh [new file with mode: 0755]
ctdb/tests/tool/ctdb.unban.002.sh [new file with mode: 0755]
ctdb/tests/tool/ctdb.unban.003.sh [new file with mode: 0755]

diff --git a/ctdb/tests/tool/ctdb.ban.001.sh b/ctdb/tests/tool/ctdb.ban.001.sh
new file mode 100755 (executable)
index 0000000..3c17f75
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "ban default (0), wait for timeout"
+
+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_null
+simple_test 4
+
+required_result 8 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41    BANNED|INACTIVE (THIS NODE)
+pnn:1 192.168.20.42    OK
+pnn:2 192.168.20.43    OK
+EOF
+simple_test_other nodestatus all
+
+echo
+echo "Waiting 5 seconds for ban to expire..."
+sleep 5
+
+ok <<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
+EOF
+simple_test_other nodestatus all
diff --git a/ctdb/tests/tool/ctdb.ban.002.sh b/ctdb/tests/tool/ctdb.ban.002.sh
new file mode 100755 (executable)
index 0000000..47a9995
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "ban node 1"
+
+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_null
+simple_test 60 -n 1
+
+required_result 8 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41    OK (THIS NODE)
+pnn:1 192.168.20.42    BANNED|INACTIVE
+pnn:2 192.168.20.43    OK
+EOF
+simple_test_other nodestatus all
diff --git a/ctdb/tests/tool/ctdb.ban.003.sh b/ctdb/tests/tool/ctdb.ban.003.sh
new file mode 100755 (executable)
index 0000000..95acf50
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "already banned"
+
+setup_ctdbd <<EOF
+NODEMAP
+0       192.168.20.41   0x0     CURRENT RECMASTER
+1       192.168.20.42   0x8
+2       192.168.20.43   0x0
+EOF
+
+ok "Node 1 is already banned"
+simple_test 60 -n 1
+
+required_result 8 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41    OK (THIS NODE)
+pnn:1 192.168.20.42    BANNED|INACTIVE
+pnn:2 192.168.20.43    OK
+EOF
+simple_test_other nodestatus all
diff --git a/ctdb/tests/tool/ctdb.unban.001.sh b/ctdb/tests/tool/ctdb.unban.001.sh
new file mode 100755 (executable)
index 0000000..c771fb4
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "unban default (0)"
+
+setup_ctdbd <<EOF
+NODEMAP
+0       192.168.20.41   0x8     CURRENT
+1       192.168.20.42   0x0
+2       192.168.20.43   0x0     RECMASTER
+EOF
+
+ok_null
+simple_test
+
+ok <<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
+EOF
+simple_test_other nodestatus all
diff --git a/ctdb/tests/tool/ctdb.unban.002.sh b/ctdb/tests/tool/ctdb.unban.002.sh
new file mode 100755 (executable)
index 0000000..b65143d
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "ban, unban node 1"
+
+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_null
+simple_test_other ban 60 -n 1
+
+required_result 8 <<EOF
+Number of nodes:3
+pnn:0 192.168.20.41    OK (THIS NODE)
+pnn:1 192.168.20.42    BANNED|INACTIVE
+pnn:2 192.168.20.43    OK
+EOF
+simple_test_other nodestatus all
+
+ok_null
+simple_test_other unban -n 1
+
+ok <<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
+EOF
+simple_test_other nodestatus all
diff --git a/ctdb/tests/tool/ctdb.unban.003.sh b/ctdb/tests/tool/ctdb.unban.003.sh
new file mode 100755 (executable)
index 0000000..8b94f30
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "node not banned"
+
+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 "Node 0 is not banned"
+simple_test
+
+ok <<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
+EOF
+simple_test_other nodestatus all