ctdb.git
12 years agoMerge remote branch 'amitay/tevent-sync'
Ronnie Sahlberg [Wed, 25 Apr 2012 22:09:23 +0000 (08:09 +1000)]
Merge remote branch 'amitay/tevent-sync'

12 years agoMerge remote branch 'amitay/talloc-sync'
Ronnie Sahlberg [Wed, 25 Apr 2012 22:09:05 +0000 (08:09 +1000)]
Merge remote branch 'amitay/talloc-sync'

12 years agoMerge remote branch 'martins/master'
Ronnie Sahlberg [Wed, 18 Apr 2012 03:48:43 +0000 (13:48 +1000)]
Merge remote branch 'martins/master'

12 years agotests: More unit test factoring/rationalisation and bug fixes
Martin Schwenke [Wed, 18 Apr 2012 00:37:45 +0000 (10:37 +1000)]
tests: More unit test factoring/rationalisation and bug fixes

Move some options from eventscripts/run_tests.sh to scripts/run_tests.
Remove the former.

Move some functions from eventscripts/scripts/local.sh to
scripts/unit.sh.

Both of these are modified during move so they are no longer
eventscript-specific.

Tweak */local.sh so that the new functions in unit.sh are used.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/eventscripts: Share directories must be absolute in eventscript tests
Martin Schwenke [Wed, 18 Apr 2012 00:35:25 +0000 (10:35 +1000)]
tests/eventscripts: Share directories must be absolute in eventscript tests

This fixes eventscripts/scripts/local.sh:setup_generic() so that
directories listed in $FAKE_SHARES are absolute instead of potentially
relative (and, therefore, ignored by the NFS share check).

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/eventscripts: Tweak an error message in a policy routing test
Martin Schwenke [Tue, 17 Apr 2012 02:57:46 +0000 (12:57 +1000)]
tests/eventscripts: Tweak an error message in a policy routing test

It currently has my home directory pasted into it.  That can't be
right...  ;-)

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - run_tests needs to expand directories like "." and "..".
Martin Schwenke [Mon, 16 Apr 2012 06:27:20 +0000 (16:27 +1000)]
tests - run_tests needs to expand directories like "." and "..".

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/eventscripts - Restructure according to new convention
Martin Schwenke [Mon, 16 Apr 2012 06:24:12 +0000 (16:24 +1000)]
tests/eventscripts - Restructure according to new convention

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - run_tests ignores trailing '/' on directories
Martin Schwenke [Mon, 16 Apr 2012 05:58:44 +0000 (15:58 +1000)]
tests - run_tests ignores trailing '/' on directories

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/takeover - Restructure according to new convention
Martin Schwenke [Mon, 16 Apr 2012 05:53:24 +0000 (15:53 +1000)]
tests/takeover - Restructure according to new convention

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/onnode - Restructure according to new convention
Martin Schwenke [Mon, 16 Apr 2012 05:29:44 +0000 (15:29 +1000)]
tests/onnode - Restructure according to new convention

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/tool - Restructure according to new convention
Martin Schwenke [Mon, 16 Apr 2012 04:25:50 +0000 (14:25 +1000)]
tests/tool - Restructure according to new convention

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests/tool: New nodestatus test
Amitay Isaacs [Fri, 13 Apr 2012 02:06:53 +0000 (12:06 +1000)]
tests/tool: New nodestatus test

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests/tool: Fix the nodestatus test
Amitay Isaacs [Fri, 13 Apr 2012 02:05:59 +0000 (12:05 +1000)]
tests/tool: Fix the nodestatus test

Although not obvious, when asking each node for nodestatus, it will report
each node is the current node.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests - run_tests includes common.sh, uses die()
Martin Schwenke [Mon, 16 Apr 2012 04:54:51 +0000 (14:54 +1000)]
tests - run_tests includes common.sh, uses die()

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - run_tests can take a directory as an argument
Martin Schwenke [Mon, 16 Apr 2012 04:52:17 +0000 (14:52 +1000)]
tests - run_tests can take a directory as an argument

This makes it run all tests in the specified directory.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - add -v option to set TEST_VERBOSE=true
Martin Schwenke [Mon, 16 Apr 2012 04:51:22 +0000 (14:51 +1000)]
tests - add -v option to set TEST_VERBOSE=true

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - move functions only used by scripts/run_tests into that script
Martin Schwenke [Mon, 16 Apr 2012 04:48:49 +0000 (14:48 +1000)]
tests - move functions only used by scripts/run_tests into that script

