ctdb-tests: Inline handling of recovered and notlmaster statuses
authorMartin Schwenke <martin@meltin.net>
Mon, 29 Jul 2019 05:45:41 +0000 (15:45 +1000)
committerKarolin Seeger <kseeger@samba.org>
Tue, 3 Sep 2019 12:05:38 +0000 (12:05 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14085

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit bb59073515ee5f7886b5d9a20d7b2805857c2708)

ctdb/tests/scripts/integration.bash

index dbf68b05b2e1e3e01727f7bb79b19b60ea1e91fb..712932d7d4b1b03824f9f84919bdf8ea43ae1665 100644 (file)
@@ -318,7 +318,7 @@ node_has_status ()
        local pnn="$1"
        local status="$2"
 
-       local bits rpat
+       local bits
        case "$status" in
        unhealthy)    bits="?|?|?|1|*" ;;
        healthy)      bits="?|?|?|0|*" ;;
@@ -330,8 +330,16 @@ node_has_status ()
        enabled)      bits="?|?|0|*" ;;
        stopped)      bits="?|?|?|?|1|*" ;;
        notstopped)   bits="?|?|?|?|0|*" ;;
-       recovered)    rpat='^Recovery mode:RECOVERY \(1\)$' ;;
-       notlmaster)   rpat="^hash:.* lmaster:${pnn}\$" ;;
+       recovered)
+               ! $CTDB status -n "$pnn" | \
+                       grep -Eq '^Recovery mode:RECOVERY \(1\)$'
+               return
+               ;;
+       notlmaster)
+               ! $CTDB status -n "$pnn" | \
+                       grep -Eq "^hash:.* lmaster:${pnn}\$"
+               return
+               ;;
        *)
                echo "node_has_status: unknown status \"$status\""
                return 1
@@ -354,10 +362,8 @@ node_has_status ()
                        done
                        return 1
                } <<<"$out" # Yay bash!
-       elif [ -n "$rpat" ] ; then
-               ! $CTDB status -n "$pnn" | egrep -q "$rpat"
        else
-               echo 'node_has_status: unknown mode, neither $bits nor $rpat is set'
+               echo 'node_has_status: unknown mode, $bits not set'
                return 1
        fi
 }