[SCM] Samba Shared Repository - branch master updated

Amitay Isaacs amitay at samba.org
Tue Jun 5 18:38:02 UTC 2018


The branch, master has been updated
       via  f2e8ab3 ctdb-tests: Continue running if a testcase is not executable
       via  f1d0790 Revert "ctdb-tests: Continue running if a testcase is not executable"
       via  4bdf97a ctdb-scripts: Change directory for notifications to events/notification
       via  b23f3f99 ctdb-scripts: Event scripts must end with ".script" suffix
       via  12fd8d7 ctdb-scripts: Move event scripts to events/legacy/ directory
      from  0f5d93a dsdb: Honour LDB_FLG_NOSYNC for metadata.tdb

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f2e8ab3f02aab7e2550409762800befa4b55cb69
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 18 11:44:11 2018 +1000

    ctdb-tests: Continue running if a testcase is not executable
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Tue Jun  5 20:37:15 CEST 2018 on sn-devel-144

commit f1d07908e2516e2968c6653d5998b34a42979548
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 18 11:39:49 2018 +1000

    Revert "ctdb-tests: Continue running if a testcase is not executable"
    
    This reverts commit 36e7043fb16ac996793545022147f696caedee9c.
    
    An recent change broke this and I forgot to test before posting. :-(
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 4bdf97a935d19454fbd544616640a22f2bafe55f
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed May 16 12:18:46 2018 +1000

    ctdb-scripts: Change directory for notifications to events/notification
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit b23f3f996038626f618c5b5aa552686c1b852f44
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 15 18:36:29 2018 +1000

    ctdb-scripts: Event scripts must end with ".script" suffix
    
    Preparation for recommending configuration for each script next to the
    actual script.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 12fd8d7a5c5d14d403aac6cd9e318afcd0a8e159
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 15 13:39:15 2018 +1000

    ctdb-scripts: Move event scripts to events/legacy/ directory
    
    This is the initial location that will be used by the new
    multi-component aware event daemon.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

-----------------------------------------------------------------------

Summary of changes:
 ctdb/.gitignore                                    |  1 -
 ctdb/common/run_event.c                            | 56 ++++++++++------------
 ctdb/config/README                                 |  4 +-
 ctdb/config/{events.d => events}/README            |  5 +-
 .../00.ctdb => events/legacy/00.ctdb.script}       |  0
 .../01.reclock => events/legacy/01.reclock.script} |  0
 .../05.system => events/legacy/05.system.script}   |  0
 .../06.nfs => events/legacy/06.nfs.script}         |  0
 .../legacy/10.interface.script}                    |  0
 .../11.natgw => events/legacy/11.natgw.script}     |  0
 .../11.routing => events/legacy/11.routing.script} |  0
 .../legacy/13.per_ip_routing.script}               |  0
 .../legacy/20.multipathd.script}                   |  0
 .../31.clamd => events/legacy/31.clamd.script}     |  0
 .../40.vsftpd => events/legacy/40.vsftpd.script}   |  0
 .../41.httpd => events/legacy/41.httpd.script}     |  0
 .../49.winbind => events/legacy/49.winbind.script} |  0
 .../50.samba => events/legacy/50.samba.script}     |  0
 .../60.nfs => events/legacy/60.nfs.script}         |  0
 .../70.iscsi => events/legacy/70.iscsi.script}     |  0
 .../91.lvs => events/legacy/91.lvs.script}         |  0
 .../99.timeout => events/legacy/99.timeout.script} |  0
 ctdb/config/functions                              |  2 +-
 .../{notify.d.README => notification.README}       |  8 ++--
 ctdb/config/notify.sh                              | 11 ++---
 ctdb/doc/ctdb.7.xml                                |  7 +--
 ctdb/packaging/RPM/ctdb.spec.in                    | 18 ++++---
 ctdb/server/ctdbd.c                                |  2 +-
 ctdb/tests/complex/90_debug_hung_script.sh         |  2 +-
 ctdb/tests/cunit/run_event_001.sh                  | 37 ++++----------
 ctdb/tests/eventd/eventd_002.sh                    |  8 ++--
 ctdb/tests/eventd/eventd_003.sh                    |  2 +-
 ctdb/tests/eventd/eventd_004.sh                    |  2 +-
 ctdb/tests/eventd/eventd_005.sh                    |  4 +-
 ctdb/tests/eventd/eventd_006.sh                    |  4 +-
 ctdb/tests/eventd/eventd_007.sh                    |  4 +-
 ctdb/tests/eventd/eventd_011.sh                    |  4 +-
 ctdb/tests/eventd/eventd_012.sh                    |  4 +-
 ctdb/tests/eventd/eventd_013.sh                    |  4 +-
 ctdb/tests/eventd/eventd_014.sh                    |  4 +-
 ctdb/tests/eventd/eventd_021.sh                    |  4 +-
 ctdb/tests/eventd/eventd_022.sh                    |  6 +--
 ctdb/tests/eventd/eventd_023.sh                    |  4 +-
 ctdb/tests/eventd/eventd_024.sh                    |  4 +-
 ctdb/tests/eventd/eventd_031.sh                    |  6 +--
 ctdb/tests/eventd/eventd_032.sh                    | 12 ++---
 ctdb/tests/eventd/eventd_033.sh                    | 12 ++---
 ctdb/tests/eventd/eventd_041.sh                    |  4 +-
 ctdb/tests/eventd/eventd_042.sh                    |  4 +-
 ctdb/tests/eventd/eventd_043.sh                    |  4 +-
 ctdb/tests/eventd/eventd_051.sh                    |  4 +-
 ctdb/tests/eventscripts/scripts/local.sh           | 18 +++----
 ctdb/tests/run_tests.sh                            | 19 +++-----
 ctdb/tests/shellcheck/event_scripts.sh             |  2 +-
 .../00.test => events/legacy/00.test.script}       |  0
 ctdb/tests/simple/scripts/local_daemons.bash       |  2 +-
 ctdb/wscript                                       |  5 +-
 57 files changed, 134 insertions(+), 169 deletions(-)
 rename ctdb/config/{events.d => events}/README (97%)
 rename ctdb/config/{events.d/00.ctdb => events/legacy/00.ctdb.script} (100%)
 rename ctdb/config/{events.d/01.reclock => events/legacy/01.reclock.script} (100%)
 rename ctdb/config/{events.d/05.system => events/legacy/05.system.script} (100%)
 rename ctdb/config/{events.d/06.nfs => events/legacy/06.nfs.script} (100%)
 rename ctdb/config/{events.d/10.interface => events/legacy/10.interface.script} (100%)
 rename ctdb/config/{events.d/11.natgw => events/legacy/11.natgw.script} (100%)
 rename ctdb/config/{events.d/11.routing => events/legacy/11.routing.script} (100%)
 rename ctdb/config/{events.d/13.per_ip_routing => events/legacy/13.per_ip_routing.script} (100%)
 rename ctdb/config/{events.d/20.multipathd => events/legacy/20.multipathd.script} (100%)
 rename ctdb/config/{events.d/31.clamd => events/legacy/31.clamd.script} (100%)
 rename ctdb/config/{events.d/40.vsftpd => events/legacy/40.vsftpd.script} (100%)
 rename ctdb/config/{events.d/41.httpd => events/legacy/41.httpd.script} (100%)
 rename ctdb/config/{events.d/49.winbind => events/legacy/49.winbind.script} (100%)
 rename ctdb/config/{events.d/50.samba => events/legacy/50.samba.script} (100%)
 rename ctdb/config/{events.d/60.nfs => events/legacy/60.nfs.script} (100%)
 rename ctdb/config/{events.d/70.iscsi => events/legacy/70.iscsi.script} (100%)
 rename ctdb/config/{events.d/91.lvs => events/legacy/91.lvs.script} (100%)
 rename ctdb/config/{events.d/99.timeout => events/legacy/99.timeout.script} (100%)
 rename ctdb/config/{notify.d.README => notification.README} (78%)
 rename ctdb/tests/simple/etc-ctdb/{events.d/00.test => events/legacy/00.test.script} (100%)