Along with minor logic tweaks and removal of test_exit().

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - add scripts/unit.sh
Martin Schwenke [Mon, 16 Apr 2012 04:33:37 +0000 (14:33 +1000)]
tests - add scripts/unit.sh

This will be sourced by all unit tests.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - add scripts/common.sh
Martin Schwenke [Mon, 16 Apr 2012 04:32:55 +0000 (14:32 +1000)]
tests - add scripts/common.sh

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agotests - export new variable TEST_SCRIPTS_DIR
Martin Schwenke [Mon, 16 Apr 2012 04:27:22 +0000 (14:27 +1000)]
tests - export new variable TEST_SCRIPTS_DIR

This replaces previous script-local variable ctdb_test_scripts_dir.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - IP allocation - 2 tests for NODE_FLAGS_NOIPTAKEOVER
Martin Schwenke [Thu, 12 Apr 2012 05:18:17 +0000 (15:18 +1000)]
Tests - IP allocation - 2 tests for NODE_FLAGS_NOIPTAKEOVER

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - IP allocation - add another LCP2 test based on a test failure
Martin Schwenke [Thu, 12 Apr 2012 04:17:46 +0000 (14:17 +1000)]
Tests - IP allocation - add another LCP2 test based on a test failure

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - turn of time logging by default
Martin Schwenke [Thu, 29 Mar 2012 03:54:22 +0000 (14:54 +1100)]
Tests - turn of time logging by default

We haven't seen problems related to time jumps for a long time.  Turn
this off by default.

To switch it back on set $CTDB_TEST_TIME_LOGGING to any non-null
value.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agolib/talloc: Sync talloc from samba git tree
Amitay Isaacs [Thu, 12 Apr 2012 03:43:44 +0000 (13:43 +1000)]
lib/talloc: Sync talloc from samba git tree

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agolib/talloc: Remove the files required to build talloc as a library
Amitay Isaacs [Thu, 12 Apr 2012 04:06:58 +0000 (14:06 +1000)]
lib/talloc: Remove the files required to build talloc as a library

Since talloc library will never be built from ctdb sources, we don't need the
build related files.

12 years agolib/tevent: Sync tevent from samba git tree
Amitay Isaacs [Fri, 13 Apr 2012 07:18:53 +0000 (17:18 +1000)]
lib/tevent: Sync tevent from samba git tree

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agolib/tevent: Remove the files required to build tevent as a library
Amitay Isaacs [Thu, 12 Apr 2012 04:25:45 +0000 (14:25 +1000)]
lib/tevent: Remove the files required to build tevent as a library

Since we are not going to build tevent library from ctdb source, remote build
related files.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agolib/tevent: Remove local modifications to tevent
Amitay Isaacs [Fri, 13 Apr 2012 07:07:13 +0000 (17:07 +1000)]
lib/tevent: Remove local modifications to tevent

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoctdb_test: Remove faked wrappers for tevent functions in stub testing
Amitay Isaacs [Fri, 13 Apr 2012 06:28:41 +0000 (16:28 +1000)]
ctdb_test: Remove faked wrappers for tevent functions in stub testing

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoRemove explicit include of lib/tevent/tevent.h.
Amitay Isaacs [Fri, 13 Apr 2012 06:47:28 +0000 (16:47 +1000)]
Remove explicit include of lib/tevent/tevent.h.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoincludes: Move special tevent defines from tevent.h to includes.h
Amitay Isaacs [Fri, 13 Apr 2012 06:46:38 +0000 (16:46 +1000)]
includes: Move special tevent defines from tevent.h to includes.h

This allows to build against system tevent library. Also include tevent header
along with other common headers.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoctdbd: Fix spurious warnings when running with --nopublicipcheck
Amitay Isaacs [Wed, 4 Apr 2012 04:42:56 +0000 (14:42 +1000)]
ctdbd: Fix spurious warnings when running with --nopublicipcheck

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agorecoverd: Fix spurious warnings when running with --nopublicipcheck
Amitay Isaacs [Wed, 4 Apr 2012 04:42:23 +0000 (14:42 +1000)]
recoverd: Fix spurious warnings when running with --nopublicipcheck

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Use CTDB_TEST_REAL_CLUSTER to decide if tests use local daemons
Amitay Isaacs [Wed, 28 Mar 2012 03:08:08 +0000 (14:08 +1100)]
tests: Use CTDB_TEST_REAL_CLUSTER to decide if tests use local daemons

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Set the debug level = 3 when running local tests
Amitay Isaacs [Wed, 28 Mar 2012 02:56:03 +0000 (13:56 +1100)]
tests: Set the debug level = 3 when running local tests

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Check assigned IPs from ctdb output
Amitay Isaacs [Wed, 28 Mar 2012 02:52:38 +0000 (13:52 +1100)]
tests: Check assigned IPs from ctdb output

