]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-tests: Update preamble for INTEGRATION tests
authorMartin Schwenke <martin@meltin.net>
Tue, 10 Dec 2019 03:50:42 +0000 (14:50 +1100)
committerMartin Schwenke <martins@samba.org>
Wed, 22 Jul 2020 07:53:35 +0000 (07:53 +0000)
* Use "#!/usr/bin/env bash" for improved portability

* Drop test_info() definition and replace it with a comment

  The use of test_info() is pointless.

* Drop call to cluster_is_healthy()

  This is a holdover from when the previous test would restart daemons
  to get things ready for a test.  There was also a bug where going
  into recovery during the restart would sometimes cause the cluster
  to become unhealthy.  If we really need something like this then we
  can add it to ctdb_test_init().

* Make order of preamble consistent

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
62 files changed:
ctdb/tests/INTEGRATION/database/basics.001.attach.sh
ctdb/tests/INTEGRATION/database/basics.002.attach.sh
ctdb/tests/INTEGRATION/database/basics.003.detach.sh
ctdb/tests/INTEGRATION/database/basics.004.wipe.sh
ctdb/tests/INTEGRATION/database/basics.010.backup_restore.sh
ctdb/tests/INTEGRATION/database/fetch.001.ring.sh
ctdb/tests/INTEGRATION/database/fetch.002.ring-hotkeys.sh
ctdb/tests/INTEGRATION/database/readonly.001.basic.sh
ctdb/tests/INTEGRATION/database/recovery.001.volatile.sh
ctdb/tests/INTEGRATION/database/recovery.002.large.sh
ctdb/tests/INTEGRATION/database/recovery.003.no_resurrect.sh
ctdb/tests/INTEGRATION/database/recovery.010.persistent.sh
ctdb/tests/INTEGRATION/database/recovery.011.continue.sh
ctdb/tests/INTEGRATION/database/transaction.001.ptrans.sh
ctdb/tests/INTEGRATION/database/transaction.002.loop.sh
ctdb/tests/INTEGRATION/database/transaction.003.loop_recovery.sh
ctdb/tests/INTEGRATION/database/transaction.004.update_record.sh
ctdb/tests/INTEGRATION/database/transaction.010.loop_recovery.sh
ctdb/tests/INTEGRATION/database/traverse.001.one.sh
ctdb/tests/INTEGRATION/database/traverse.002.many.sh
ctdb/tests/INTEGRATION/database/vacuum.001.fast.sh
ctdb/tests/INTEGRATION/database/vacuum.002.full.sh
ctdb/tests/INTEGRATION/database/vacuum.003.recreate.sh
ctdb/tests/INTEGRATION/database/vacuum.030.locked.sh
ctdb/tests/INTEGRATION/database/vacuum.031.locked.sh
ctdb/tests/INTEGRATION/database/vacuum.032.locked.sh
ctdb/tests/INTEGRATION/database/vacuum.033.locked.sh
ctdb/tests/INTEGRATION/database/vacuum.034.locked.sh
ctdb/tests/INTEGRATION/failover/pubips.001.list.sh
ctdb/tests/INTEGRATION/failover/pubips.010.addip.sh
ctdb/tests/INTEGRATION/failover/pubips.011.delip.sh
ctdb/tests/INTEGRATION/failover/pubips.012.reloadips.sh
ctdb/tests/INTEGRATION/failover/pubips.013.failover_noop.sh
ctdb/tests/INTEGRATION/failover/pubips.014.iface_gc.sh
ctdb/tests/INTEGRATION/failover/pubips.020.moveip.sh
ctdb/tests/INTEGRATION/failover/pubips.030.disable_enable.sh
ctdb/tests/INTEGRATION/failover/pubips.032.stop_continue.sh
ctdb/tests/INTEGRATION/failover/pubips.040.NoIPTakeover.sh
ctdb/tests/INTEGRATION/failover/pubips.050.missing_ip.sh
ctdb/tests/INTEGRATION/simple/basics.000.onnode.sh
ctdb/tests/INTEGRATION/simple/basics.001.listnodes.sh
ctdb/tests/INTEGRATION/simple/basics.002.tunables.sh
ctdb/tests/INTEGRATION/simple/basics.003.ping.sh
ctdb/tests/INTEGRATION/simple/basics.004.getpid.sh
ctdb/tests/INTEGRATION/simple/basics.005.process_exists.sh
ctdb/tests/INTEGRATION/simple/basics.010.statistics.sh
ctdb/tests/INTEGRATION/simple/basics.011.statistics_reset.sh
ctdb/tests/INTEGRATION/simple/cluster.001.isnotrecmaster.sh
ctdb/tests/INTEGRATION/simple/cluster.002.recmaster_yield.sh
ctdb/tests/INTEGRATION/simple/cluster.010.getrelock.sh
ctdb/tests/INTEGRATION/simple/cluster.012.reclock_command.sh
ctdb/tests/INTEGRATION/simple/cluster.015.reclock_remove_lock.sh
ctdb/tests/INTEGRATION/simple/cluster.016.reclock_move_lock_dir.sh
ctdb/tests/INTEGRATION/simple/cluster.020.message_ring.sh
ctdb/tests/INTEGRATION/simple/cluster.021.tunnel_ring.sh
ctdb/tests/INTEGRATION/simple/cluster.090.unreachable.sh
ctdb/tests/INTEGRATION/simple/cluster.091.version_check.sh
ctdb/tests/INTEGRATION/simple/debug.001.getdebug.sh
ctdb/tests/INTEGRATION/simple/debug.002.setdebug.sh
ctdb/tests/INTEGRATION/simple/debug.003.dumpmemory.sh
ctdb/tests/INTEGRATION/simple/eventscripts.001.zero_scripts.sh
ctdb/tests/INTEGRATION/simple/eventscripts.090.debug_hung.sh

