summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2013-10-24 14:15:53 +1100
committerAmitay Isaacs <amitay@gmail.com>2013-10-29 17:14:55 +1100
commite8de58abd7fe7bec7752c6e33ea3e366d3c31a9d (patch)
tree72c0d83375cb5de17b5ecbd6eb719fb7e6ac3dce
parentfc7f3358437b5b6d27b4e03ee477a9e7406b87e3 (diff)
downloadsamba-e8de58abd7fe7bec7752c6e33ea3e366d3c31a9d.tar.gz
samba-e8de58abd7fe7bec7752c6e33ea3e366d3c31a9d.tar.xz
samba-e8de58abd7fe7bec7752c6e33ea3e366d3c31a9d.zip
tools/onnode: Fix healthy/ok node handling
This bit-rotted a long time ago when the "ThisNode" column was added to "ctdb -Y status" output. The fake "ctdb -Y status" output in the test was never updated to reflect this change. Instead of making sure that all columns are "0", just check that they're not "1". This implicitly ignores "Y" and "N" in this "ThisNode" column without having to do anything else clever. Also update associated tests. The main "ctdb ok" test had a duplicate opening line for a here document, which was tickled by this change. This fixes samba bz#8122. Signed-off-by: Martin Schwenke <martin@meltin.net> onnode test fixup Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 01a46205c3a3d6609dc0b0324319b89667dffa32)
-rwxr-xr-xctdb/tests/onnode/0070.sh10
-rwxr-xr-xctdb/tests/onnode/0071.sh13
-rwxr-xr-xctdb/tests/onnode/0075.sh10
-rwxr-xr-xctdb/tools/onnode4
4 files changed, 18 insertions, 19 deletions
diff --git a/ctdb/tests/onnode/0070.sh b/ctdb/tests/onnode/0070.sh
index 902d78b231..b071e80a80 100755
--- a/ctdb/tests/onnode/0070.sh
+++ b/ctdb/tests/onnode/0070.sh
@@ -7,11 +7,11 @@ cmd="$ONNODE ok hostname"
define_test "$cmd" "all nodes OK"
ctdb_set_output <<EOF
-:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:
-:0:192.168.1.101:0:0:0:0:0:0:
-:1:192.168.1.102:0:0:0:0:0:0:
-:2:192.168.1.103:0:0:0:0:0:0:
-:3:192.168.1.104:0:0:0:0:0:0:
+:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:PartiallyOnline:ThisNode:
+:0:192.168.1.101:0:0:0:0:0:0:0:Y:
+:1:192.168.1.102:0:0:0:0:0:0:0:N:
+:2:192.168.1.103:0:0:0:0:0:0:0:N:
+:3:192.168.1.104:0:0:0:0:0:0:0:N:
EOF
required_result <<EOF
diff --git a/ctdb/tests/onnode/0071.sh b/ctdb/tests/onnode/0071.sh
index ebf2f61fcd..d594323e3f 100755
--- a/ctdb/tests/onnode/0071.sh
+++ b/ctdb/tests/onnode/0071.sh
@@ -6,13 +6,12 @@ cmd="$ONNODE ok hostname"
define_test "$cmd" "2nd node disconnected"
-ctdb_set_output <<EOF
-ctdb_set_output <<EOF
-:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:
-:0:192.168.1.101:0:0:0:0:0:0:
-:1:192.168.1.102:1:0:0:0:0:0:
-:2:192.168.1.103:0:0:0:0:0:0:
-:3:192.168.1.104:0:0:0:0:0:0:
+ctdb_set_output <<EOF
+:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:PartiallyOnline:ThisNode:
+:0:192.168.1.101:0:0:0:0:0:0:0:Y:
+:1:192.168.1.102:1:0:0:0:0:0:0:N:
+:2:192.168.1.103:0:0:0:0:0:0:0:N:
+:3:192.168.1.104:0:0:0:0:0:0:0:N:
EOF
required_result <<EOF
diff --git a/ctdb/tests/onnode/0075.sh b/ctdb/tests/onnode/0075.sh
index 6ce9b9b190..4276e9c12c 100755
--- a/ctdb/tests/onnode/0075.sh
+++ b/ctdb/tests/onnode/0075.sh
@@ -7,11 +7,11 @@ cmd="$ONNODE con hostname"
define_test "$cmd" "1st node disconnected"
ctdb_set_output <<EOF
-:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:
-:0:192.168.1.101:1:0:0:0:0:0:
-:1:192.168.1.102:0:0:0:0:0:0:
-:2:192.168.1.103:0:0:0:0:0:0:
-:3:192.168.1.104:0:0:0:0:0:0:
+:Node:IP:Disconnected:Banned:Disabled:Unhealthy:Stopped:Inactive:PartiallyOnline:ThisNode:
+:0:192.168.1.101:1:0:0:0:0:0:0:N:
+:1:192.168.1.102:0:0:0:0:0:0:0:Y:
+:2:192.168.1.103:0:0:0:0:0:0:0:N:
+:3:192.168.1.104:0:0:0:0:0:0:0:N:
EOF
required_result <<EOF
diff --git a/ctdb/tools/onnode b/ctdb/tools/onnode
index 11ad708693..0abc13636e 100755
--- a/ctdb/tools/onnode
+++ b/ctdb/tools/onnode
@@ -165,10 +165,10 @@ get_nodes_with_status ()
case "$status" in
healthy)
- # If any bit is not 0, don't match this address.
+ # If any bit is 1, don't match this address.
local s
for s ; do
- [ "$s" = "0" ] || continue 2
+ [ "$s" != "1" ] || continue 2
done
;;
connected)