This fixes the test ctdb_config_add_ip when running against local daemons.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Check for assigned IP addresses only if we are on real cluster
Amitay Isaacs [Wed, 28 Mar 2012 02:51:25 +0000 (13:51 +1100)]
tests: Check for assigned IP addresses only if we are on real cluster

This fixes the ctdb_ip test when running against local daemons.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoctdbd: Fix the error message string
Amitay Isaacs [Tue, 27 Mar 2012 06:20:34 +0000 (17:20 +1100)]
ctdbd: Fix the error message string

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Fix the error messages in test event script
Amitay Isaacs [Tue, 27 Mar 2012 06:07:52 +0000 (17:07 +1100)]
tests: Fix the error messages in test event script

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Add regular expression parsing for hop_count_buckets
Amitay Isaacs [Tue, 27 Mar 2012 00:37:42 +0000 (11:37 +1100)]
tests: Add regular expression parsing for hop_count_buckets

This fixes the test to check ctdb statistics output.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: Add a script to run cluster tests and make target "test_cluster"
Amitay Isaacs [Wed, 21 Mar 2012 00:51:56 +0000 (11:51 +1100)]
tests: Add a script to run cluster tests and make target "test_cluster"

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests: exportfs always outputs with options in brackets
Amitay Isaacs [Mon, 13 Feb 2012 03:03:12 +0000 (14:03 +1100)]
tests: exportfs always outputs with options in brackets

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests/tool: New nodestatus test
Amitay Isaacs [Fri, 13 Apr 2012 02:06:53 +0000 (12:06 +1000)]
tests/tool: New nodestatus test

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agotests/tool: Fix the nodestatus test
Amitay Isaacs [Fri, 13 Apr 2012 02:05:59 +0000 (12:05 +1000)]
tests/tool: Fix the nodestatus test

Although not obvious, when asking each node for nodestatus, it will report
each node is the current node.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoAdd test for NoIPTakeover
Ronnie Sahlberg [Thu, 12 Apr 2012 00:31:17 +0000 (10:31 +1000)]
Add test for NoIPTakeover

12 years agoCTDB: add back the "rebalanceip" command
Ronnie Sahlberg [Tue, 3 Apr 2012 03:43:21 +0000 (13:43 +1000)]
CTDB: add back the "rebalanceip" command

12 years agobuild: Substitute POPT macros once and reuse variables
Amitay Isaacs [Fri, 30 Mar 2012 01:06:05 +0000 (12:06 +1100)]
build: Substitute POPT macros once and reuse variables

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agorecovery: Add prototypes for tdb internal functions
Amitay Isaacs [Mon, 26 Mar 2012 23:53:25 +0000 (10:53 +1100)]
recovery: Add prototypes for tdb internal functions

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Use system tdb library if available
Amitay Isaacs [Wed, 21 Mar 2012 03:45:56 +0000 (14:45 +1100)]
build: Use system tdb library if available

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Use system tevent library if available
Amitay Isaacs [Wed, 21 Mar 2012 04:56:45 +0000 (15:56 +1100)]
build: Use system tevent library if available

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Use system talloc library if available
Amitay Isaacs [Wed, 21 Mar 2012 02:18:10 +0000 (13:18 +1100)]
build: Use system talloc library if available

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Display correct LIB_FLAGS while building
Amitay Isaacs [Wed, 21 Mar 2012 05:08:57 +0000 (16:08 +1100)]
build: Display correct LIB_FLAGS while building

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Remove re-definition of same variable
Amitay Isaacs [Mon, 19 Mar 2012 22:22:54 +0000 (09:22 +1100)]
build: Remove re-definition of same variable

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agopackaging: Setup directories for rpmbuild
Amitay Isaacs [Mon, 6 Feb 2012 05:45:50 +0000 (16:45 +1100)]
packaging: Setup directories for rpmbuild

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agobuild: Add rules to create ctags/etags
Amitay Isaacs [Wed, 11 Jan 2012 08:04:39 +0000 (19:04 +1100)]
build: Add rules to create ctags/etags

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
12 years agoInitscript - add backup of corrupt non-persistent databases
Martin Schwenke [Wed, 28 Mar 2012 03:50:36 +0000 (14:50 +1100)]
Initscript - add backup of corrupt non-persistent databases