index bcec20afc5e14a6492f391a2b14a2568958521ca..e5c6b81ba65ded6c55cc59f3a088651d99f54821 100755 (executable)
@@ -1,35 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that  'ctdb getdbmap' operates as expected.
-
-This test creates some test databases using 'ctdb attach'.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Get the database on using 'ctdb getdbmap'.
-3. Verify that the output is valid.
-
-Expected results:
-
-* 'ctdb getdbmap' shows a valid listing of databases.
-EOF
-}
+# Verify that 'ctdb getdbmap' operates as expected
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 make_temp_db_filename ()
 {
index ae09741f98028f1150c8c46827868380a4329333..6a5c812f35a9f9ccb248deb6706e60258d475e71 100755 (executable)
@@ -1,38 +1,19 @@
-#!/bin/bash
-
-test_info()
-{
-    cat <<EOF
-Verify the operation of 'ctdb attach' command.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Shut down one of the nodes
-3. Attach test databases
-4. Start shutdown node
-5. Verify that the databases are attached.
-6. Restart one of the nodes
-7. Verify that the databses are attached.
+#!/usr/bin/env bash
 
-
-Expected results:
-
-* Command 'ctdb attach' command successfully attaches databases.
-EOF
-}
+# Verify that databases are attached a node joins the cluster:
+# 1. Shut down CTDB on one node
+# 2. Attach test databases
+# 3. Check that databases are attached on all up nodes
+# 4. Start CTDB on the node where it is shut down
+# 5. Verify that the test databases are attached on this node
+# 6. Restart one of the nodes
+# 7. Verify that the test databases are attached on this node
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 ######################################################################
 
index 5d1e12328c66190eab2ef7464482bfd4da3ff621..cb44955d1e8361c95e6298f87906f6d90b8578f5 100755 (executable)
@@ -1,34 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify the operation of 'ctdb detach' command.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Attach test databases
-3. Detach test databases
-4. Verify that the databases are not attached.
-
-Expected results:
-
-* Command 'ctdb detach' command successfully removes attached databases.
-EOF
-}
+# Verify that 'ctdb detach' works as expected:
+# 1. Attach test databases
+# 2. Detach test databases
+# 3. Confirm test databases are not attached
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 ######################################################################
 
index 9305339d1e3fb68c6369d0300e100842ee637829..115d64cd60681376adebad1160fd78c1fd23a1e7 100755 (executable)
@@ -1,36 +1,17 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-The command 'ctdb wipedb' is used to clear a database across the whole
-cluster.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Create a persistent test database
-3. Add some records to node #0 and node #1
-4. Perform wipedb on node #0 and verify the database is empty on both node 0 and 1
-
-Expected results:
-
-* An empty database will result
-
-EOF
-}
+# Verify that 'ctdb wipedb' can clear a persistent database:
+# 1. Verify that the status on all of the ctdb nodes is 'OK'.
+# 2. Create a persistent test database
+# 3. Add some records to node 0 and node 1
+# 4. Run wipedb on node 0
+# 5. verify the database is empty on both node 0 and 1
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index 579233e0e8023446c29595ce75bad73effc124d8..8c469d4642be81c449ff7fb0f50246ad3ef23391 100755 (executable)
@@ -1,39 +1,18 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-The command 'ctdb restoredb' is used to restore a database across the
-whole cluster.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Create a persistent test database
-3. Add some records to test database
-4. Backup database
-5. Wipe database and verify the database is empty on all nodes
-6. Restore database and make sure all the records are restored
-7. Make sure no recovery has been triggered
-
-Expected results:
-
-* Database operations should not cause a recovery
-
-EOF
-}
+# Confirm that 'ctdb restoredb' works correctly:
+# 1. Create a persistent test database
+# 2. Add some records to test database
+# 3. Backup database
+# 4. Wipe database and verify the database is empty on all nodes
+# 5. Restore database and make sure all the records are restored
+# 6. Make sure no recovery has been triggered
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 $CTDB status
 generation=$(sed -n -e 's/^Generation:\([0-9]*\)/\1/p' "$outfile")
index 33df07b7d882705974aa6174bf42cb96a1243475..4d7d392240de89e0998fdf2dd2f07bb07bfc70bf 100755 (executable)
@@ -1,23 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Run the fetch_ring test and sanity check the output.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+# Run the fetch_ring test and sanity check the output
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index c4e0023e11ce0b55daeabfd527aeb7bfd687ecb9..6d442535a2125c8ea083dd1b08fd607a09c75f66 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Run the fetch_ring test, sanity check the output and check hot keys
 # statistics
index a83b4d315300a17245cd78362fa4d8b048df5c22..20faa3aa03b86ada6d02a1fdcddacdd907d7aabf 100755 (executable)
@@ -1,46 +1,28 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Read-only records can be activated at runtime using a ctdb command.
-If read-only records are not activated, then any attempt to fetch a read-only
-copy should be automatically upgraded to a read-write fetch_lock().
-
-If read-only delegations are present, then any attempt to aquire a read-write
-fetch_lock will trigger all delegations to be revoked before the fetch lock
-completes.
-
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
+# Test support for read-only records
 
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. create a test database and some records
-3. try to fetch read-only records, this should not result in any delegations
-4. activate read-only support
-5. try to fetch read-only records, this should result in delegations
-6. do a fetchlock  and the delegations should be revoked
-7. try to fetch read-only records, this should result in delegations
-8. do a recovery  and the delegations should be revoked
+# Read-only records can be activated at runtime using a ctdb command.
+# If read-only records are not activated, then any attempt to fetch a
+# read-only copy should be automatically upgraded to a read-write
+# fetch_locked().
 
-Expected results:
+# If read-only delegations are present, then any attempt to acquire a
+# read-write fetch_lock will trigger revocation of all delegations
+# before the fetch_locked().
 
-Delegations should be created and revoked as above
-
-EOF
-}
+# 1. Create a test database and some records
+# 2. Try to fetch read-only records, this should not result in any delegations
+# 3. Activate read-only support
+# 4. Try to fetch read-only records, this should result in delegations
+# 5. Do a fetchlock  and the delegations should be revoked
+# 6. Try to fetch read-only records, this should result in delegations
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 ######################################################################
 
