ctdb-tests: Don't retrieve the VNN map from target node for notlmaster
authorMartin Schwenke <martin@meltin.net>
Mon, 29 Jul 2019 06:45:07 +0000 (16:45 +1000)
committerMartin Schwenke <martins@samba.org>
Wed, 21 Aug 2019 11:50:30 +0000 (11:50 +0000)
Use the VNN map from the node running node_has_status().

This means that

  wait_until_node_has_status 1 notlmaster 10 0

will run "ctdb status" on node 0 and check (for up to 10 seconds) if
node 1 is in the VNN map.

If the LMASTER capability has been dropped on node 1 then the above
will wait for the VNN map to be updated on node 0.  This will happen
as part of the recovery that is triggered by the change of LMASTER
capability.  The next command will then only be able to attach to
$TESTDB after the recovery is complete thus guaranteeing a sane state
for the test to continue.

This stops simple/79_volatile_db_traverse.sh from going into recovery
during the traverse or at some other inconvenient time.

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 36ee09c563b75121bab873a628662341c7dbac30..284449d4503c11536dda8696137cdec2f84a3f01 100644 (file)
@@ -329,8 +329,7 @@ node_has_status ()
                return
                ;;
        notlmaster)
-               ! $CTDB status -n "$pnn" | \
-                       grep -Eq "^hash:.* lmaster:${pnn}\$"
+               ! $CTDB status | grep -Eq "^hash:.* lmaster:${pnn}\$"
                return
                ;;
        esac