Corrupt non-persistent databases never get analysed because ctdbd
zeroes them at startup.

Modify the initscript so that corrupt non-persistent databases are
moved aside to a backup.  If the number of backups for a particular
database exceeds $CTDB_MAX_CORRUPT_DB_BACKUPS (default 10) then the
oldest excess backups are garbage collected.

Abstracts from and cleans up the code for checking persistent
databases.

Logging of related messages is done to syslog or a log file as
specified.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoAdd policy routing documentation to ctdbd(1).
Martin Schwenke [Fri, 23 Mar 2012 03:31:31 +0000 (14:31 +1100)]
Add policy routing documentation to ctdbd(1).

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoMerge remote branch 'martins/policy_routing'
Ronnie Sahlberg [Thu, 22 Mar 2012 04:39:59 +0000 (15:39 +1100)]
Merge remote branch 'martins/policy_routing'

12 years agoUndo damage done by d8d37493478a26c5f1809a5f3df89ffd6e149281
Martin Schwenke [Thu, 22 Mar 2012 04:27:25 +0000 (15:27 +1100)]
Undo damage done by d8d37493478a26c5f1809a5f3df89ffd6e149281

The implementation of DisableIPFailover got intermingled with
--nopublicipcheck.  This just looks wrong - Ronnie must have been
having a bad day.  :-)

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - initial policy routing tests
Martin Schwenke [Tue, 20 Mar 2012 06:22:02 +0000 (17:22 +1100)]
Tests - eventscripts - initial policy routing tests

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - new function simple_test_command()
Martin Schwenke [Tue, 20 Mar 2012 06:19:01 +0000 (17:19 +1100)]
Tests - eventscripts - new function simple_test_command()

Allows running arbitrary command and comparing output against
expected.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - change summary columns
Martin Schwenke [Tue, 20 Mar 2012 06:17:47 +0000 (17:17 +1100)]
Tests - eventscripts - change summary columns

To accommodate 13.per_ip-routing in output.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - rationalise CTDB fakery support
Martin Schwenke [Tue, 20 Mar 2012 06:15:33 +0000 (17:15 +1100)]
Tests - eventscripts - rationalise CTDB fakery support

Remove functions for marking nodes as down/up.  This is now done via
ctdb disable/enable in the stub.

Also more consistent temporary directory use.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - improved support functions for handling public IPs
Martin Schwenke [Tue, 20 Mar 2012 06:14:22 +0000 (17:14 +1100)]
Tests - eventscripts - improved support functions for handling public IPs

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - add support functions for policy routing testing
Martin Schwenke [Tue, 20 Mar 2012 06:13:21 +0000 (17:13 +1100)]
Tests - eventscripts - add support functions for policy routing testing

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoUpdate .gitignore for eventscript testing fu.
Martin Schwenke [Tue, 20 Mar 2012 06:10:05 +0000 (17:10 +1100)]
Update .gitignore for eventscript testing fu.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - fix hardcoding error
Martin Schwenke [Tue, 20 Mar 2012 06:06:51 +0000 (17:06 +1100)]
Tests - eventscripts - fix hardcoding error

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - stub ctdb command updates
Martin Schwenke [Tue, 20 Mar 2012 06:00:50 +0000 (17:00 +1100)]
Tests - eventscripts - stub ctdb command updates

* Proper IP (re)allocation using ctdbd's IP allocation algorithm.
* Therefore, "ctdb ip" works sensibly.
* Add enable, disable, moveip.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - more public IPs in default setup
Martin Schwenke [Tue, 20 Mar 2012 05:26:41 +0000 (16:26 +1100)]
Tests - eventscripts - more public IPs in default setup

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - add -A/-D options
Martin Schwenke [Tue, 20 Mar 2012 05:25:34 +0000 (16:25 +1100)]
Tests - eventscripts - add -A/-D options

Make it easier to spot differences between desired output and actual
output.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoTests - eventscripts - ip stub command should print errors to stderr
Martin Schwenke [Tue, 20 Mar 2012 05:24:41 +0000 (16:24 +1100)]
Tests - eventscripts - ip stub command should print errors to stderr

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscripts - make 13.per_ip_routing fail gracefully if config is missing
Martin Schwenke [Tue, 20 Mar 2012 05:23:24 +0000 (16:23 +1100)]
Eventscripts - make 13.per_ip_routing fail gracefully if config is missing