index a8bc2d95ef6f5414d2c0a075896bd395e86236f9..e523e835de70b19a9d518b407fa829ef705e3f72 100755 (executable)
@@ -1,45 +1,33 @@
-#!/bin/bash
-
-test_info()
-{
-    cat <<EOF
-Recovery can under certain circumstances lead to old record copies
-resurrecting: Recovery selects the newest record copy purely by RSN. At
-the end of the recovery, the recovery master is the dmaster for all
-records in all (non-persistent) databases. And the other nodes locally
-hold the complete copy of the databases. The bug is that the recovery
-process does not increment the RSN on the recovery master at the end of
-the recovery. Now clients acting directly on the Recovery master will
-directly change a record's content on the recmaster without migration
-and hence without RSN bump.  So a subsequent recovery can not tell that
-the recmaster's copy is newer than the copies on the other nodes, since
-their RSN is the same. Hence, if the recmaster is not node 0 (or more
-precisely not the active node with the lowest node number), the recovery
-will choose copies from nodes with lower number and stick to these.
-
-Steps:
-
-1. Create a test database
-2. Add a record with value value1 on recovery master
-3. Force a recovery
-4. Update the record with value value2 on recovery master
-5. Force a recovery
-6. Fetch the record
-
-Expected results:
-
-* The record should have value value2 and not value1
-
-EOF
-}
+#!/usr/bin/env bash
+
+# Test that recovery correctly handles RSNs
+
+# Recovery can under certain circumstances lead to old record copies
+# resurrecting: Recovery selects the newest record copy purely by RSN. At
+# the end of the recovery, the recovery master is the dmaster for all
+# records in all (non-persistent) databases. And the other nodes locally
+# hold the complete copy of the databases. The bug is that the recovery
+# process does not increment the RSN on the recovery master at the end of
+# the recovery. Now clients acting directly on the Recovery master will
+# directly change a record's content on the recmaster without migration
+# and hence without RSN bump.  So a subsequent recovery can not tell that
+# the recmaster's copy is newer than the copies on the other nodes, since
+# their RSN is the same. Hence, if the recmaster is not node 0 (or more
+# precisely not the active node with the lowest node number), the recovery
+# will choose copies from nodes with lower number and stick to these.
+
+# 1. Create a test database
+# 2. Add a record with value value1 on recovery master
+# 3. Force a recovery
+# 4. Update the record with value value2 on recovery master
+# 5. Force a recovery
+# 6. Confirm that the value is value2
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 #
 # Main test
index 4f544fa8475bca39412e89659bf214fbff8dbaec..4c0f7024a997709ac61f1319b4ab6072bdd5ebdc 100755 (executable)
@@ -1,33 +1,23 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Older style of recovery using PULL_DB and PUSH_DB controls tries to
-construct a single large marshall buffer for all the records in the
-database.  However, this approach is problematic as talloc restricts the
-maximum size of buffer to 256M.  Also, trying to construct and send large
-buffers is inefficient and can cause CTDB daemon to be tied up for long
-periods of time.
+# Test recovery of large volatile and persistent databases
 
-Instead new style recovery is introduced using DB_PULL and
-DB_PUSH_START/DB_PUSH_CONFIRM controls.  This sends the records in
-batches of ~RecBufferSizeLimit in size at a time.
+# Older style of recovery using PULL_DB and PUSH_DB controls tries to
+# construct a single large marshall buffer for all the records in the
+# database.  However, this approach is problematic as talloc restricts the
+# maximum size of buffer to 256M.  Also, trying to construct and send large
+# buffers is inefficient and can cause CTDB daemon to be tied up for long
+# periods of time.
 
-Expected results:
-
-* The recovery should complete successfully
-
-EOF
-}
+# Instead new style recovery is introduced using DB_PULL and
+# DB_PUSH_START/DB_PUSH_CONFIRM controls.  This sends the records in
+# batches of ~RecBufferSizeLimit in size at a time.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 #
 # Main test
index b65452c0e0648a4cd36c79df731d37872f7f1ff7..b314d4d86ebaa9993cd6d23a9a86c0b7b0fced0d 100755 (executable)
@@ -1,19 +1,13 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Ensure recovery doesn't resurrect deleted records from recently inactive nodes
-EOF
-}
+# Ensure recovery doesn't resurrect deleted records from recently
+# inactive nodes
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 testdb="rec_test.tdb"
 
index 84e0ec15c43c78ed22acacccbddcb1621cd7205c..d13a9a5ccac4a48167cb4b5e299e86d21420b875 100755 (executable)
@@ -1,39 +1,20 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-The persistent databases are recovered using sequence number.
-The recovery is performed by picking the copy of the database from the
-node that has the highest sequence number and ignore the content on all
-other nodes.
-
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. create a persistent test database
-3. test that no seqnum record blends the database during recovery
-4. test that seqnum record does not blend the database during recovery
-
-Expected results:
-
-* that 3,4 will recover the highest seqnum database
-
-EOF
-}
+# Ensure that persistent databases are correctly recovered by database
+# sequence number
+#
+# 1. Create and wipe a persistent test database
+# 2. Directly add a single record to the database on each node
+# 3. Trigger a recover
+# 4. Ensure that the database contains only a single record
+#
+# Repeat but with sequence numbers set by hand on each node
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index 81aa6e089d3ab41c78e7516af7caceb242f37f7a..3376e062bedc62d56025b5ced0bf30bd8eb0e0e2 100755 (executable)
@@ -1,33 +1,20 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-This test confirms that the deleted records are not resurrected after recovery.
-
-Steps:
-
-1. Create a persistent database
-2. Add a record and update it few times.
-3. Delete the record
-4. Turn off one of the nodes
-5. Add a record with same key.
-6. Turn on the stopped node
-
-Expected results:
-
-* Check that the deleted record is present after recovery.
-
-EOF
-}
+# Confirm that the deleted records are not resurrected after recovery
+#
+# 1. Create a persistent database
+# 2. Add a record and update it few times.
+# 3. Delete the record
+# 4. Use "ctdb stop" to stop one of the nodes
+# 5. Add a record with same key.
+# 6. Continue on the stopped node
+# 7. Confirm that the record still exists
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 do_test()
 {
index 72b183483980631d9137c597f9b10e3193dccf54..556e52330a6a10df27b0c1d25912c5e0a06ee540 100755 (executable)
@@ -1,32 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that the ctdb ptrans works as expected
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Pipe some operation to ctdb ptrans and validate the TDB contents with ctdb catdb
-
-Expected results:
-
-* ctdb ptrans works as expected.
-EOF
-}
+# Verify that the 'ctdb ptrans' works as expected
+#
+# Pipe some operation to ctdb ptrans and validate the TDB contents
+# with ctdb catdb
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 TESTDB="ptrans_test.tdb"
 
