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)
committerMartin Schwenke <martins@samba.org>
Wed, 21 Aug 2019 11:50:30 +0000 (11:50 +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>
ctdb/tests/scripts/integration.bash

index c4d5179d902dfada8ee10b7ebcc324113ae5c47d..a81f2a022ebd3695d751f7e91abc59dbfb580621 100644 (file)
@@ -322,7 +322,7 @@ node_has_status ()
        local pnn="$1"
        local status="$2"
 
-       local bits rpat
+       local bits
        case "$status" in
        unhealthy)    bits="?|?|?|1|*" ;;
        healthy)      bits="?|?|?|0|*" ;;
@@ -334,8 +334,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
@@ -358,10 +366,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
 }