Changeset truncated at 500 lines:

diff --git a/ctdb/.gitignore b/ctdb/.gitignore
index 9e8c581..a634aeb 100644
--- a/ctdb/.gitignore
+++ b/ctdb/.gitignore
@@ -22,7 +22,6 @@ public_addresses.txt
 rec.lock
 test.db
 tests/bin
-tests/events.d/00.ctdb_test_trigger
 tests/var
 tests/takeover/ctdb_takeover.pyc
 tests/eventscripts/var
diff --git a/ctdb/common/run_event.c b/ctdb/common/run_event.c
index e230b12..b1b50ec 100644
--- a/ctdb/common/run_event.c
+++ b/ctdb/common/run_event.c
@@ -20,7 +20,7 @@
 #include "replace.h"
 #include "system/filesys.h"
 #include "system/dir.h"
-#include "system/locale.h"
+#include "system/glob.h"
 #include "system/wait.h"
 
 #include <talloc.h>
@@ -39,34 +39,15 @@
 
 static int script_filter(const struct dirent *de)
 {
-	size_t namelen = strlen(de->d_name);
-	char *ptr;
-
-	/* Ignore . and .. */
-	if (namelen < 3) {
-		return 0;
-	}
-
-	/* Skip filenames with ~ */
-	ptr = strchr(de->d_name, '~');
-	if (ptr != NULL) {
-		return 0;
-	}
-
-	/* Filename should start with [0-9][0-9]. */
-	if ((! isdigit(de->d_name[0])) ||
-	    (! isdigit(de->d_name[1])) ||
-	    (de->d_name[2] != '.')) {
-		return 0;
-	}
+	int ret;
 
-	/* Ignore filenames with multiple '.'s */
-	ptr = index(&de->d_name[3], '.');
-	if (ptr != NULL) {
-		return 0;
+	/* Match a script pattern */
+	ret = fnmatch("[0-9][0-9].*.script", de->d_name, 0);
+	if (ret == 0) {
+		return 1;
 	}
 
-	return 1;
+	return 0;
 }
 
 static int get_script_list(TALLOC_CTX *mem_ctx,
@@ -75,6 +56,7 @@ static int get_script_list(TALLOC_CTX *mem_ctx,
 {
 	struct dirent **namelist = NULL;
 	struct run_event_script_list *script_list;
+	size_t ls;
 	int count, ret;
 	int i;
 
@@ -113,10 +95,13 @@ static int get_script_list(TALLOC_CTX *mem_ctx,
 		goto done;
 	}
 
+	ls = strlen(".script");
 	for (i=0; i<count; i++) {
 		struct run_event_script *s = &script_list->script[i];
 
-		s->name = talloc_strdup(script_list, namelist[i]->d_name);
+		s->name = talloc_strndup(script_list,
+					 namelist[i]->d_name,
+					 strlen(namelist[i]->d_name) - ls);
 		if (s->name == NULL) {
 			ret = ENOMEM;
 			talloc_free(script_list);
@@ -142,12 +127,21 @@ static int script_chmod(TALLOC_CTX *mem_ctx, const char *script_dir,
 {
 	DIR *dirp;
 	struct dirent *de;
+	char script_file[PATH_MAX];
 	int ret, new_mode;
 	char *filename;
 	struct stat st;
 	bool found;
 	int fd = -1;
 
+	ret = snprintf(script_file,
+		       sizeof(script_file),
+		       "%s.script",
+		       script_name);
+	if (ret >= sizeof(script_file)) {
+		return ENAMETOOLONG;
+	}
+
 	dirp = opendir(script_dir);
 	if (dirp == NULL) {
 		return errno;
@@ -155,7 +149,7 @@ static int script_chmod(TALLOC_CTX *mem_ctx, const char *script_dir,
 
 	found = false;
 	while ((de = readdir(dirp)) != NULL) {
-		if (strcmp(de->d_name, script_name) == 0) {
+		if (strcmp(de->d_name, script_file) == 0) {
 
 			/* check for valid script names */
 			ret = script_filter(de);
@@ -174,7 +168,7 @@ static int script_chmod(TALLOC_CTX *mem_ctx, const char *script_dir,
 		return ENOENT;
 	}
 
-	filename = talloc_asprintf(mem_ctx, "%s/%s", script_dir, script_name);
+	filename = talloc_asprintf(mem_ctx, "%s/%s", script_dir, script_file);
 	if (filename == NULL) {
 		return ENOMEM;
 	}
@@ -422,7 +416,7 @@ int run_event_script_list(struct run_event_context *run_ctx,
 		struct stat st;
 		char *path = NULL;
 
-		path = talloc_asprintf(mem_ctx, "%s/%s",
+		path = talloc_asprintf(mem_ctx, "%s/%s.script",
 				       run_event_script_dir(run_ctx),
 				       script->name);
 		if (path == NULL) {
@@ -779,7 +773,7 @@ static struct tevent_req *run_event_run_script(struct tevent_req *req)
 
 	script = &state->script_list->script[state->index];
 
-	path = talloc_asprintf(state, "%s/%s",
+	path = talloc_asprintf(state, "%s/%s.script",
 			       run_event_script_dir(state->run_ctx),
 			       script->name);
 	if (path == NULL) {
diff --git a/ctdb/config/README b/ctdb/config/README
index ffbeb0e..d28f4f0 100644
--- a/ctdb/config/README
+++ b/ctdb/config/README
@@ -6,9 +6,9 @@ Selected highlights:
 
     An initscript for starting ctdbd at boot time.
 
-  events.d/
+  events/
 
-    Eventscripts.  See events.d/README for more details.
+    Eventscripts.  See events/README for more details.
 
   functions
 
diff --git a/ctdb/config/events.d/README b/ctdb/config/events/README
similarity index 97%
rename from ctdb/config/events.d/README
rename to ctdb/config/events/README
index f13714a..88d5da4 100644
--- a/ctdb/config/events.d/README
+++ b/ctdb/config/events/README
@@ -1,8 +1,11 @@
-The events.d/ directory contains event scripts used by CTDB.  Event
+The events/ directory contains event scripts used by CTDB.  Event
 scripts are triggered on certain events, such as startup, monitoring
 or public IP allocation.  Scripts may be specific to services,
 networking or internal CTDB operations.
 
+Scripts are divided into subdirectories for different CTDB components.
+Right now the only component is "legacy".
+
 All event scripts start with the prefix 'NN.' where N is a digit.  The
 event scripts are run in sequence based on NN.  Thus 10.interface will
 be run before 60.nfs.  It is recommended to keep each NN unique.
diff --git a/ctdb/config/events.d/00.ctdb b/ctdb/config/events/legacy/00.ctdb.script
similarity index 100%
rename from ctdb/config/events.d/00.ctdb
rename to ctdb/config/events/legacy/00.ctdb.script
diff --git a/ctdb/config/events.d/01.reclock b/ctdb/config/events/legacy/01.reclock.script
similarity index 100%
rename from ctdb/config/events.d/01.reclock
rename to ctdb/config/events/legacy/01.reclock.script
diff --git a/ctdb/config/events.d/05.system b/ctdb/config/events/legacy/05.system.script
similarity index 100%
rename from ctdb/config/events.d/05.system
rename to ctdb/config/events/legacy/05.system.script
diff --git a/ctdb/config/events.d/06.nfs b/ctdb/config/events/legacy/06.nfs.script
similarity index 100%
rename from ctdb/config/events.d/06.nfs
rename to ctdb/config/events/legacy/06.nfs.script
diff --git a/ctdb/config/events.d/10.interface b/ctdb/config/events/legacy/10.interface.script
similarity index 100%
rename from ctdb/config/events.d/10.interface
rename to ctdb/config/events/legacy/10.interface.script
diff --git a/ctdb/config/events.d/11.natgw b/ctdb/config/events/legacy/11.natgw.script
similarity index 100%
rename from ctdb/config/events.d/11.natgw
rename to ctdb/config/events/legacy/11.natgw.script
diff --git a/ctdb/config/events.d/11.routing b/ctdb/config/events/legacy/11.routing.script
similarity index 100%
rename from ctdb/config/events.d/11.routing
rename to ctdb/config/events/legacy/11.routing.script
diff --git a/ctdb/config/events.d/13.per_ip_routing b/ctdb/config/events/legacy/13.per_ip_routing.script
similarity index 100%
rename from ctdb/config/events.d/13.per_ip_routing
rename to ctdb/config/events/legacy/13.per_ip_routing.script
diff --git a/ctdb/config/events.d/20.multipathd b/ctdb/config/events/legacy/20.multipathd.script
similarity index 100%
rename from ctdb/config/events.d/20.multipathd
rename to ctdb/config/events/legacy/20.multipathd.script
diff --git a/ctdb/config/events.d/31.clamd b/ctdb/config/events/legacy/31.clamd.script
similarity index 100%
rename from ctdb/config/events.d/31.clamd
rename to ctdb/config/events/legacy/31.clamd.script
diff --git a/ctdb/config/events.d/40.vsftpd b/ctdb/config/events/legacy/40.vsftpd.script
similarity index 100%
rename from ctdb/config/events.d/40.vsftpd
rename to ctdb/config/events/legacy/40.vsftpd.script
diff --git a/ctdb/config/events.d/41.httpd b/ctdb/config/events/legacy/41.httpd.script
similarity index 100%
rename from ctdb/config/events.d/41.httpd
rename to ctdb/config/events/legacy/41.httpd.script
diff --git a/ctdb/config/events.d/49.winbind b/ctdb/config/events/legacy/49.winbind.script
similarity index 100%
rename from ctdb/config/events.d/49.winbind
rename to ctdb/config/events/legacy/49.winbind.script
diff --git a/ctdb/config/events.d/50.samba b/ctdb/config/events/legacy/50.samba.script
similarity index 100%
rename from ctdb/config/events.d/50.samba
rename to ctdb/config/events/legacy/50.samba.script
diff --git a/ctdb/config/events.d/60.nfs b/ctdb/config/events/legacy/60.nfs.script
similarity index 100%
rename from ctdb/config/events.d/60.nfs
rename to ctdb/config/events/legacy/60.nfs.script
diff --git a/ctdb/config/events.d/70.iscsi b/ctdb/config/events/legacy/70.iscsi.script
similarity index 100%
rename from ctdb/config/events.d/70.iscsi
rename to ctdb/config/events/legacy/70.iscsi.script
diff --git a/ctdb/config/events.d/91.lvs b/ctdb/config/events/legacy/91.lvs.script
similarity index 100%
rename from ctdb/config/events.d/91.lvs
rename to ctdb/config/events/legacy/91.lvs.script
diff --git a/ctdb/config/events.d/99.timeout b/ctdb/config/events/legacy/99.timeout.script
similarity index 100%
rename from ctdb/config/events.d/99.timeout
rename to ctdb/config/events/legacy/99.timeout.script
diff --git a/ctdb/config/functions b/ctdb/config/functions
index 30afcde..5cc995a 100755
--- a/ctdb/config/functions
+++ b/ctdb/config/functions
@@ -64,7 +64,7 @@ load_script_options ()
 	fi
 
 	if [ -n "$_script" ] ; then
-		_s="${CTDB_BASE}/events.d/${_script}"
+		_s="${CTDB_BASE}/events/legacy/${_script}"
 	else
 		_s="${0%.script}"
 	fi
diff --git a/ctdb/config/notify.d.README b/ctdb/config/notification.README
similarity index 78%
rename from ctdb/config/notify.d.README
rename to ctdb/config/notification.README
index de56417..16b632f 100755
--- a/ctdb/config/notify.d.README
+++ b/ctdb/config/notification.README
@@ -1,6 +1,6 @@
-This directory should contain executable programs to handle CTDB event
-notifications.  The first and only argument passed to each program is
-the event, which is one of:
+This directory should contain executable programs ending in ".script"
+to handle CTDB event notifications.  The first and only argument
+passed to each program is the event, which is one of:
 
   init, setup, startup, unhealthy, healthy
 
@@ -34,5 +34,3 @@ Alternatively, email could be sent:
           mail -s "$(hostname) is HEALTHY" foo at example.com </dev/null >/dev/null 2>&1
           ;;
   esac
-
-When adding programs please note the exclusion patterns in notify.sh.
diff --git a/ctdb/config/notify.sh b/ctdb/config/notify.sh
index 9f947c7..db69afc 100755
--- a/ctdb/config/notify.sh
+++ b/ctdb/config/notify.sh
@@ -1,19 +1,14 @@
 #!/bin/sh
 
 # This is script is invoked from ctdb when certain events happen.  See
-# /etc/ctdb/notify.d/README for more details.
+# /etc/ctdb/events/notification/README for more details.
 
 d=$(dirname "$0")
-nd="${d}/notify.d"
+nd="${d}/events/notification"
 
 ok=true
 
-for i in "${nd}/"* ; do
-    # Don't run files matching basename
-    case "${i##*/}" in
-	*~|*,|*.rpm*|*.swp|README) continue ;;
-    esac
-
+for i in "${nd}/"*.script ; do
     # Files must be executable
     [ -x "$i" ] || continue
 
diff --git a/ctdb/doc/ctdb.7.xml b/ctdb/doc/ctdb.7.xml
index a4444c5..09fb4ed 100644
--- a/ctdb/doc/ctdb.7.xml
+++ b/ctdb/doc/ctdb.7.xml
@@ -970,9 +970,10 @@ CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
     </para>
 
     <para>
-      The notification mechanism runs all executable files in
-      <filename>/usr/local/etc/ctdb/notify.d/</filename>, ignoring any
-      failures and continuing to run all files.
+      The notification mechanism runs all executable files ending in
+      ".script" in
+      <filename>/usr/local/etc/ctdb/events/notification/</filename>,
+      ignoring any failures and continuing to run all files.
     </para>
 
     <para>
diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in
index 55a0175..b07401f 100644
--- a/ctdb/packaging/RPM/ctdb.spec.in
+++ b/ctdb/packaging/RPM/ctdb.spec.in
@@ -128,14 +128,14 @@ mkdir -p $RPM_BUILD_ROOT%{initdir}
 install -m755 config/ctdb.init $RPM_BUILD_ROOT%{initdir}/ctdb
 %endif
 
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/notify.d
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/events/notification
 
 # This is a hack. All documents should be installed in /usr/share/doc.
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/events.d/README
-cp config/events.d/README README.eventscripts
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/events/README
+cp config/events/README README.eventscripts
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ctdb/nfs-checks.d/README
 cp config/nfs-checks.d/README README.nfs-checks.d
-cp config/notify.d.README README.notify.d
+cp config/notification.README README.notification
 
 # Remove "*.old" files
 find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
@@ -155,7 +155,7 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_sysconfdir}/ctdb/ctdb.tunables
 %config(noreplace) %{_sysconfdir}/ctdb/script.options
 %{_sysconfdir}/ctdb/notify.sh
-%dir %{_sysconfdir}/ctdb/notify.d
+%dir %{_sysconfdir}/ctdb/events/notification
 %config(noreplace) %{_sysconfdir}/ctdb/debug-hung-script.sh
 %config(noreplace) %{_sysconfdir}/ctdb/ctdb-crash-cleanup.sh
 %config(noreplace) %{_sysconfdir}/ctdb/debug_locks.sh
@@ -168,10 +168,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{initdir}/ctdb
 %endif
 
-%attr(755,root,root) %{_sysconfdir}/ctdb/notify.d
-
 %doc README COPYING
-%doc README.eventscripts README.notify.d
+%doc README.eventscripts README.notification
 %doc doc/recovery-process.txt
 %doc doc/cluster_mutex_helper.txt
 %doc doc/*.html
@@ -179,8 +177,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_sysconfdir}/sudoers.d/ctdb
 %dir %{_sysconfdir}/ctdb
 %{_sysconfdir}/ctdb/functions
-%dir %{_sysconfdir}/ctdb/events.d
-%{_sysconfdir}/ctdb/events.d/*
+%dir %{_sysconfdir}/ctdb/events
+%{_sysconfdir}/ctdb/events/*
 %dir %{_sysconfdir}/ctdb/nfs-checks.d
 %config(noreplace) %{_sysconfdir}/ctdb/nfs-checks.d/00.portmapper.check
 %config(noreplace) %{_sysconfdir}/ctdb/nfs-checks.d/10.status.check
diff --git a/ctdb/server/ctdbd.c b/ctdb/server/ctdbd.c
index 5290165..93aedf2 100644
--- a/ctdb/server/ctdbd.c
+++ b/ctdb/server/ctdbd.c
@@ -350,7 +350,7 @@ int main(int argc, const char *argv[])
 	ctdb_tunables_set_defaults(ctdb);
 
 	ctdb->event_script_dir = talloc_asprintf(ctdb,
-						 "%s/events.d",
+						 "%s/events/legacy",
 						 ctdb_base);
 	if (ctdb->event_script_dir == NULL) {
 		DBG_ERR("Out of memory\n");
diff --git a/ctdb/tests/complex/90_debug_hung_script.sh b/ctdb/tests/complex/90_debug_hung_script.sh
index b2518df..797f007 100755
--- a/ctdb/tests/complex/90_debug_hung_script.sh
+++ b/ctdb/tests/complex/90_debug_hung_script.sh
@@ -84,7 +84,7 @@ done <<'EOF'
 ===== Start of hung script debug for PID=".*", event="monitor" =====
 ===== End of hung script debug for PID=".*", event="monitor" =====
 pstree -p -a .*:
-99\\.timeout,.* /etc/ctdb/events.d/99.timeout monitor
+99\\.timeout\\.scri,.* /etc/ctdb/events/legacy/99\\.timeout\\.script monitor
  *\`-sleep,.*
 ---- Stack trace of interesting process [0-9]*\\[sleep\\] ----
 [<[0-9a-f]*>] .*sleep+.*
diff --git a/ctdb/tests/cunit/run_event_001.sh b/ctdb/tests/cunit/run_event_001.sh
index 35c256b..f8f74fb 100755
--- a/ctdb/tests/cunit/run_event_001.sh
+++ b/ctdb/tests/cunit/run_event_001.sh
@@ -22,14 +22,15 @@ cat > "$scriptdir/prog" <<EOF
 echo hello
 EOF
 
-# Invalid script
+# Invalid script, doesn't end in ".script"
 ok <<EOF
 No event scripts found
 EOF
 unit_test run_event_test "$scriptdir" list
 
+# Is not found because enabling "prog" actually looks for "prog.script"
 ok <<EOF
-Script enable prog completed with result=22
+Script enable prog completed with result=2
 EOF
 unit_test run_event_test "$scriptdir" enable prog
 
@@ -37,28 +38,7 @@ required_result 1 <<EOF
 EOF
 unit_test test -x "${scriptdir}/prog"
 
-cat > "$scriptdir/10.test.rpmnew" <<EOF
-#!/bin/sh
-
-echo hello
-EOF
-chmod +x "$scriptdir/10.test.rpmnew"
-
-# Invalid script with multiple '.'s
-ok <<EOF
-No event scripts found
-EOF
-unit_test run_event_test "$scriptdir" list
-
-ok <<EOF
-Script disable 10.test.rpmnew completed with result=22
-EOF
-unit_test run_event_test "$scriptdir" disable 10.test.rpmnew
-
-ok_null
-unit_test test -x "${scriptdir}/10.test.rpmnew"
-
-cat > "$scriptdir/11.foo" <<EOF
+cat > "$scriptdir/11.foo.script" <<EOF
 #!/bin/sh
 
 echo hello
@@ -77,7 +57,7 @@ unit_test run_event_test "$scriptdir" enable 11.foo
 
 ok <<EOF
 EOF
-unit_test test -x "${scriptdir}/11.foo"
+unit_test test -x "${scriptdir}/11.foo.script"
 
 ok <<EOF
 11.foo: hello
@@ -86,7 +66,7 @@ Event monitor completed with result=0
 EOF
 unit_test run_event_test "$scriptdir" run 10 monitor
 
-cat > "$scriptdir/22.bar" <<EOF
+cat > "$scriptdir/22.bar.script" <<EOF
 #!/bin/sh
 
 exit 1
@@ -120,7 +100,7 @@ unit_test run_event_test "$scriptdir" disable 22.bar
 
 required_result 1 <<EOF
 EOF
-unit_test test -x "${scriptdir}/22.bar"
+unit_test test -x "${scriptdir}/22.bar.script"
 
 ok <<EOF
 11.foo: hello
@@ -130,7 +110,7 @@ Event monitor completed with result=0
 EOF
 unit_test run_event_test "$scriptdir" run 10 monitor
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list