index d47761216cead9501b454321f157b3cab741d15c..d633c7c0f05cf885ca4eaafeaa2a8e641426ce7e 100755 (executable)
@@ -1,23 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that the transaction_loop test succeeds.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+# Verify that the transaction_loop test succeeds
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 TESTDB="persistent_trans.tdb"
 
index 7beacb9c913a5eba6d78507c14f1686e6a28b183..05aadba04ce3a494cf3eeebf98d64ae5e938fba9 100755 (executable)
@@ -1,15 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that the transaction_loop test succeeds with recoveries.
+# Verify that the transaction_loop test succeeds with recoveries.
 
-Prerequisites:
+. "${TEST_SCRIPTS_DIR}/integration.bash"
 
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+set -e
+
+ctdb_test_init
 
 recovery_loop()
 {
@@ -30,14 +27,6 @@ recovery_loop_start()
        ctdb_test_exit_hook_add "kill $RECLOOP_PID >/dev/null 2>&1"
 }
 
-. "${TEST_SCRIPTS_DIR}/integration.bash"
-
-ctdb_test_init
-
-set -e
-
-cluster_is_healthy
-
 TESTDB="persistent_trans.tdb"
 
 try_command_on_node 0 "$CTDB attach $TESTDB persistent"
index 90b5ee0615143dd1437c41fa5b6ff363d80e6018..528303a64350789f29791f4a3d5753ba6898f72e 100755 (executable)
@@ -1,38 +1,21 @@
-#!/bin/bash
-
-test_info()
-{
-    cat <<EOF
-UPDATE_RECORD control should be able to create new records and update
-existing records in a persistent database.
-
-Prerequisites:
-
-* An active CTDB cluster with at least one active node.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. create a persistent test database
-3, wipe the database to make sure it is empty
-4, create a new record
-5, update the record
-
-Expected results:
-
-* 4 created record found in the tdb
-* 5 updated record found in the tdb
-
-EOF
-}
+#!/usr/bin/env bash
+
+# Verify that "ctdb update_record_persistent" creates new records and
+# updates existing records in a persistent database
+#
+# 1. Create and wipe a persistent test database
+# 2. Do a recovery
+# 3. Confirm that the database is empty
+# 4. Create a new record using "ctdb update_record_persistent"
+# 5. Confirm the record exists in the database using "ctdb cattdb"
+# 6. Update the record's value using "ctdb update_record_persistent"
+# 7. Confirm that the original value no longer exists using "ctdb cattdb"
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
@@ -44,7 +27,7 @@ echo "Create persistent test database \"$test_db\""
 try_command_on_node 0 $CTDB attach "$test_db" persistent
 
 
-# 3,
+# 3.
 echo "Wipe the persistent test database"
 try_command_on_node 0 $CTDB wipedb "$test_db"
 echo "Force a recovery"
@@ -59,7 +42,7 @@ else
     exit 1
 fi
 
-# 4,
+# 4.
 echo "Create a new record in the persistent database using UPDATE_RECORD"
 try_command_on_node 0 $CTDB_TEST_WRAPPER $VALGRIND update_record_persistent \
        -D "$test_db" -k "Update_Record_Persistent" -v "FirstValue"
@@ -72,7 +55,7 @@ else
     exit 1
 fi
 
-# 5,
+# 5.
 echo Modify an existing record in the persistent database using UPDATE_RECORD
 try_command_on_node 0 $CTDB_TEST_WRAPPER $VALGRIND update_record_persistent \
        -D "$test_db" -k "Update_Record_Persistent" -v "SecondValue"
index 4d5c1297fa940a0f327de42d7a67a03e62622d11..9de6c34be40ba504294c0bd3b65d912add4435f6 100755 (executable)
@@ -1,16 +1,13 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that the transaction_loop test succeeds with recoveries for replicated
-databases.
+# Verify that the transaction_loop test succeeds with recoveries for
+# replicated databases
 
-Prerequisites:
+. "${TEST_SCRIPTS_DIR}/integration.bash"
 
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+set -e
+
+ctdb_test_init
 
 recovery_loop()
 {
@@ -31,14 +28,6 @@ recovery_loop_start()
        ctdb_test_exit_hook_add "kill $RECLOOP_PID >/dev/null 2>&1"
 }
 
-. "${TEST_SCRIPTS_DIR}/integration.bash"
-
-ctdb_test_init
-
-set -e
-
-cluster_is_healthy
-
 TESTDB="replicated_trans.tdb"
 
 try_command_on_node 0 "$CTDB attach $TESTDB replicated"
index 7f3007d510536ff42991884dc582b811ab853e1d..1b3b7c2d25c69210c3dd350d8cbfac491c31d3fe 100755 (executable)
@@ -1,29 +1,17 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Confirm that traverses of volatile databases work as expected
-
-This is a very simple example.  It writes a single record, updates it
-on another node and then confirms that the correct value is found when
-traversing.  It then repeats this after removing the LMASTER role from
-the node where the value is updated.
-
-Expected results:
+# Confirm that traverses of volatile databases work as expected
 
-* The expected records should be found
-
-EOF
-}
+# This is a very simple example.  It writes a single record, updates it
+# on another node and then confirms that the correct value is found when
+# traversing.  It then repeats this after removing the LMASTER role from
+# the node where the value is updated.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 #
 # Main test
