1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

ctdb-tests: Separate custom cluster startup from test initialisation

Separate cluster startup from test initialisation for tests that start
the cluster with customised configuration.  In these cases the result
of the cluster startup is actually the point of the test.
Additionally, pubips.013.failover_noop.sh claims to have completed
test initialisation twice, which just seems wrong.

The result is:

* ctdb_test_init() takes one option (-n) to indicate when it should
  not configure/start the cluster

* New function ctdb_nodes_start_custom() accepts options for special
  cluster configuration, only operates on local daemons and triggers a
  test failure rather than a test error on failure.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
This commit is contained in:
Martin Schwenke 2019-12-10 14:44:45 +11:00 committed by Martin Schwenke
parent a766136df4
commit 37c26a9590
4 changed files with 30 additions and 14 deletions

View File

@ -11,10 +11,10 @@ set -e
ctdb_test_skip_on_cluster
echo "Starting CTDB with failover disabled..."
ctdb_test_init -F
ctdb_test_init -n
cluster_is_healthy
echo "Starting CTDB with failover disabled..."
ctdb_nodes_start_custom -F
echo "Getting IP allocation..."
try_command_on_node -v any "$CTDB ip all | tail -n +2"
@ -30,9 +30,7 @@ echo "GOOD: All IP addresses are unassigned"
echo "----------------------------------------"
echo "Starting CTDB with an empty public addresses configuration..."
ctdb_test_init -P /dev/null
cluster_is_healthy
ctdb_nodes_start_custom -P /dev/null
echo "Trying explicit ipreallocate..."
try_command_on_node any $CTDB ipreallocate

View File

@ -12,9 +12,9 @@ set -e
ctdb_test_skip_on_cluster
echo "Starting CTDB with recovery lock command configured..."
ctdb_test_init -R
ctdb_test_init -n
cluster_is_healthy
echo "Starting CTDB with recovery lock command configured..."
ctdb_nodes_start_custom -R
echo "Good, that seems to work!"

View File

@ -9,8 +9,8 @@ set -e
ctdb_test_skip_on_cluster
ctdb_test_init --no-event-scripts
ctdb_test_init -n
cluster_is_healthy
ctdb_nodes_start_custom --no-event-scripts
echo "Good, that seems to work!"

View File

@ -88,19 +88,37 @@ ctdb_test_cleanup_pid_clear ()
ctdb_test_cleanup_pid=""
}
# -n option means do not configure/start cluster
ctdb_test_init ()
{
trap "ctdb_test_exit" 0
ctdb_nodes_stop >/dev/null 2>&1 || true
if [ "$1" != "-n" ] ; then
echo "Configuring cluster..."
setup_ctdb || ctdb_test_error "Cluster configuration failed"
echo "Starting cluster..."
ctdb_init || ctdb_test_error "Cluster startup failed"
fi
echo "*** SETUP COMPLETE AT $(date '+%F %T'), RUNNING TEST..."
}
ctdb_nodes_start_custom ()
{
if ctdb_test_on_cluster ; then
ctdb_test_error "ctdb_nodes_start_custom() on real cluster"
fi
ctdb_nodes_stop >/dev/null 2>&1 || true
echo "Configuring cluster..."
setup_ctdb "$@" || ctdb_test_error "Cluster configuration failed"
echo "Starting cluster..."
ctdb_init || ctdb_test_error "Cluster startup failed"
echo "*** SETUP COMPLETE AT $(date '+%F %T'), RUNNING TEST..."
ctdb_init || ctdb_test_fail "Cluster startup failed"
}
ctdb_test_skip_on_cluster ()