Currently it spews out random messages about the file being missing.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscripts - make 13.per_ip_routing try harder to find public_addresses
Martin Schwenke [Tue, 20 Mar 2012 05:21:09 +0000 (16:21 +1100)]
Eventscripts - make 13.per_ip_routing try harder to find public_addresses

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscripts - use set_proc() rather than accessing /proc directly
Martin Schwenke [Tue, 20 Mar 2012 05:20:10 +0000 (16:20 +1100)]
Eventscripts - use set_proc() rather than accessing /proc directly

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscripts - 13.per_ip_routing should use dirname not basename for mkdir
Martin Schwenke [Tue, 20 Mar 2012 05:18:49 +0000 (16:18 +1100)]
Eventscripts - 13.per_ip_routing should use dirname not basename for mkdir

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript tests - implement ip route in stub
Martin Schwenke [Thu, 15 Mar 2012 04:48:25 +0000 (15:48 +1100)]
Eventscript tests - implement ip route in stub

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript tests - implement ip rule in stub
Martin Schwenke [Thu, 15 Mar 2012 02:22:51 +0000 (13:22 +1100)]
Eventscript tests - implement ip rule in stub

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript tests - make ip command stub vaguely maintainable
Martin Schwenke [Wed, 14 Mar 2012 04:15:18 +0000 (15:15 +1100)]
Eventscript tests - make ip command stub vaguely maintainable

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript tests - make error message consistent with recent change
Martin Schwenke [Wed, 14 Mar 2012 04:14:04 +0000 (15:14 +1100)]
Eventscript tests - make error message consistent with recent change

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript support - Remove unused interface_modify.sh
Martin Schwenke [Wed, 7 Mar 2012 05:20:24 +0000 (16:20 +1100)]
Eventscript support - Remove unused interface_modify.sh

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript functions - no longer require interface_modify.sh
Martin Schwenke [Wed, 7 Mar 2012 05:18:12 +0000 (16:18 +1100)]
Eventscript functions - no longer require interface_modify.sh

Make add_ip_to_iface() and delete_ip_from_iface() do their own locking
so the external script is no longer required.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript functions - remove now-unused route/IP re-add script logic
Martin Schwenke [Wed, 7 Mar 2012 02:51:03 +0000 (13:51 +1100)]
Eventscript functions - remove now-unused route/IP re-add script logic

This is no longer used by 13.per_ip_routing or anything else.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript functions - remove functions only used by 13.per_ip_routing
Martin Schwenke [Tue, 6 Mar 2012 00:21:41 +0000 (11:21 +1100)]
Eventscript functions - remove functions only used by 13.per_ip_routing

The relevant functions are now in that script.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscripts - redesign and rewrite 13.per_ip_routing
Martin Schwenke [Thu, 1 Mar 2012 04:23:53 +0000 (15:23 +1100)]
Eventscripts - redesign and rewrite 13.per_ip_routing

The current version is quite difficult to read.  This one is hopefully
clearer.

Major changes:

* The configuration file has a more forgiving syntax.  Items can be
  separated by arbitrary whitespace.

* Mappings between IP addresses and table IDs are no longer stored in
  files in a state directory.  Instead they are stored in
  /etc/iproute2/rt_tables as mappings between table IDs and labels, as
  allowed by the ip command.  The current structure of the labels is
  ctdb.<source-ip>.  This means that once the labels are setup the
  routing tables can be referenced by just knowing the source IP.  As
  with the old state directory, mappings in this file owned by CTDB
  are deleted when CTDB shuts down.

* There are no release or re-add scripts.

  - Release scripts are not necessary as an optimisation because of
    the previous improvement (i.e. use of rt_tables).  No lookup is
    necessary to delete rules or flush tables.

  - Re-add scripts are no longer used.  Routes can still go missing
    when removal of a primary IP from an interfaces (or similar)
    causes removal of all other addresses (i.e. secondaries) and also
    all associated routes.  However, any missing routes are now
    re-added in the "ipreallocated" event.  This happens shortly after
    takeip/releaseip/updateip and means that the routes will only be
    re-added once.  The window for missing routes is slightly bigger
    but is not expected to be significant.

* The magic "__auto_link_local__" configuration value no longer causes
  a dynamic configuration file to be maintained in a state directory.
  The link local configuration is now generated when needed from the
  public_addresses file.  This greatly simplifies the code.  This
  approach is slightly less efficient but should not be significant.