index d28f9c2814e1ad9be38d9a6b459c49a24237452d..fb0dc98f52b1cb34bbd7d34682d034ac0db81813 100755 (executable)
@@ -1,34 +1,16 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Test CTDB cluster wide traverse code.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Create a test database
-2. Add records on different nodes
-3. Run traverse
-
-Expected results:
-
-* All records are retrieved.
-
-EOF
-}
+# Test cluster wide traverse code
+#
+# 1. Create a volatile test database
+# 2. Add records on different nodes
+# 3. Use "ctdb catdb" to confirm that all added records are present
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes"
 num_nodes=$(echo "$out" | wc -l)
index 651de4df57c549d2ca2e0b4dd91c29fe347c528f..27a2225f437ba9a7fc22c1ba33ecb29825a14217 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Ensure that vacuuming deletes records on all nodes
 
index cc1113b02f5d9837e1ee8099035b156f0edd8355..0dc8372a6a825cb9862ff0f2e1f3a51d27ebaaba 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Ensure a full vacuuming run deletes records
 
index 00cb2c3df29f4c93a825c930726d1f51d92eb76e..acb7b135e5577177993b3f15faa4bf53526804de 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Ensure that vacuuming does not delete a record that is recreated
 # before vacuuming completes.  This needs at least 3 nodes.
index 193a769096d2eeb561d8c1c3be470417e29fd73e..386252633c84b5329295903b29d9c5d2f0528d53 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Confirm that a record is not vacuumed if it is locked when the 1st
 # fast vacuuming run occurs on the node on which it was deleted, but
index 284808c8775b14f87a1860013c471e194857b59a..b6adbf73c87056fc2834f7a4ced2590ff72a6de0 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Confirm that a record is vacuumed if it is locked on the deleting
 # node when the 2nd fast vacuuming run occurs, but vacuuming is
index 2f983aa79d60e05a6779216bc858acfeaced56a1..481d1d44428748ba1dae6d65baacfea32e83344a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Confirm that a record is not vacuumed if it is locked on the lmaster
 # when the 3rd fast vacuuming run occurs, but is dropped from the
index 47b6be2c7f2d1c686b12f9193c365b35d5e04b7e..63d7d1f393874dd545ad9ab9f15bc4167d410b26 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Confirm that a record is not vacuumed if it is locked on the
 # deleting node when the 3rd fast vacuuming run occurs, but is dropped
index 405ddbb8034c1a53dab46c349447e7c8dcb8c5a7..7f37ada31151ef758d6cb0f63f2e96b3e7e81576 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Confirm that a record is not vacuumed if it is locked on another
 # (non-lmaster, non-deleting) node when the 3rd fast vacuuming run
index d8e0097362fbd6256da43d3e15e50ff32f6058e1..2fc75b731b9ebeed75900cddf8c1ba8c1dfc77b1 100755 (executable)
@@ -1,35 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb ip' shows the correct output.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb ip' on one of the nodes and verify the list of IP
-   addresses displayed (cross check the result with the output of
-   'ip addr show' on the node).
-3. Verify that pipe-separated output is generated with the -X option.
-
-Expected results:
-
-* 'ctdb ip' shows the list of public IPs being served by a node.
-EOF
-}
+# Verify that 'ctdb ip' shows the correct output
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 echo "Getting list of public IPs..."
 try_command_on_node -v 1 "$CTDB ip all | tail -n +2"
index aefed54c45ea5da75c65d561e1b6e7ea8fd20ba9..aba85dd0499bdc838c9f6da07f29a5d0331f9207 100755 (executable)
@@ -1,22 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that an IP address can be added to a node using 'ctdb addip'.
-
-This test does not do any network level checks to make sure IP
-addresses are actually on interfaces.  It just consults "ctdb ip".
-EOF
-}
+# Verify that an IP address can be added to a node using 'ctdb addip'
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 get_test_ip_mask_and_iface
index d3f0f3a012bfcc2b0c938c55ec260aa55fa836f0..5235a9d32037908cd8451c91891935b4208fabf9 100755 (executable)
@@ -1,22 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that a node's public IP address can be deleted using 'ctdb deleteip'.
-
-This test does not do any network level checks to make sure IP
-addresses are actually on interfaces.  It just consults "ctdb ip".
-EOF
-}
+# Verify that a node's public IP address can be deleted using 'ctdb deleteip'
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index 451fca3a86646ee5c5486cf39637b45db9284c68..829b83930dacd008da12f65237c50055d294f7fd 100755 (executable)
@@ -1,31 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that IPs can be rearrranged using 'ctdb reloadips'.
-
-Various sub-tests that remove addresses from the public_addresses file
-on a node or delete the entire contents of the public_addresses file.
+# Verify that IPs can be reconfigured using 'ctdb reloadips'
 
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Expected results:
-
-* When addresses are deconfigured "ctdb ip" no longer reports them and
-  when added they are seen again.
-EOF
-}
+# Various sub-tests that remove addresses from the public_addresses file
+# on a node or delete the entire contents of the public_addresses file.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index 0c6fd833a5e93e62b28b74f46484449628506fd1..1c13a3ce3c2c12bcabdb313a8765e840f346c33b 100755 (executable)
@@ -1,17 +1,9 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Check that CTDB operates correctly if:
+# Check that CTDB operates correctly if:
 
-* failover is disabled; or
-* there are 0 public IPs configured
-
-This test only does anything with local daemons.  On a real cluster it
-has no way of updating configuration.
-EOF
-}
+# * failover is disabled; or
+# * there are 0 public IPs configured
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
index 2756f64ceb1c195ad56d41ff44cf3066c78c20bd..845b4b50fdb564158c59a9558a9bb52babfac6b3 100755 (executable)
@@ -1,19 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that an interface is deleted when all IPs on it are deleted.
-EOF
-}
+# Verify that an interface is deleted when all IPs on it are deleted
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index 699ccc3d2ee9a5de0f756663dec4d3e0b5abcf9d..68b5e079d66f31afd89de8b7e1044ee0e30e771d 100755 (executable)
@@ -1,25 +1,18 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that  'ctdb moveip' allows movement of public IPs between cluster nodes.
+# Verify that 'ctdb moveip' allows movement of public IPs between nodes
 
