summaryrefslogtreecommitdiff
path: root/ctdb
Commit message (Collapse)AuthorAgeFilesLines
* ctdb-scripts: Provide a gstack function if gstack is not availableMartin Schwenke2018-07-111-1/+13
| | | | | | | | | | | gstack isn't widely available, so provide a simple function that does the same thing if it gstack can't be found. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Autobuild-User(master): Amitay Isaacs <amitay@samba.org> Autobuild-Date(master): Wed Jul 11 14:47:21 CEST 2018 on sn-devel-144
* ctdb-tests: Drop residual CTDB_MANAGED_<service> variablesMartin Schwenke2018-07-1117-71/+1
| | | | | | | These no longer do anything. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-scripts: Drop event script CTDB_MANAGED_<service> variablesMartin Schwenke2018-07-1111-147/+4
| | | | | | | Enable required event scripts to manage services. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Drop event script tests where CTDB_MANAGED_<service>=noMartin Schwenke2018-07-1112-130/+0
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Ensure some event scripts are enabled for cluster testsMartin Schwenke2018-07-113-0/+48
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-packaging: Enable some standard event scripts if none are enabledMartin Schwenke2018-07-111-3/+31
| | | | | | | | | | | | | CTDB needs the legacy/00.ctdb event script to be able to function properly. If this script is not enabled then assume a first-time install or an upgrade to a version that requires events scripts to be enabled via symlinks. In these cases enable this script and other commonly used scripts. Remove links during uninstall (but not during upgrade). Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-build: Enable some standard event scripts if none are enabledMartin Schwenke2018-07-111-0/+19
| | | | | | | | | | | | | | CTDB needs the legacy/00.ctdb event script to be able to function properly. If this script is not enabled then assume a first-time install or an upgrade to a version that requires events scripts to be enabled via symlinks. In these cases enable this script and other commonly used scripts. Only do this for a direct install. If DESTDIR is being used then assume a package is being built and let the packager handle this case. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-build: Install event scripts in CTDB_DATADIRMartin Schwenke2018-07-114-7/+22
| | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Pair-programmed-with: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Clean up define_test() for event scriptsMartin Schwenke2018-07-111-28/+35
| | | | | | | | | Factor out a little bit of common code. More coming. Most of this is whitespace changes. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Drop an unused caseMartin Schwenke2018-07-111-5/+0
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: New install path CTDB_SCRIPT_DATA_DIRMartin Schwenke2018-07-111-1/+4
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tools: All ctdb event commands to run without ctdbdMartin Schwenke2018-07-111-2/+2
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-event: Allow tool to enable/disable scripts without daemonMartin Schwenke2018-07-111-6/+18
| | | | | | | | Only open the client socket when it is needed. Note that this only works for enabling/disabling event scripts via symlinks. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-event: Update event tool to handle symbolic linksMartin Schwenke2018-07-114-10/+140
| | | | | | | | | Supports the case when scripts are installed in the data directory and are linked to when enabled. Signed-off-by: Martin Schwenke <martin@meltin.net> Pair-programmed-with: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-common: Add path support for datadirMartin Schwenke2018-07-114-0/+83
| | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Pair-programmed-with: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-build: Add CTDB_DATADIRMartin Schwenke2018-07-111-4/+7
| | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Pair-programmed-with: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Drop the noiphost "node flags" bitmapMartin Schwenke2018-07-116-45/+0
| | | | | | | | This is no longer needed because inactive/disabled nodes no longer report any available public IP addresses. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Stop inactive/disabled nodes from reporting available IPsMartin Schwenke2018-07-113-2/+19
| | | | | | | | | | | | This can be done now that NoIPHostOnAllDisabled is gone and will allow the public IP address failover logic to be simplified. In the test code, still filter available IP addresses by node state. This code can't currently read information about available IP addresses but that will change in future Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Drop plumbing for obsolete tunable NoIPHostOnAllDisabledMartin Schwenke2018-07-115-43/+3
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Mark NoIPHostOnAllDisabled tunable as obsoleteMartin Schwenke2018-07-115-21/+5
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Change default for tunable NoIPHostOnAllDisabled to 1Martin Schwenke2018-07-1115-371/+38
| | | | | | | | | | | | | | | | | Defaulting to host public IP addresses when all nodes are unhealthy does not obey the principle of least surprise. It has caused much confusion over the years. It often leads to problems when all nodes are unhealthy due to something like a cluster filesystem being unmounted. Change the default value for this tunable as the first step of completely removing this behaviour. Remove tests that set NoIPHostOnAllDisabled=1 and update the expected result for other tests where no nodes are healthy. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Setup public addresses in 60.nfs unit testsMartin Schwenke2018-07-111-0/+1
| | | | | | | | | | Even the monitor event runs update_tickles(), which needs public IP addresses and FAKE_CTDB_NUMNODES to be initialised. Currently this works by default but soon we'll need FAKE_CTDB_NUMNODES in another context. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Replace hardcoded IP address in test resultsMartin Schwenke2018-07-113-17/+17
| | | | | | | Parameterise them with a variable instead. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb: close the correct pipe fd in a testRalph Boehme2018-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | This was discovered in an autobuild with a patched tevent that used the "poll" backend by default. Test failure: $ bin/sock_daemon_test /dev/shm/sock_daemon_test.pid /dev/shm/sock_daemon_test.sock 5 test5[28011]: daemon started, pid=28011 test5[28011]: listening on /dev/shm/sock_daemon_test.sock sock_daemon_test: ../ctdb/tests/src/sock_daemon_test.c:980: test5: Assertion `ret == i+1' failed. Abgebrochen (Speicherabzug geschrieben) metze@SERNOX14:~/devel/samba/4.0/master4-test$ test5[28011]: PID 28010 gone away, exiting test5[28011]: Shutting down sock_daemon_test: ../ctdb/tests/src/sock_daemon_test.c:964: test5: Assertion `ret == EINTR' failed. After an epic debugging session we spotted the problem. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* ctdb-tests: Avoid segfault by initializing loggingAmitay Isaacs2018-07-051-0/+2
| | | | | | | | | | This is in addition to af697008531. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Thu Jul 5 15:22:16 CEST 2018 on sn-devel-144
* ctdb-common: Fix CID 437606Amitay Isaacs2018-07-051-5/+5
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Switch to using new event daemonAmitay Isaacs2018-07-051-3/+3
| | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Thu Jul 5 09:39:33 CEST 2018 on sn-devel-144
* ctdb-daemon: Add client code to talk to new event daemonAmitay Isaacs2018-07-053-24/+27
| | | | | | | This fixes the build and now new eventd is integrated completely in CTDB. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-protocol: Remove protocol for old event daemonAmitay Isaacs2018-07-058-1560/+0
| | | | | | | | This breaks the build. The new eventd protocol cannot be introduced without removing the old eventd protocol. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-client: Remove client code for old event daemonAmitay Isaacs2018-07-052-93/+1
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tools: Remove old event daemon toolAmitay Isaacs2018-07-052-542/+0
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-daemon: Remove old event daemonAmitay Isaacs2018-07-052-1098/+0
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Remove tests for old event daemonAmitay Isaacs2018-07-0525-1296/+0
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tools: Switch to using new event daemon toolAmitay Isaacs2018-07-052-36/+9
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-daemon: Switch to starting new event daemonAmitay Isaacs2018-07-052-73/+9
| | | | | | | | | | From this patch onwards, CTDB daemon is broken till the client code for new eventd is integrated. This requires getting rid of the old eventd protocol and client code and then switching to the new eventd protocol and client code. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-event: Add tests for event daemonAmitay Isaacs2018-07-0539-0/+905
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Rename eventd testsuite to ctdb_eventdAmitay Isaacs2018-07-0526-2/+2
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-event: Add event daemon client toolAmitay Isaacs2018-07-053-0/+541
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-event: Add event daemon client codeAmitay Isaacs2018-07-053-0/+411
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-event: Add event daemon implementationAmitay Isaacs2018-07-057-0/+1645
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-event: Add event daemon protocolAmitay Isaacs2018-07-057-0/+1782
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-common: Add client pid to connect callback in sock_daemonAmitay Isaacs2018-07-055-3/+18
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Separate testing code for basic data typesAmitay Isaacs2018-07-056-348/+415
| | | | | | | This will be used for testing other daemons' protocol code. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-build: Add ctdb prefix to build targetAmitay Isaacs2018-07-051-2/+2
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-protocol: Separate protocol-basic subsystemAmitay Isaacs2018-07-054-68/+94
| | | | | | | | This includes marshalling code for basic data types. This will be used by other daemons. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-daemon: Set environment variable if running in interactive modeAmitay Isaacs2018-07-041-0/+1
| | | | | | | | CTDB_INTERACTIVE will be used to tell the other daemons if the ctdb daemon is started in interactive mode. This is primarily used only for testing. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-daemon: Avoid closing stdin when running in interactive modeAmitay Isaacs2018-07-041-1/+1
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Avoid segfault by initializing loggingAmitay Isaacs2018-07-0412-3/+33
| | | | | | | | | | | | | Setting DEBUGLEVEL before calling debug_init() causes segmentation violation with gcc8. DEBUGLEVEL_CLASS is statically initialized to debug_class_list_initial which is defined as const. Only after debug_init() is called, DEBUGLEVEL_CLASS becomes a talloc'd array. So before modifying DEBUGLEVEL, ensure debug_init() is called via setup_logging(). (debug_init is a static function.) Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-common: Use correct return type for tevent_queue_add_entryAmitay Isaacs2018-07-041-3/+3
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13493 Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Teach strace packet parser about non-octal escapesMartin Schwenke2018-07-021-12/+40
| | | | | | | | | | | strace output also encodes characters 7 to 13 as \a, \b, \t, \n, \v, \f, \r. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Mon Jul 2 11:30:29 CEST 2018 on sn-devel-144