summaryrefslogtreecommitdiff
path: root/ctdb/tests/scripts/integration.bash
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2022-01-14 21:47:52 +1100
committerMartin Schwenke <martins@samba.org>2022-01-17 10:21:33 +0000
commit403db5b52882c91f35ae189bcf8f01f8180c7b50 (patch)
treea4d20ef4caff1df2bc49879721e1049d757efca3 /ctdb/tests/scripts/integration.bash
parent4786982cc80f4ec0c23673a144ac179fa60bde78 (diff)
downloadsamba-403db5b52882c91f35ae189bcf8f01f8180c7b50.tar.gz
ctdb-tests: Factor out getting leader and waiting for leader change
Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb/tests/scripts/integration.bash')
-rw-r--r--ctdb/tests/scripts/integration.bash44
1 files changed, 44 insertions, 0 deletions
diff --git a/ctdb/tests/scripts/integration.bash b/ctdb/tests/scripts/integration.bash
index cff2903b339..c9457aaf850 100644
--- a/ctdb/tests/scripts/integration.bash
+++ b/ctdb/tests/scripts/integration.bash
@@ -644,6 +644,50 @@ ctdb_base_show ()
#######################################
+# sets: leader
+_leader_get ()
+{
+ local node="$1"
+
+ ctdb_onnode "$node" recmaster
+ # shellcheck disable=SC2154
+ # $out set by ctdb_onnode() above
+ leader="$out"
+}
+
+leader_get ()
+{
+ local node="$1"
+
+ echo "Get leader"
+ _leader_get "$node"
+ echo "Leader is ${leader}"
+ echo
+}
+
+_leader_has_changed ()
+{
+ local node="$1"
+ local leader_old="$2"
+
+ _leader_get "$node"
+
+ [ "$leader" != "$leader_old" ]
+}
+
+# uses: leader
+wait_until_leader_has_changed ()
+{
+ local node="$1"
+
+ echo
+ echo "Wait until leader changes..."
+ wait_until 30 _leader_has_changed "$node" "$leader"
+ echo "Leader changed to ${leader}"
+}
+
+#######################################
+
wait_for_monitor_event ()
{
local pnn="$1"