-This test does not do any network level checks to make sure IP
-addresses are actually on interfaces.  It just consults "ctdb ip".
+This test does not do any network level checks to make sure IP
+addresses are actually on interfaces.  It just consults "ctdb ip".
 
-To work, this test ensures that IPAllocAlgorithm is not set to 0
-(Deterministic IPs) and sets NoIPFailback.
-EOF
-}
+# To work, this test ensures that IPAllocAlgorithm is not set to 0
+# (Deterministic IPs) and sets NoIPFailback.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index c0bb62d1991c50ffe6d3be36f07eb9f77f3c5aed..9a1616ceefc95e3cd3830a5098f5ec90a7ac7585 100755 (executable)
@@ -1,22 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify the operation of "ctdb disable" and "ctdb enable"
-EOF
-}
+# Verify the operation of "ctdb disable" and "ctdb enable"
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
+set -e
+
 ctdb_test_init
 
 ########################################
 
-set -e
-
-cluster_is_healthy
-
 select_test_node_and_ips
 
 echo "Disabling node $test_node"
index d9a64508180e6c7479541fac1f91aae913b0f4ae..f5936b03d8843e8506953338fae17c4553c0dcf7 100755 (executable)
@@ -1,19 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify the operation of "ctdb stop" and "ctdb continue"
-EOF
-}
+# Verify the operation of "ctdb stop" and "ctdb continue"
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index 9af55d8e7efe04cc28412a3c8e6c78519c43e2a9..a39e48d0883023b56f306ce9ca9f31cf76299b46 100755 (executable)
@@ -1,34 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that  'ctdb setvar NoIPTakeover 1' stops ip addresses from being failed 
-over onto the node.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Use 'ctdb ip' on one of the nodes to list the IP addresses being
-   served.
-3. Use 'ctdb moveip' to move an address from one node to another.
-4. Verify that the IP is no longer being hosted by the first node and is now being hosted by the second node.
-
-Expected results:
-
-* 'ctdb moveip' allows an IP address to be moved between cluster nodes.
-EOF
-}
+# Verify that 'ctdb setvar NoIPTakeover 1' stops IP addresses being taken over
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
+set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index c455784c8862a8ea02406c5967590daaca333fb8..543f9a96d89454cd31c0514c0d4af14f1732f1f5 100755 (executable)
@@ -1,24 +1,17 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that the recovery daemon handles unhosted IPs properly.
+# Verify that the recovery daemon handles unhosted IPs properly
 
-This test does not do any network level checks to make sure the IP
-address is actually on an interface.  It just consults "ctdb ip".
+This test does not do any network level checks to make sure the IP
+address is actually on an interface.  It just consults "ctdb ip".
 
-This is a variation of the "addip" test.
-EOF
-}
+# This is a variation of the "addip" test.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node_and_ips
 
index 7e74c0888473af8d0b80c4c031e1f1100fdb4bb5..4ca6e462ad4de14d1c777d00090cd4ab18c3ccd3 100755 (executable)
@@ -1,29 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Use 'onnode' to confirm connectivity between all cluster nodes.
-
-Steps:
-
-1. Do a recursive "onnode all" to make sure all the nodes can connect
-   to each other.  On a cluster this ensures that SSH keys are known
-   between all hosts, which will stop output being corrupted with
-   messages about nodes being added to the list of known hosts.
-
-Expected results:
-
-* 'onnode' works between all nodes.
-EOF
-}
+# Use 'onnode' to confirm connectivity between all cluster nodes
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
+set -e
 
-# 
+ctdb_test_init
 
 echo "Checking connectivity between nodes..."
 onnode all onnode -p all hostname
index 722c9d2a0354f70c07cbbbd85eaee80acd2d1d7b..aafe27e6cc166d9e530b0f9b3bfecae963f63fdb 100755 (executable)
@@ -1,34 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb listnodes' shows the list of nodes in a ctdb cluster.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb listnodes' on all the nodes of the cluster.
-3. Verify that one all the nodes the command displays a list of
-   current cluster nodes.
-
-Expected results:
-
-* 'ctdb listnodes' displays the correct information.
-EOF
-}
+# Verify that 'ctdb listnodes' shows the list of nodes
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node -v 0 "$CTDB listnodes"
 
index 2e7a08b6f6fe6680c738663e0f8dd7811b7051de..6f362c685b3c999a2b70cf2128b1e620837c1c02 100755 (executable)
@@ -1,19 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify the operation of "ctdb listvars", "ctdb getvar", "ctdb setvar"
-EOF
-}
+# Verify the operation of "ctdb listvars", "ctdb getvar", "ctdb setvar"
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node -v 0 "$CTDB listvars"
 
index 1ff37b903f7b900fb3e3353df2c359e194cfd604..8071762ca4015fba61172329d0bdbebebbcb5a98 100755 (executable)
@@ -1,39 +1,21 @@
-#!/bin/bash
-
-test_info()
-{
-    cat <<EOF
-Verify the operation of the 'ctdb ping' command.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run the 'ctdb ping' command on one of the nodes and verify that it
-   shows valid and expected output. 
-3. Shutdown one of the cluster nodes, using the 'ctdb shutdown'
-   command. 
-4. Run the 'ctdb ping -n <node>' command from another node to this
-   node. 
-5. Verify that the command is not successful since th ctdb daemon is
-   not running on the node.
-
-Expected results:
-
-* The 'ctdb ping' command shows valid and expected output.
-EOF
-}
+#!/usr/bin/env bash
+
+# Verify the operation of the 'ctdb ping' command
+#
+# 1. Run the 'ctdb ping' command on one of the nodes and verify that it
+#    shows valid and expected output.
+# 2. Shutdown one of the cluster nodes, using the 'ctdb shutdown'
+#    command.
+# 3. Run the 'ctdb ping -n <node>' command from another node to this
+#    node.
+# 4. Verify that the command is not successful since th ctdb daemon is
+#    not running on the node.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node -v 0 "$CTDB ping -n 1"
 
