[SCM] CTDB repository - branch master updated -
ctdb-1.0.70b-91-ge1be8cb
Ronnie Sahlberg
sahlberg at samba.org
Wed Feb 18 02:28:52 GMT 2009
The branch, master has been updated
via e1be8cb2dc32f56eabd537b658b47929818b8d01 (commit)
via fe4eea45c6b5702a794424037c3f2ab4241d5e5e (commit)
via 4777b74b1e2eebe54cf27f3303f60e49023e7f6a (commit)
via 03dfcf9f284c9926479a8dd4e5acf1f5d2b964aa (commit)
via 4928718a346f086f1683c78d52b0bf009c1150a3 (commit)
via 80dc86320dde7cc81db8c8fde97cfcbac7914920 (commit)
via 4b97bdba3bc4df20efb1aae7d89a1e3430d35ca3 (commit)
via 2912c1ade5db1e20bfa3a8017a702cc8a7da36f1 (commit)
via 44ec4c57bf9928ef5d5cc117a6c2d92495dac489 (commit)
via 5cdbef46b74e6a5ba2383ef025e69fe605fa4f6e (commit)
via a497010f67d6a8e68f4d6d7e516b88d2261b1062 (commit)
via 3ecce31d3a3f72b9fa851ac99291865c119e551e (commit)
via 928c30213fb9f0c32d82995892ccdd8e054c9d6e (commit)
via 33cdf3e4bcfadf8e20822ca352babf7acca16821 (commit)
via 486ed3b5b483f1c12c2d978ec6564bd33a2c6aee (commit)
via e627f8e5fe8e2e3ea423b7dbd12d74597fb4983b (commit)
via 2c055831f0d56e42d055e1d72fb6f0db5f71def1 (commit)
via 33afe9bae732e62994e5957ee143a9c49571898b (commit)
via 099a1605574c7a8d232fd4c2d0c65e55aedeafad (commit)
via a99204ad8bd4d3b15c8219762442682a3d1285cf (commit)
via f5aeab0390b735291ee82359f50d508619211623 (commit)
via da61a9822f66ff227b8859bf15ba76fd9afb9d12 (commit)
via f90f6e19952d58b8590fe550ecf2308bd9b065dc (commit)
via b7be3de004cb05dad05704096e2a75e128952b18 (commit)
via 497c40f69e06776861a780500da1952eb7ea8fc1 (commit)
via 4c5eb616f041e4a10d8f8b3251fc3db5a58e726f (commit)
via 2a069118fee169460bdf68b9a639b0e96ac85266 (commit)
via 86807e8b7b179cbe87e559fb3b1f02c8b1990dc4 (commit)
via 674d1660e5602f2fab1eaf219a6b8b5ddf24c402 (commit)
via b5eec91bd185c91a09b3f42ed26fee7b13a70d9d (commit)
via 6cbe8923ead8226de1c20cfd8718e43fe8525ce1 (commit)
via 23bffef2295772f5b795236d60b7fb6ea754b7fb (commit)
via 2ecc701869c8bc2d823a8073453c6caf1575dc47 (commit)
via 1b00fe0bac36422d30be167a009c452058975a21 (commit)
via ec354d602d20700e6769deb798436d08256a49d5 (commit)
via 3d59783c0e9478f4766c380945d6200fc654f5d9 (commit)
via 4e1c079deb0aafb99d4114bb6504ff5ba1cbdeb4 (commit)
via 4ff5875c965f21ab76a5924efd92f1832aeb36d4 (commit)
via 805a426aaee5ecfc5bd1c097069fe58f8241dfe2 (commit)
via a69545d7dec78eefb85a1598e5db4667cc210bf9 (commit)
via e040a989096cf7d5c0cdece1713ff903cb7568f8 (commit)
via c6fc68db9061547e73ec2b811e260bd7da7f58fa (commit)
via 826e85fe5291067b8d0b9c22918d63024aa6141c (commit)
via e5af1e4d945c25cd20d6fb5ef042e6de1aeda4a9 (commit)
via 4c54772c5c2fa7d2a25963379b5b96caf0c2521c (commit)
via e088116238eb107e9831fccbfd66c1db3d837a3b (commit)
via eacb2ef82ea4809d874158756db973dd1e3fc8fc (commit)
via f77a91c0828a79f99d0c422f7e09b17c69174907 (commit)
via 9c392c9d18e2360360122b7356874fe5cc7cca64 (commit)
via aea77353c5996510f09c72cddfb54894ad9048b0 (commit)
via b3c431abb79a6c18464129695e482ebc84f3964d (commit)
via 6a47302c43eaee93783d83fb976ffce8cdc78be2 (commit)
via 05bdafed82106a0d8bfa53cd730eb3e1db68a51f (commit)
via 16626eaf9c63adfe780e8f51f9cd97810647e731 (commit)
via 19ccbc8a8fbc81b107fdc80afc802a107fc9fb84 (commit)
via 79ad588d61a56a062c043eae6aba3370ec10ac61 (commit)
via 8314a647d4bc38d9210c32d645d581f210b05cdc (commit)
via 81dd4155e92fc9d11ac788a97a5fd3c50488cc80 (commit)
via f2e6b7e9d130eba9132eddda1a5e244a542a23ed (commit)
via 241971bb95e42a19c8a6d8641eb92b3827b79226 (commit)
via 93214ddf89640d65710867fefb4fde094d4aa3a8 (commit)
via 747650303b87e50ebc08ef7fa63011e4f19afc4f (commit)
via 8119238d1fa672814a7591593b517c3c42859315 (commit)
via 98f27a323e234214a161b5766f9c567f47b9dbb7 (commit)
via 6b67f180668c7a05c941b4891bd2486601790165 (commit)
from 59a04a50e64aae0a89b165d0428e23a8bcf8eb24 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e1be8cb2dc32f56eabd537b658b47929818b8d01
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Feb 18 13:22:26 2009 +1100
new version 1.0.72
commit fe4eea45c6b5702a794424037c3f2ab4241d5e5e
Merge: 59a04a50e64aae0a89b165d0428e23a8bcf8eb24 4777b74b1e2eebe54cf27f3303f60e49023e7f6a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Feb 18 13:10:03 2009 +1100
Merge branch 'martins'
commit 4777b74b1e2eebe54cf27f3303f60e49023e7f6a
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 16 15:50:33 2009 +1100
Make message in 62_ctdb_persistent_unsafe.sh more informative.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 03dfcf9f284c9926479a8dd4e5acf1f5d2b964aa
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 16 15:12:40 2009 +1100
23_ctdb_moveip.sh sanity checks the list of IPs/nodes instead of
looping forever on older versions of CTDB.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 4928718a346f086f1683c78d52b0bf009c1150a3
Merge: 80dc86320dde7cc81db8c8fde97cfcbac7914920 3b88f3dec5227e8579672974f7028fb356ee1d94
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 16 14:19:55 2009 +1100
Merge commit 'origin/master' into martins
commit 80dc86320dde7cc81db8c8fde97cfcbac7914920
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 16 14:17:04 2009 +1100
Git should ignore the test_trigger event script.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 4b97bdba3bc4df20efb1aae7d89a1e3430d35ca3
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 13 17:02:59 2009 +1100
Remove the sorts from 06_ctdb_getpid.sh - the PIDs should be listed in
node order.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 2912c1ade5db1e20bfa3a8017a702cc8a7da36f1
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 13 14:55:31 2009 +1100
Use $CTDB_TEST_WRAPPER in other tests that need it.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 44ec4c57bf9928ef5d5cc117a6c2d92495dac489
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 13 14:51:40 2009 +1100
Use $CTDB_TEST_WRAPPER in 51_ctdb_bench.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 5cdbef46b74e6a5ba2383ef025e69fe605fa4f6e
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Jan 12 15:47:12 2009 +1100
For now, make tests/run_tests.sh runs the new test suite. Add
tests/TODO. Remove tests/start_daemons.sh - no longer used.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit a497010f67d6a8e68f4d6d7e516b88d2261b1062
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 9 18:15:06 2009 +1100
Test binaries now go in tests/bin and ctdb_test_env now adds this
directory to $PATH if local daemons are being used.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 3ecce31d3a3f72b9fa851ac99291865c119e551e
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 9 17:52:38 2009 +1100
Add tests/README. ctdb_test_env and, therefore, run_tests can now be
run from the tests subdirectory... and most other sensible places.
Rename $CTDB_TEST_REMOTE_SCRIPTS_DIR to $CTDB_TEST_REMOTE_DIR since it
is now intented that this directory can contain test binaries too.
daemons_start() now passes a full path to the events.d directory when
starting ctdbd. Also fixed the path to ctdbd. 41_ctdb_ban.sh and
42_ctdb_unban.sh fail immediately if they fail to select a test node.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 928c30213fb9f0c32d82995892ccdd8e054c9d6e
Merge: 33cdf3e4bcfadf8e20822ca352babf7acca16821 fd85e53794ef7fe24c51c94534370545a0711bd4
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 8 17:28:09 2009 +1100
Merge commit 'origin/master' into martins
commit 33cdf3e4bcfadf8e20822ca352babf7acca16821
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 8 17:12:03 2009 +1100
Delete some unstructured tests ({fetch,peristent,transaction}.sh) and
replace them with new simple tests (52_ctdb_fetch.sh,
53_ctdb_transaction.sh, 61_ctdb_persistent_safe.sh,
62_ctdb_persistent_unsafe.sh). Remove "_simple" from some test
filenames in the simple subdirectory - that's redundant. Always run
ctdb as $CTDB to allow $VALGRIND magic to be used. Use pgrep/pkill to
detect/kill local daemons so those running under valgrind can be found
too - to support this, always run local daemons with the full path to
the executable. run_tests now supports -s option to print sumamry
when done - with more and more tests, it is getting hard to follow
progress. Sort the output of commands in 06_ctdb_getpid.sh to make
sure they compare nicely and also allow the processes' executables to
be called "memcheck" to catch those running under valgrind. Remove
redundant calls to onnode in commands run from calls
try_command_on_node in some tests. 41_ctdb_ban.sh and
42_ctdb_unban.sh avoid banning the recmaster, since this causes the
recmaster to be reassigned and all nodes to be unbanned. Minor
cleanups.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 486ed3b5b483f1c12c2d978ec6564bd33a2c6aee
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Dec 18 14:25:07 2008 +1100
Remove old ctdbd.sh test script. Remove unneeded nodes.txt and
public_addresses files - these are now created in tests/var as needed.
09_ctdb_ping.sh now recognises new "node disconnected" message.
Replace custom recovery detection code (which could not have been
working) with a call to "ctdb recover" in 32_ctdb_enable_simple.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit e627f8e5fe8e2e3ea423b7dbd12d74597fb4983b
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Dec 18 11:28:43 2008 +1100
Remove bench.sh test and replace with new test 51_ctdb_bench.sh.
Function try_command_on_node node passes any options other than -v to
onnode. Minor update to 14_ctdb_statistics.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 2c055831f0d56e42d055e1d72fb6f0db5f71def1
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Dec 18 09:45:49 2008 +1100
Bug fixes for ctdb_bench from Ronnie.
commit 33afe9bae732e62994e5957ee143a9c49571898b
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 17 16:59:23 2008 +1100
ctdb_test_env now sets $CTDB_TIMEOUT. Fixed
26_ctdb_config_check_error_on_unreachable_ctdb.sh to work with new
generic error message when trying to talk to disconnected node.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 099a1605574c7a8d232fd4c2d0c65e55aedeafad
Merge: a99204ad8bd4d3b15c8219762442682a3d1285cf 7ee6db06162ad5a554058bb6160ad37b24fe42e0
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 17 15:05:44 2008 +1100
Merge commit 'origin/master' into martins
commit a99204ad8bd4d3b15c8219762442682a3d1285cf
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 16 17:32:34 2008 +1100
New test 26_ctdb_config_check_error_on_unreachable_ctdb.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit f5aeab0390b735291ee82359f50d508619211623
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 16 17:22:22 2008 +1100
Finish 24_ctdb_getdbmap.sh. New test 25_dumpmemory.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit da61a9822f66ff227b8859bf15ba76fd9afb9d12
Merge: f90f6e19952d58b8590fe550ecf2308bd9b065dc 023d6c2e3017d323b5a70f987f3b4e0b8b8f0f7b
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 16 11:21:55 2008 +1100
Merge commit 'origin/master' into martins
commit f90f6e19952d58b8590fe550ecf2308bd9b065dc
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Dec 15 17:52:12 2008 +1100
3 new tests. 24_ctdb_getdbmap.sh is only 1/2 implemented but does
something vaguely useful. ctdb_test_exit unsets $ctdb_test_exit_hook.
Fix bug in 17_ctdb_config_delete_ip.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit b7be3de004cb05dad05704096e2a75e128952b18
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 12 18:44:21 2008 +1100
Add a recovery to ctdb_test_exit to improve test stability.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 497c40f69e06776861a780500da1952eb7ea8fc1
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 12 17:25:38 2008 +1100
Rename $CTDB_NUM_NODES to $CTDB_TEST_NUM_DAEMONS and only set it if
$CTDB_TEST_REAL_CLUSTER is not set. After a ctdb restart, force a
recovery to attempt to help tests that follows.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 4c5eb616f041e4a10d8f8b3251fc3db5a58e726f
Merge: 2a069118fee169460bdf68b9a639b0e96ac85266 e50c9667b86160eb5dfb9868aff420b72f799a5f
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 12 15:39:53 2008 +1100
Merge commit 'origin/master' into martins
commit 2a069118fee169460bdf68b9a639b0e96ac85266
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Dec 11 18:14:17 2008 +1100
Add message about restart to 18_ctdb_freeze.sh.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 86807e8b7b179cbe87e559fb3b1f02c8b1990dc4
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 10 16:13:42 2008 +1100
With local daemons the sockets are now numbered starting from 0. Fix
setup of local daemons so that it correctly assigns no public IPs to a
single node each time. Separate out daemon_setup so that the
selection of the node with no public IPs is only done once at the
beginning of testing. Clean up all current tests, mostly with a view
to ensuring that a node selected for testing some kind of failover
actually has public addresses assigned. Reenabled 01_ctdb_version.sh
- it now passes if rpm doesn't do anything useful on the node.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 674d1660e5602f2fab1eaf219a6b8b5ddf24c402
Merge: b5eec91bd185c91a09b3f42ed26fee7b13a70d9d 8a0df9324a03b0f17772c64a9331236126c22124
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 10 11:42:02 2008 +1100
Merge commit 'origin/master' into martins
commit b5eec91bd185c91a09b3f42ed26fee7b13a70d9d
Merge: 6cbe8923ead8226de1c20cfd8718e43fe8525ce1 c404d57afb2adda039e676877838927d3073df11
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 10 11:32:24 2008 +1100
Merge commit 'origin/master' into martins
commit 6cbe8923ead8226de1c20cfd8718e43fe8525ce1
Merge: 23bffef2295772f5b795236d60b7fb6ea754b7fb 993f626e603b9bbc02942bb55096d63b9a4f456b
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Dec 10 11:22:59 2008 +1100
Merge commit 'origin/master' into martins
commit 23bffef2295772f5b795236d60b7fb6ea754b7fb
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 9 18:20:11 2008 +1100
Added use of $ctdb_test_exit_hook to function ctdb_test_exit. Removed
sleeps from ban/unban tests. Now expect "ctdb ping" to return false
if it fails, so made relevant change to 09_ctdb_ping.sh. New
functions install_eventscript and uninstall_eventscript. New
setup/cleanup tests 00_ctdb_install_eventscript.sh and
99_ctdb_uninstall_eventscript.sh. New test 21_ctdb_disablemonitor.sh,
which is incredibly complex.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 2ecc701869c8bc2d823a8073453c6caf1575dc47
Merge: 1b00fe0bac36422d30be167a009c452058975a21 39c77371a2f995025a584691fe61af12dc6ed5d7
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 9 11:46:34 2008 +1100
Merge commit 'origin/master' into martins
commit 1b00fe0bac36422d30be167a009c452058975a21
Merge: ec354d602d20700e6769deb798436d08256a49d5 7b41b518c3ffebf1712445a8c6242509dc798003
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Dec 8 17:03:50 2008 +1100
Merge commit 'origin/master' into martins
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 4 +
Makefile.in | 41 +-
ib/config.m4 | 2 +-
packaging/RPM/ctdb.spec | 7 +-
tests/README | 106 ++++
tests/TODO | 4 +
tests/bench.sh | 24 -
tests/ctdb_bench.c | 229 --------
tests/ctdbd.sh | 50 --
tests/fetch.sh | 21 -
tests/nodes.txt | 4 -
tests/persistent.sh | 47 --
tests/public_addresses | 4 -
tests/run_tests.sh | 6 +-
tests/scripts/ctdb_test_env | 43 ++
tests/scripts/ctdb_test_functions.bash | 577 ++++++++++++++++++++
tests/scripts/run_tests | 64 +++
tests/scripts/test_wrap | 10 +
tests/simple/00_ctdb_init.sh | 33 ++
tests/simple/00_ctdb_install_eventscript.sh | 58 ++
tests/simple/00_ctdb_onnode.sh | 29 +
tests/simple/01_ctdb_version.sh | 52 ++
tests/simple/02_ctdb_listvars.sh | 43 ++
tests/simple/03_ctdb_getvar.sh | 55 ++
tests/simple/04_ctdb_setvar.sh | 81 +++
tests/simple/05_ctdb_listnodes.sh | 61 ++
tests/simple/06_ctdb_getpid.sh | 86 +++
tests/simple/07_ctdb_process_exists.sh | 78 +++
tests/simple/08_ctdb_isnotrecmaster.sh | 58 ++
tests/simple/09_ctdb_ping.sh | 58 ++
tests/simple/11_ctdb_ip.sh | 63 +++
tests/simple/12_ctdb_getdebug.sh | 84 +++
tests/simple/13_ctdb_setdebug.sh | 85 +++
tests/simple/14_ctdb_statistics.sh | 46 ++
tests/simple/15_ctdb_statisticsreset.sh | 85 +++
tests/simple/16_ctdb_config_add_ip.sh | 118 ++++
tests/simple/17_ctdb_config_delete_ip.sh | 75 +++
tests/simple/18_ctdb_freeze.sh | 51 ++
tests/simple/19_ctdb_thaw.sh | 57 ++
tests/simple/20_ctdb_getmonmode.sh | 69 +++
tests/simple/21_ctdb_disablemonitor.sh | 101 ++++
tests/simple/22_ctdb_enablemonitor.sh | 101 ++++
tests/simple/23_ctdb_moveip.sh | 105 ++++
tests/simple/24_ctdb_getdbmap.sh | 75 +++
tests/simple/25_dumpmemory.sh | 54 ++
..._ctdb_config_check_error_on_unreachable_ctdb.sh | 71 +++
tests/simple/31_ctdb_disable.sh | 72 +++
tests/simple/32_ctdb_enable.sh | 91 +++
tests/simple/41_ctdb_ban.sh | 100 ++++
tests/simple/42_ctdb_unban.sh | 97 ++++
tests/simple/51_ctdb_bench.sh | 94 ++++
tests/simple/52_ctdb_fetch.sh | 93 ++++
tests/simple/53_ctdb_transaction.sh | 41 ++
tests/simple/61_ctdb_persistent_safe.sh | 41 ++
tests/simple/62_ctdb_persistent_unsafe.sh | 41 ++
tests/simple/99_ctdb_uninstall_eventscript.sh | 24 +
tests/src/ctdb_bench.c | 248 +++++++++
tests/{ => src}/ctdb_fetch.c | 0
tests/{ => src}/ctdb_persistent.c | 0
tests/{ => src}/ctdb_randrec.c | 0
tests/{ => src}/ctdb_store.c | 0
tests/{ => src}/ctdb_transaction.c | 0
tests/{ => src}/ctdb_traverse.c | 0
tests/{ => src}/rb_perftest.c | 0
tests/{ => src}/rb_test.c | 0
tests/start_daemons.sh | 42 --
tests/transaction.sh | 28 -
tools/onnode | 36 +-
68 files changed, 3737 insertions(+), 486 deletions(-)
create mode 100644 tests/README
create mode 100644 tests/TODO
delete mode 100755 tests/bench.sh
delete mode 100644 tests/ctdb_bench.c
delete mode 100755 tests/ctdbd.sh
delete mode 100755 tests/fetch.sh
delete mode 100644 tests/nodes.txt
delete mode 100755 tests/persistent.sh
delete mode 100644 tests/public_addresses
create mode 100755 tests/scripts/ctdb_test_env
create mode 100644 tests/scripts/ctdb_test_functions.bash
create mode 100755 tests/scripts/run_tests
create mode 100755 tests/scripts/test_wrap
create mode 100755 tests/simple/00_ctdb_init.sh
create mode 100755 tests/simple/00_ctdb_install_eventscript.sh
create mode 100755 tests/simple/00_ctdb_onnode.sh
create mode 100755 tests/simple/01_ctdb_version.sh
create mode 100755 tests/simple/02_ctdb_listvars.sh
create mode 100755 tests/simple/03_ctdb_getvar.sh
create mode 100755 tests/simple/04_ctdb_setvar.sh
create mode 100755 tests/simple/05_ctdb_listnodes.sh
create mode 100755 tests/simple/06_ctdb_getpid.sh
create mode 100755 tests/simple/07_ctdb_process_exists.sh
create mode 100755 tests/simple/08_ctdb_isnotrecmaster.sh
create mode 100755 tests/simple/09_ctdb_ping.sh
create mode 100755 tests/simple/11_ctdb_ip.sh
create mode 100755 tests/simple/12_ctdb_getdebug.sh
create mode 100755 tests/simple/13_ctdb_setdebug.sh
create mode 100755 tests/simple/14_ctdb_statistics.sh
create mode 100755 tests/simple/15_ctdb_statisticsreset.sh
create mode 100755 tests/simple/16_ctdb_config_add_ip.sh
create mode 100755 tests/simple/17_ctdb_config_delete_ip.sh
create mode 100755 tests/simple/18_ctdb_freeze.sh
create mode 100755 tests/simple/19_ctdb_thaw.sh
create mode 100755 tests/simple/20_ctdb_getmonmode.sh
create mode 100755 tests/simple/21_ctdb_disablemonitor.sh
create mode 100755 tests/simple/22_ctdb_enablemonitor.sh
create mode 100755 tests/simple/23_ctdb_moveip.sh
create mode 100755 tests/simple/24_ctdb_getdbmap.sh
create mode 100755 tests/simple/25_dumpmemory.sh
create mode 100755 tests/simple/26_ctdb_config_check_error_on_unreachable_ctdb.sh
create mode 100755 tests/simple/31_ctdb_disable.sh
create mode 100755 tests/simple/32_ctdb_enable.sh
create mode 100755 tests/simple/41_ctdb_ban.sh
create mode 100755 tests/simple/42_ctdb_unban.sh
create mode 100755 tests/simple/51_ctdb_bench.sh
create mode 100755 tests/simple/52_ctdb_fetch.sh
create mode 100755 tests/simple/53_ctdb_transaction.sh
create mode 100755 tests/simple/61_ctdb_persistent_safe.sh
create mode 100755 tests/simple/62_ctdb_persistent_unsafe.sh
create mode 100755 tests/simple/99_ctdb_uninstall_eventscript.sh
create mode 100644 tests/src/ctdb_bench.c
rename tests/{ => src}/ctdb_fetch.c (100%)
rename tests/{ => src}/ctdb_persistent.c (100%)
rename tests/{ => src}/ctdb_randrec.c (100%)
rename tests/{ => src}/ctdb_store.c (100%)
rename tests/{ => src}/ctdb_transaction.c (100%)
rename tests/{ => src}/ctdb_traverse.c (100%)
rename tests/{ => src}/rb_perftest.c (100%)
rename tests/{ => src}/rb_test.c (100%)
delete mode 100755 tests/start_daemons.sh
delete mode 100755 tests/transaction.sh
Changeset truncated at 500 lines:
diff --git a/.gitignore b/.gitignore
index 37b1a74..826bc1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,5 +15,9 @@ utils/smnotify/gen_smnotify.c
utils/smnotify/gen_xdr.c
utils/smnotify/smnotify.h
nodes.txt
+public_addresses.txt
rec.lock
test.db
+tests/bin
+tests/events.d/00.ctdb_test_trigger
+tests/var
diff --git a/Makefile.in b/Makefile.in
index 0002da5..a1a8f7d 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -56,14 +56,15 @@ CTDB_SERVER_OBJ = server/ctdbd.o server/ctdb_daemon.o server/ctdb_lockwait.o \
server/ctdb_keepalive.o server/ctdb_logging.o server/ctdb_uptime.c \
$(CTDB_CLIENT_OBJ) $(CTDB_TCP_OBJ) @INFINIBAND_WRAPPER_OBJ@
-TEST_BINS=bin/ctdb_bench bin/ctdb_fetch bin/ctdb_store bin/ctdb_randrec bin/ctdb_persistent \
- bin/ctdb_traverse bin/rb_test bin/ctdb_transaction \
+TEST_BINS=tests/bin/ctdb_bench tests/bin/ctdb_fetch tests/bin/ctdb_store \
+ tests/bin/ctdb_randrec tests/bin/ctdb_persistent \
+ tests/bin/ctdb_traverse tests/bin/rb_test tests/bin/ctdb_transaction \
@INFINIBAND_BINS@
BINS = bin/ctdb @CTDB_SCSI_IO@ bin/ctdb_ipmux bin/smnotify
SBINS = bin/ctdbd
-DIRS = lib bin
+DIRS = lib bin tests/bin
.SUFFIXES: .c .o .h .1 .1.xml .1.html
@@ -114,39 +115,39 @@ utils/smnotify/gen_smnotify.c: utils/smnotify/smnotify.x utils/smnotify/smnotify
@echo Generating $@
rpcgen -l utils/smnotify/smnotify.x > utils/smnotify/gen_smnotify.c
-bin/rb_test: $(CTDB_CLIENT_OBJ) tests/rb_test.o
+tests/bin/rb_test: $(CTDB_CLIENT_OBJ) tests/src/rb_test.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/rb_test.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/rb_test.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_bench: $(CTDB_CLIENT_OBJ) tests/ctdb_bench.o
+tests/bin/ctdb_bench: $(CTDB_CLIENT_OBJ) tests/src/ctdb_bench.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_bench.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_bench.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_fetch: $(CTDB_CLIENT_OBJ) tests/ctdb_fetch.o
+tests/bin/ctdb_fetch: $(CTDB_CLIENT_OBJ) tests/src/ctdb_fetch.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_fetch.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_fetch.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_store: $(CTDB_CLIENT_OBJ) tests/ctdb_store.o
+tests/bin/ctdb_store: $(CTDB_CLIENT_OBJ) tests/src/ctdb_store.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_store.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_store.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_traverse: $(CTDB_CLIENT_OBJ) tests/ctdb_traverse.o
+tests/bin/ctdb_traverse: $(CTDB_CLIENT_OBJ) tests/src/ctdb_traverse.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_traverse.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_traverse.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_randrec: $(CTDB_CLIENT_OBJ) tests/ctdb_randrec.o
+tests/bin/ctdb_randrec: $(CTDB_CLIENT_OBJ) tests/src/ctdb_randrec.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_randrec.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_randrec.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_persistent: $(CTDB_CLIENT_OBJ) tests/ctdb_persistent.o
+tests/bin/ctdb_persistent: $(CTDB_CLIENT_OBJ) tests/src/ctdb_persistent.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_persistent.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_persistent.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ctdb_transaction: $(CTDB_CLIENT_OBJ) tests/ctdb_transaction.o
+tests/bin/ctdb_transaction: $(CTDB_CLIENT_OBJ) tests/src/ctdb_transaction.o
@echo Linking $@
- @$(CC) $(CFLAGS) -o $@ tests/ctdb_transaction.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_transaction.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
-bin/ibwrapper_test: $(CTDB_CLIENT_OBJ) ib/ibwrapper_test.o
+tests/bin/ibwrapper_test: $(CTDB_CLIENT_OBJ) ib/ibwrapper_test.o
@echo Linking $@
@$(CC) $(CFLAGS) -o $@ ib/ibwrapper_test.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
diff --git a/ib/config.m4 b/ib/config.m4
index 9d95ea7..47d6fac 100644
--- a/ib/config.m4
+++ b/ib/config.m4
@@ -9,7 +9,7 @@ if eval "test x$enable_infiniband = xyes"; then
INFINIBAND_WRAPPER_OBJ="ib/ibwrapper.o ib/ibw_ctdb.o ib/ibw_ctdb_init.o"
INFINIBAND_LIBS="-lrdmacm -libverbs"
- INFINIBAND_BINS="bin/ibwrapper_test"
+ INFINIBAND_BINS="tests/bin/ibwrapper_test"
AC_CHECK_HEADERS(infiniband/verbs.h, [], [
echo "ERROR: you need infiniband/verbs.h when ib enabled!"
diff --git a/packaging/RPM/ctdb.spec b/packaging/RPM/ctdb.spec
index e31771f..08c5c90 100644
--- a/packaging/RPM/ctdb.spec
+++ b/packaging/RPM/ctdb.spec
@@ -4,7 +4,7 @@ Summary: Clustered TDB
Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
Name: ctdb
-Version: 1.0.71
+Version: 1.0.72
Release: 1
Epoch: 0
License: GNU GPL version 3
@@ -128,6 +128,11 @@ fi
%{_includedir}/ctdb_private.h
%changelog
+* Wed Feb 18 2009 : Version 1.0.72
+ - Updates to test scripts by martin s
+ - Adding a COPYING file
+ - Use netstat to check for services and ports and fallback to netcat
+ only if netstat is unavailable.
* Mon Feb 2 2009 : Version 1.0.71
- Additional ipv6 fixes from Michael Adams
* Fri Jan 16 2009 : Version 1.0.70
diff --git a/tests/README b/tests/README
new file mode 100644
index 0000000..5b6b714
--- /dev/null
+++ b/tests/README
@@ -0,0 +1,106 @@
+Introduction
+------------
+
+The run_tests script can be run as follows:
+
+ scripts/run_tests simple/*.sh
+
+It can also be run from other places (e.g. the top level ctdb source
+directory), as it works out where the tree is.
+
+The pseudo-test simple/00_ctdb_init.sh causes ctdb to be (re)started
+on all nodes to attempt to force the cluster into a healthy state. By
+default (i.e. if CTDB_TEST_REAL_CLUSTER is unset - see below) this
+causes some local daemons to be started on the local machine. Tests
+can also be run against a real or virtual cluster. All tests
+communicate with cluster nodes using onnode - when using local daemons
+this is accomplished via some test hooks in onnode and the ctdb
+client.
+
+Command-line options
+--------------------
+
+The most useful option is "-s", which causes a summary of test results
+to be printed at the end of testing.
+
+Environment variables
+---------------------
+
+run_tests supports several environment variables, mostly implemented
+in scripts/ctdb_test_env. These are:
+
+* CTDB_TEST_REAL_CLUSTER
+
+ If set, testing will occur on a real or virtual cluster.
+
+ Assumptions:
+
+ - The ctdb client command can be found via $PATH on the nodes.
+
+ - Password-less ssh access to the cluster nodes is permitted from
+ the test host.
+
+ - $CTDB_NODES_FILE is set to the location of a file similar to
+ /etc/ctdb/nodes. The file can be obtained by scping it from one
+ of the cluster nodes.
+
+ - See CTDB_TEST_REMOTE_DIR.
+
+ If not set, testing will proceed against local daemons.
+
+* CTDB_TEST_REMOTE_DIR
+
+ This may be required when running against a real or virtual cluster
+ (as opposed to local daemons).
+
+ If set, this points to a directory containing the contents of the
+ tests/scripts/ directory, as well as all of the test binaries. This
+ can be accomplished in a couple of ways:
+
+ * By copying the relevant scripts/binaries to some directory.
+
+ * Building an RPM containing all of the test code that is required
+ on the cluster nodes and installing it on each node. Hopefully
+ this will be supported in a future version of the CTDB packaging
+ process.
+
+ If not set, the test system assumes that the CTDB tree is available
+ in the same location on the cluster nodes as on the test host. This
+ could be accomplished by copying or by sharing with NFS (or
+ similar).
+
+* VALGRIND
+
+ This can be used to cause all invocations of the ctdb client (and,
+ with local daemons, the ctdbd daemons themselves) to occur under
+ valgrind.
+
+ The easiest way of doing this is something like:
+
+ VALGRIND="valgrind -q" scripts/run_tests ...
+
+ NOTE: Some libc calls seem to do weird things and perhaps cause
+ spurious output from ctdbd at start time. Please read valgrind
+ output carefully before reporting bugs. :-)
+
+* CTDB
+
+ How to invoke the ctdb client. If not already set and if $VALGRIND
+ is set, this is set to "$VALGRIND ctdb". If this is not already set
+ but $VALGRIND is not set, this is simply set to "ctdb"
+
+Look, no run_test!
+------------------
+
+If you want to integrate individual tests into some other test
+environment you can use scripts/ctdb_test_env to wrap individual
+tests. They will return 0 on success, non-zero otherwise, and will
+print the output omitting the test header/footer that surrounds test
+output when tests are run using run_tests. So, you can do something
+like:
+
+ for i in simple/*.sh ; do
+ my_test_framework_wrapper scripts/ctdb_test_env $i
+ done
+
+to have your own framework process the test results and output.
diff --git a/tests/TODO b/tests/TODO
new file mode 100644
index 0000000..be471cc
--- /dev/null
+++ b/tests/TODO
@@ -0,0 +1,4 @@
+* Make tests know about IPv6.
+* Tests that write to database.
+* Tests that check actual network connectivity on failover.
+* Handle interrupting tests better.
diff --git a/tests/bench.sh b/tests/bench.sh
deleted file mode 100755
index f83401f..0000000
--- a/tests/bench.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-killall -q ctdb_bench ctdbd
-
-NUMNODES=2
-if [ $# -gt 0 ]; then
- NUMNODES=$1
-fi
-
-rm -f nodes.txt
-for i in `seq 1 $NUMNODES`; do
- echo 127.0.0.$i >> nodes.txt
-done
-
-tests/start_daemons.sh $NUMNODES nodes.txt || exit 1
-
-killall -9 ctdb_bench
-echo "Trying $NUMNODES nodes"
-for i in `seq 1 $NUMNODES`; do
- $VALGRIND bin/ctdb_bench --socket sock.$i -n $NUMNODES $* &
-done
-
-wait
-bin/ctdb shutdown --socket sock.1 -n all
diff --git a/tests/ctdb_bench.c b/tests/ctdb_bench.c
deleted file mode 100644
index 2d6b3ab..0000000
--- a/tests/ctdb_bench.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- simple ctdb benchmark
-
- Copyright (C) Andrew Tridgell 2006
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "includes.h"
-#include "lib/events/events.h"
-#include "system/filesys.h"
-#include "popt.h"
-#include "cmdline.h"
-
-#include <sys/time.h>
-#include <time.h>
-
-static struct timeval tp1,tp2;
-
-static void start_timer(void)
-{
- gettimeofday(&tp1,NULL);
-}
-
-static double end_timer(void)
-{
- gettimeofday(&tp2,NULL);
- return (tp2.tv_sec + (tp2.tv_usec*1.0e-6)) -
- (tp1.tv_sec + (tp1.tv_usec*1.0e-6));
-}
-
-
-static int timelimit = 10;
-static int num_records = 10;
-static int num_nodes;
-
-enum my_functions {FUNC_INCR=1, FUNC_FETCH=2};
-
-/*
- ctdb call function to increment an integer
-*/
-static int incr_func(struct ctdb_call_info *call)
-{
- if (call->record_data.dsize == 0) {
- call->new_data = talloc(call, TDB_DATA);
- if (call->new_data == NULL) {
- return CTDB_ERR_NOMEM;
- }
- call->new_data->dptr = talloc_size(call, 4);
- call->new_data->dsize = 4;
- *(uint32_t *)call->new_data->dptr = 0;
- } else {
- call->new_data = &call->record_data;
- }
- (*(uint32_t *)call->new_data->dptr)++;
- return 0;
-}
-
-/*
- ctdb call function to fetch a record
-*/
-static int fetch_func(struct ctdb_call_info *call)
-{
- call->reply_data = &call->record_data;
- return 0;
-}
-
-
-static int msg_count;
-static int msg_plus, msg_minus;
-
-/*
- handler for messages in bench_ring()
-*/
-static void ring_message_handler(struct ctdb_context *ctdb, uint64_t srvid,
- TDB_DATA data, void *private_data)
-{
- int incr = *(int *)data.dptr;
- int *count = (int *)private_data;
- int dest;
- (*count)++;
- dest = (ctdb_get_pnn(ctdb) + incr) % num_nodes;
- ctdb_send_message(ctdb, dest, srvid, data);
- if (incr == 1) {
- msg_plus++;
- } else {
- msg_minus++;
- }
-}
-
-/*
- benchmark sending messages in a ring around the nodes
-*/
-static void bench_ring(struct ctdb_context *ctdb, struct event_context *ev)
-{
- int pnn=ctdb_get_pnn(ctdb);
-
- if (pnn == 0) {
- /* two messages are injected into the ring, moving
- in opposite directions */
- int dest, incr;
- TDB_DATA data;
-
- data.dptr = (uint8_t *)&incr;
- data.dsize = sizeof(incr);
-
- incr = 1;
- dest = (ctdb_get_pnn(ctdb) + incr) % num_nodes;
- ctdb_send_message(ctdb, dest, 0, data);
-
- incr = -1;
- dest = (ctdb_get_pnn(ctdb) + incr) % num_nodes;
- ctdb_send_message(ctdb, dest, 0, data);
- }
-
- start_timer();
-
- while (end_timer() < timelimit) {
- if (pnn == 0 && msg_count % 10000 == 0) {
- printf("Ring: %.2f msgs/sec (+ve=%d -ve=%d)\r",
- msg_count/end_timer(), msg_plus, msg_minus);
- fflush(stdout);
- }
- event_loop_once(ev);
- }
-
- printf("Ring: %.2f msgs/sec (+ve=%d -ve=%d)\n",
- msg_count/end_timer(), msg_plus, msg_minus);
-}
-
-/*
- handler for reconfigure message
-*/
-static void reconfigure_handler(struct ctdb_context *ctdb, uint64_t srvid,
- TDB_DATA data, void *private_data)
-{
- int *ready = (int *)private_data;
- *ready = 1;
-}
-
-
-/*
- main program
-*/
-int main(int argc, const char *argv[])
-{
- struct ctdb_context *ctdb;
- struct ctdb_db_context *ctdb_db;
-
- struct poptOption popt_options[] = {
- POPT_AUTOHELP
- POPT_CTDB_CMDLINE
- { "timelimit", 't', POPT_ARG_INT, &timelimit, 0, "timelimit", "integer" },
- { "num-records", 'r', POPT_ARG_INT, &num_records, 0, "num_records", "integer" },
- { NULL, 'n', POPT_ARG_INT, &num_nodes, 0, "num_nodes", "integer" },
- POPT_TABLEEND
- };
- int opt;
- const char **extra_argv;
- int extra_argc = 0;
- int ret;
- poptContext pc;
- struct event_context *ev;
- int cluster_ready=0;
-
- pc = poptGetContext(argv[0], argc, argv, popt_options, POPT_CONTEXT_KEEP_FIRST);
-
- while ((opt = poptGetNextOpt(pc)) != -1) {
- switch (opt) {
- default:
- fprintf(stderr, "Invalid option %s: %s\n",
- poptBadOption(pc, 0), poptStrerror(opt));
- exit(1);
- }
- }
-
- /* setup the remaining options for the main program to use */
- extra_argv = poptGetArgs(pc);
- if (extra_argv) {
- extra_argv++;
- while (extra_argv[extra_argc]) extra_argc++;
- }
-
- ev = event_context_init(NULL);
-
- /* initialise ctdb */
- ctdb = ctdb_cmdline_client(ev);
-
- ctdb_set_message_handler(ctdb, CTDB_SRVID_RECONFIGURE, reconfigure_handler,
- &cluster_ready);
-
- /* attach to a specific database */
- ctdb_db = ctdb_attach(ctdb, "test.tdb", false, 0);
- if (!ctdb_db) {
- printf("ctdb_attach failed - %s\n", ctdb_errstr(ctdb));
- exit(1);
- }
-
- /* setup a ctdb call function */
--
CTDB repository
More information about the samba-cvs
mailing list