The above changes mean that, apart from maintaining mappings in the
rt_tables file, there are no state files kept anymore.

Some utility functions only used by this script have been rewritten
and moved into this script.  They will be removed from the functions
file by a future commit.

The route re-add code will also be removed from interface_modify.sh by
a future commit.  It is currently harmless.

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoEventscript functions - add new function die()
Martin Schwenke [Wed, 7 Mar 2012 05:09:56 +0000 (16:09 +1100)]
Eventscript functions - add new function die()

Args:

1. Error message to be printed.

2. Option exit code (default 1)

Signed-off-by: Martin Schwenke <martin@meltin.net>
12 years agoDOC: regenerate manpages
Ronnie Sahlberg [Thu, 22 Mar 2012 00:12:37 +0000 (11:12 +1100)]
DOC: regenerate manpages

12 years agoNoIPTakeover: change the tunable name for the "dont allow failing addresses over...
Ronnie Sahlberg [Thu, 22 Mar 2012 00:00:27 +0000 (11:00 +1100)]
NoIPTakeover: change the tunable name for the "dont allow failing addresses over onto the node" to NoIPTakeover

12 years agoNoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallo...
Ronnie Sahlberg [Wed, 21 Mar 2012 22:22:35 +0000 (09:22 +1100)]
NoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallocation

12 years agoMake NoIPFailback a node local setting. Nodes that have NoIPFailback set to !0 can...
Ronnie Sahlberg [Wed, 21 Mar 2012 22:05:49 +0000 (09:05 +1100)]
Make NoIPFailback a node local setting. Nodes that have NoIPFailback set to !0 can not takeover new ip addresses during failover.

Remove the old global setting for this unused tunable and add it as a new node flag. This node flag is only valid/defined within the takeover subsystem in the recovery daemon. Add async functions to collec the NoIPFailback settings for each node.

This will later e used to disqualify certain nodes from being takeover targets when we perform reallocation.

12 years agoDOC regenerate the manpage
Ronnie Sahlberg [Tue, 20 Mar 2012 06:43:26 +0000 (17:43 +1100)]
DOC  regenerate the manpage

12 years agoSTICKY document the sticky record parameters
Ronnie Sahlberg [Tue, 20 Mar 2012 06:07:13 +0000 (17:07 +1100)]
STICKY   document the sticky record parameters

12 years agoSTICKY: add prototype code to make records stick to a node to "calm" down if they...
Ronnie Sahlberg [Tue, 20 Mar 2012 05:58:35 +0000 (16:58 +1100)]
STICKY: add prototype code to make records stick to a node to "calm" down if they are found to be very hot and accessed by a lot of clients.

This can improve performance and stop clients from having to chase a rapidly migrating/bouncing record

12 years agoDOC: Document the MaxLACount tunable variable
Ronnie Sahlberg [Tue, 20 Mar 2012 01:25:47 +0000 (12:25 +1100)]
DOC: Document the MaxLACount tunable variable

12 years agoLACOUNT: Add back lacount mechanism to defer migrating a fetched/read copy until...
Ronnie Sahlberg [Tue, 20 Mar 2012 01:20:55 +0000 (12:20 +1100)]
LACOUNT:  Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node

This can improve performance slightly on certain workloads where smbds frequently read from the same record

12 years agoSTATISTICS: add per-db hop count statistics
Ronnie Sahlberg [Tue, 20 Mar 2012 01:08:12 +0000 (12:08 +1100)]
STATISTICS: add per-db hop count statistics

12 years agoCTDB: change how the hop count buckets are displayed in ctdb statistics
Ronnie Sahlberg [Tue, 20 Mar 2012 00:43:09 +0000 (11:43 +1100)]
CTDB: change how the hop count buckets are displayed in ctdb statistics

12 years agoDOC document the FetchCollapse tunable
Ronnie Sahlberg [Tue, 20 Mar 2012 00:38:20 +0000 (11:38 +1100)]
DOC document the FetchCollapse tunable

12 years agoFETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including...
Ronnie Sahlberg [Tue, 20 Mar 2012 00:31:59 +0000 (11:31 +1100)]
FETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including fetch-locks into a single command in flight per record. Also add a tunable to enable/disable this optimization for hot records

12 years agoadd max hop count buckets to see how bad hopcounts are
Ronnie Sahlberg [Wed, 7 Mar 2012 06:02:41 +0000 (17:02 +1100)]
add max hop count buckets to see how bad hopcounts are