index 48540d052b2a77a9bb2998c7ec7fbaa07575bbf3..27025df93097f02e6ae88bb797726bb9987582d6 100755 (executable)
@@ -1,34 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb getpid' works as expected.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb getpid -n <number>' on the nodes to check the PID of the
-   ctdbd process.
-3. Verify that the output is valid.
-
-Expected results:
-
-* 'ctdb getpid' shows valid output.
-EOF
-}
+# Verify that 'ctdb getpid' works as expected
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index ae331bcec33bb3f207c84453f9995b7e9c43e637..c6212fda52e25d57260db21c11eb921162cdd351 100755 (executable)
@@ -1,39 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb process-exists' shows correct information.
-
-The implementation is creative about how it gets PIDs for existing and
-non-existing processes.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. On one of the cluster nodes, get the PID of a ctdb client.
-3. Run 'ctdb process-exists <pid>' on the node and verify that the
-   correct output is shown.
-4. Run 'ctdb process-exists <pid>' with a pid of ctdb daemon
-   process and verify that the correct output is shown.
+# Verify that 'ctdb process-exists' shows correct information
 
-Expected results:
-
-* 'ctdb process-exists' shows the correct output.
-EOF
-}
+# The implementation is creative about how it gets PIDs for existing and
+# non-existing processes.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 test_node=1
 srvid=0xAE00000012345678
index cda6e5f478ed92828cdacd2d34a8e0fc4ae72d72..d97e0353b2e894f8489d7befab2c8dc2da85899e 100755 (executable)
@@ -1,35 +1,14 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb statistics' works as expected.
+# Verify that 'ctdb statistics' works as expected
 
-This is pretty superficial and could do more validation.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb statistics' on a node, and verify that the output is
-   valid.
-
-Expected results:
-
-* 'ctdb statistics' shows valid output on all the nodes.
-EOF
-}
+# This is pretty superficial and could do more validation.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 pattern='^(CTDB version 1|Current time of statistics[[:space:]]*:.*|Statistics collected since[[:space:]]*:.*|Gathered statistics for [[:digit:]]+ nodes|[[:space:]]+[[:alpha:]_]+[[:space:]]+[[:digit:]]+|[[:space:]]+(node|client|timeouts|locks)|[[:space:]]+([[:alpha:]_]+_latency|max_reclock_[[:alpha:]]+)[[:space:]]+[[:digit:]-]+\.[[:digit:]]+[[:space:]]sec|[[:space:]]*(locks_latency|reclock_ctdbd|reclock_recd|call_latency|lockwait_latency|childwrite_latency)[[:space:]]+MIN/AVG/MAX[[:space:]]+[-.[:digit:]]+/[-.[:digit:]]+/[-.[:digit:]]+ sec out of [[:digit:]]+|[[:space:]]+(hop_count_buckets|lock_buckets):[[:space:][:digit:]]+)$'
 
index 1dce7b39965500a514c83c55b151eba487735671..51f34d9f03402648faf652b0696cc6a6cc9a4238 100755 (executable)
@@ -1,36 +1,15 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb statisticsreset' works as expected.
-
-This is pretty superficial.  It just checks that a few particular
-items reduce.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb statisticsreset' on all nodes and verify that it executes
-   successfully.
+# Verify that 'ctdb statisticsreset' works as expected
 
-Expected results:
-
-* 'ctdb statisticsreset' executes successfully.
-EOF
-}
+# This is pretty superficial.  It just checks that a few particular
+# items reduce.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index 68e22879ba3e5318cc283f5f161c21bdec72b036..7d8620bc2f5d3961e07d396785e0b07077f1886e 100755 (executable)
@@ -1,36 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify the operation of 'ctdb isnotrecmaster'.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb isnotrecmaster' on each node.
-
-3. Verify that only 1 node shows the output 'This node is the
-   recmaster' and all the other nodes show the output 'This node is
-   not the recmaster'.
-
-Expected results:
-
-* 'ctdb isnotrecmaster' shows the correct output.
-EOF
-}
+# Verify the operation of 'ctdb isnotrecmaster'
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 cmd="$CTDB isnotrecmaster || true"
 try_command_on_node -v all "$cmd"
index f32a784863f5667cfd93b9a7355671722d909584..67406dc29d2ce71993919c2978dff3a08983b3d7 100755 (executable)
@@ -1,34 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb stop' causes a node to yield the recovery master role.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Determine which node is the recmaster.
-2. Stop this node using the 'ctdb stop' command.
-3. Verify that the status of the node changes to 'stopped'.
-4. Verify that this node no longer has the recovery master role.
-
-Expected results:
-
-* The 'ctdb stop' command causes a node to yield the recmaster role.
-EOF
-}
+# Verify that 'ctdb stop' causes a node to yield the recovery master role
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 echo "Finding out which node is the recovery master..."
 try_command_on_node -v 0 "$CTDB recmaster"
index 8cedd34045b37f85e86dcf113d1c1e45146bf1aa..58633af973df0629dc5ec39d1bd1bccd02e76cc1 100755 (executable)
@@ -1,21 +1,14 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that "ctdb getreclock" gets the recovery lock correctly.
+# Verify that "ctdb getreclock" gets the recovery lock correctly
 
-Make sure the recovery lock is consistent across all nodes.
-EOF
-}
+# Make sure the recovery lock is consistent across all nodes.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 echo "Check that recovery lock is set the same on all nodes..."
 try_command_on_node -v -q all $CTDB getreclock
index 8199b079610b51434faba682c482e9aa963652b1..76be340d7cbf8794d1570405c2e1b255e8771736 100755 (executable)
@@ -1,15 +1,10 @@
-#!/bin/bash
-
-test_info()
-{
-    cat <<EOF
-Check that CTDB operates correctly if the recovery lock is configured
-as a command.
-
-This test only does anything with local daemons.  On a real cluster it
-has no way of updating configuration.
-EOF
-}
+#!/usr/bin/env bash
+
+# Check that CTDB operates correctly if the recovery lock is configured
+# as a command.
+
+# This test works only with local daemons.  On a real cluster it has
+# no way of updating configuration.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
index d74bcf819b4a73d405e9924d91d2970df974b465..eccf0bea9daf8a95082bc9aa2ad93d5dafe77d2e 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Verify that the cluster recovers if the recovery lock is removed.
 
