ctdb-tests: Be more efficient about starting/stopping local daemons
authorMartin Schwenke <martin@meltin.net>
Thu, 20 Sep 2018 04:42:42 +0000 (14:42 +1000)
committerAmitay Isaacs <amitay@samba.org>
Mon, 8 Oct 2018 00:46:22 +0000 (02:46 +0200)
Don't loop, just use onnode all.

For shutting down, use onnode -p all.  This results in a significant
time saving for stopping many deamons because "ctdb shutdown" is now
synchronous.

onnode -p all can be used to start daemons directly because they
daemonize.  However, this does not work under valgrind because the
valgrind process does not exit, so onnode will wait forever for it.
In this case, use onnode without the -p option.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/simple/scripts/local_daemons.bash

index 6adec79c2af7d719ed9ed606bfa00663403eed60..04597e9f1b3bd1eba785fbd52802b0985ec9460e 100644 (file)
@@ -168,12 +168,9 @@ start_ctdb_1 ()
 
 ctdb_start_all ()
 {
-    echo "Starting $TEST_LOCAL_DAEMONS ctdb daemons..."
+       echo "Starting $TEST_LOCAL_DAEMONS ctdb daemons..."
 
-    local pnn
-    for pnn in $(seq 0 $(($TEST_LOCAL_DAEMONS - 1))) ; do
-       start_ctdb_1 "$pnn"
-    done
+       onnode all $VALGRIND ctdbd
 }
 
 stop_ctdb_1 ()
@@ -185,12 +182,9 @@ stop_ctdb_1 ()
 
 ctdb_stop_all ()
 {
-    echo "Stopping $TEST_LOCAL_DAEMONS ctdb daemons..."
+       echo "Stopping $TEST_LOCAL_DAEMONS ctdb daemons..."
 
-    local pnn
-    for pnn in $(seq 0 $(($TEST_LOCAL_DAEMONS - 1))) ; do
-       stop_ctdb_1 "$pnn"
-    done
+       onnode -p all $CTDB shutdown
 }
 
 restart_ctdb_1 ()