index cd193f05a4916e600f201c315dbe91eee573912b..e6f63417abd49d656686d21723b97e339a3c352c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Verify that if the directory containing the recovery lock is moved
 # then all nodes are banned (because they can't take the lock).
index 6f90c8fd5bb908ab0689dc2cc23c979d95205924..b841f5b02f205e24e681a2c7dcd9e206f15d997f 100755 (executable)
@@ -1,23 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Run the message_ring test and sanity check the output.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+# Run the message_ring test and sanity check the output
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index c78c4209ea6474f444a8bb85eecf01eefb231edc..f86d08022188de3ba8543dd33689e1984f2db146 100755 (executable)
@@ -1,23 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Run tunnel_test and sanity check the output.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-EOF
-}
+# Run tunnel_test and sanity check the output
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index d7c0c0f9100bd51cf15dcca22b4fe8dad2077682..2835e55cd97b76b88d2c34903d89f2824a900c29 100755 (executable)
@@ -1,44 +1,16 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify an error occurs if a ctdb command is run against a node without a ctdbd.
+# Verify an error occurs if a ctdb command is run against a node
+# without a ctdbd
 
-That is, check that an error message is printed if an attempt is made
-to execute a ctdb command against a node that is not running ctdbd.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Shutdown ctdb on a node using 'ctdb shutdown -n <node>'.
-3. Verify that the status of the node changes to 'DISCONNECTED'.
-4. Now run 'ctdb ip -n <node>' from another node.
-5. Verify that an error message is printed stating that the node is
-   disconnected.
-6. Execute some other commands against the shutdown node.  For example,
-   disable, enable, ban, unban, listvars.
-7. For each command, verify that an error message is printed stating
-   that the node is disconnected. 
-
-Expected results:
-
-* For a node on which ctdb is not running, all commands display an
-  error message stating that the node is disconnected.
-EOF
-}
+# That is, check that an error message is printed if an attempt is made
+# to execute a ctdb command against a node that is not running ctdbd.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 test_node=1
 
index fa934e8bef1d55db65944af15edbc37be6d7ad47..be7175036dcf1f603673fb045ede25a129dd9433 100755 (executable)
@@ -1,11 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Check that the CTDB version consistency checking operates correctly.
-EOF
-}
+# Check that the CTDB version consistency checking operates correctly
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
@@ -15,8 +10,6 @@ ctdb_test_skip_on_cluster
 
 ctdb_test_init
 
-cluster_is_healthy
-
 select_test_node
 
 try_command_on_node -v "$test_node" ctdb version
index 979392f9a1d179634d21c626512b9607f3ae791b..2220a20812547429b2d686baf993873a17e992b9 100755 (executable)
@@ -1,32 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb getdebug' works as expected.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Get the current debug level on a node, using 'ctdb getdebug -n <node>'.
-
-Expected results:
-
-* 'ctdb getdebug' shows the debug level on all the nodes.
-EOF
-}
+# Verify that 'ctdb getdebug' works as expected
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 try_command_on_node 0 "$CTDB listnodes | wc -l"
 num_nodes="$out"
index 3e04ca3373341405bc18398dbaf48e0c9e74d896..dd5949eec77fb53caf0a10cca6b4cdb4ad810c19 100755 (executable)
@@ -1,23 +1,16 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb setdebug' works as expected.
+# Verify that 'ctdb setdebug' works as expected.
 
-This is a little superficial.  It checks that CTDB thinks the debug
-level has been changed but doesn't actually check that logging occurs
-at the new level.
-EOF
-}
+# This is a little superficial.  It checks that CTDB thinks the debug
+# level has been changed but doesn't actually check that logging occurs
+# at the new level.
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 select_test_node
 
index 3d976c17d0f68ad349fc06df776b8c657ded222e..6205c27c6caab6c37513c3e2491a366a96fb6c11 100755 (executable)
@@ -1,32 +1,12 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify that 'ctdb dumpmemory' shows expected output.
-
-Prerequisites:
-
-* An active CTDB cluster with at least 2 active nodes.
-
-Steps:
-
-1. Verify that the status on all of the ctdb nodes is 'OK'.
-2. Run 'ctdb dumpmemory' and verify that it shows expected output
-
-Expected results:
-
-* 'ctdb dumpmemory' sows valid output.
-EOF
-}
+# Verify that 'ctdb dumpmemory' shows expected output
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
-ctdb_test_init
-
 set -e
 
-cluster_is_healthy
+ctdb_test_init
 
 pat='^([[:space:]].+[[:space:]]+contains[[:space:]]+[[:digit:]]+ bytes in[[:space:]]+[[:digit:]]+ blocks \(ref [[:digit:]]+\)[[:space:]]+0x[[:xdigit:]]+|[[:space:]]+reference to: .+|full talloc report on .+ \(total[[:space:]]+[[:digit:]]+ bytes in [[:digit:]]+ blocks\))$'
 
index 4e55319000e93e9c30430e9d889b5665b70fa51f..fb1d031e9826e0e08fcbbd7eebee4e5c1fe13a86 100755 (executable)
@@ -1,14 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Check that CTDB operated correctly if there are 0 event scripts
+# Check that CTDB operates correctly if there are 0 event scripts
 
-This test only does anything with local daemons.  On a real cluster it
-has no way of updating configuration.
-EOF
-}
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
index 0e39496155e34c0d065a5e6ee96ec9d966fd446c..046989cabb1a9644f998bc8ea4a60d439fe15ed5 100755 (executable)
@@ -1,19 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-test_info()
-{
-    cat <<EOF
-Verify CTDB's debugging of timed out eventscripts
-
-Prerequisites:
-
-* An active CTDB cluster with monitoring enabled
-
-Expected results:
-
-* When an eventscript times out the correct debugging is executed.
-EOF
-}
+# Verify CTDB's debugging of timed out eventscripts
 
 . "${TEST_SCRIPTS_DIR}/integration.bash"
 
@@ -23,8 +10,6 @@ ctdb_test_skip_on_cluster
 
 ctdb_test_init
 
-cluster_is_healthy
-
 select_test_node
 
 ####################