From 3b9d50f3eeb3086abf065a8abff1b7519b42f057 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Wed, 15 Aug 2007 15:01:31 +1000 Subject: [PATCH] change the now rather small /etc/ctdb/events script into a service specific script /etc/ctdb/events.d/00.ctdb get rid of CTDB_EVENTS_SCRIPT and --event-script (This used to be ctdb commit 81ccfaf838e5772d4a58eb6a70224b7b39aba9f3) --- ctdb/Makefile.in | 2 +- ctdb/config/ctdb.init | 2 +- ctdb/config/ctdb.sysconfig | 5 ---- ctdb/config/{events => events.d/00.ctdb} | 0 ctdb/include/ctdb_private.h | 1 - ctdb/packaging/RPM/ctdb.spec | 2 +- ctdb/server/ctdb_takeover.c | 10 ------- ctdb/server/ctdbd.c | 9 ------ ctdb/server/eventscript.c | 35 ------------------------ 9 files changed, 3 insertions(+), 63 deletions(-) rename ctdb/config/{events => events.d/00.ctdb} (100%) diff --git a/ctdb/Makefile.in b/ctdb/Makefile.in index 2ba7845626d..d5bfe858992 100644 --- a/ctdb/Makefile.in +++ b/ctdb/Makefile.in @@ -154,10 +154,10 @@ install: all ${INSTALLCMD} -m 755 bin/smnotify $(DESTDIR)$(bindir) ${INSTALLCMD} -m 644 include/ctdb.h $(DESTDIR)$(includedir) ${INSTALLCMD} -m 644 include/ctdb_private.h $(DESTDIR)$(includedir) # for samba3 - ${INSTALLCMD} -m 755 config/events $(DESTDIR)$(etcdir)/ctdb ${INSTALLCMD} -m 755 config/functions $(DESTDIR)$(etcdir)/ctdb ${INSTALLCMD} -m 755 config/statd-callout $(DESTDIR)$(etcdir)/ctdb ${INSTALLCMD} -m 755 config/events.d/README $(DESTDIR)$(etcdir)/ctdb/events.d + ${INSTALLCMD} -m 755 config/events.d/00.ctdb $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 config/events.d/10.interface $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 config/events.d/40.vsftpd $(DESTDIR)$(etcdir)/ctdb/events.d ${INSTALLCMD} -m 755 config/events.d/50.samba $(DESTDIR)$(etcdir)/ctdb/events.d diff --git a/ctdb/config/ctdb.init b/ctdb/config/ctdb.init index a213369207e..ffe56241acb 100755 --- a/ctdb/config/ctdb.init +++ b/ctdb/config/ctdb.init @@ -54,7 +54,7 @@ CTDB_OPTIONS="$CTDB_OPTIONS --reclock=$CTDB_RECOVERY_LOCK" [ -z "$CTDB_PUBLIC_ADDRESSES" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-addresses=$CTDB_PUBLIC_ADDRESSES" [ -z "$CTDB_PUBLIC_INTERFACE" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-interface=$CTDB_PUBLIC_INTERFACE" [ -z "$CTDB_DBDIR" ] || CTDB_OPTIONS="$CTDB_OPTIONS --dbdir=$CTDB_DBDIR" -[ -z "$CTDB_EVENT_SCRIPT" ] || CTDB_OPTIONS="$CTDB_OPTIONS --event-script $CTDB_EVENT_SCRIPT" +[ -z "$CTDB_EVENT_SCRIPT_DIR" ] || CTDB_OPTIONS="$CTDB_OPTIONS --event-script-dir $CTDB_EVENT_SCRIPT_DIR" [ -z "$CTDB_TRANSPORT" ] || CTDB_OPTIONS="$CTDB_OPTIONS --transport $CTDB_TRANSPORT" [ -z "$CTDB_DEBUGLEVEL" ] || CTDB_OPTIONS="$CTDB_OPTIONS -d $CTDB_DEBUGLEVEL" diff --git a/ctdb/config/ctdb.sysconfig b/ctdb/config/ctdb.sysconfig index 686a17af97f..5116b040f48 100644 --- a/ctdb/config/ctdb.sysconfig +++ b/ctdb/config/ctdb.sysconfig @@ -35,11 +35,6 @@ # defaults to /var/ctdb # CTDB_DBDIR=/var/ctdb -# the main script to run when ctdb needs to ask the OS for help, -# such as when a IP address needs to be taken or released -# defaults to /etc/ctdb/events -# CTDB_EVENT_SCRIPT=/etc/ctdb/events - # the directory where service specific event scripts are stored # defaults to /etc/ctdb/events.d # CTDB_EVENT_SCRIPT_DIR=/etc/ctdb/events.d diff --git a/ctdb/config/events b/ctdb/config/events.d/00.ctdb similarity index 100% rename from ctdb/config/events rename to ctdb/config/events.d/00.ctdb diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h index aaf849ef441..01146f3f43e 100644 --- a/ctdb/include/ctdb_private.h +++ b/ctdb/include/ctdb_private.h @@ -301,7 +301,6 @@ enum ctdb_freeze_mode {CTDB_FREEZE_NONE, CTDB_FREEZE_PENDING, CTDB_FREEZE_FROZEN struct ctdb_takeover { bool enabled; const char *interface; - const char *main_event_script; const char *event_script_dir; TALLOC_CTX *last_ctx; }; diff --git a/ctdb/packaging/RPM/ctdb.spec b/ctdb/packaging/RPM/ctdb.spec index 1c6b3dfa33c..ad4a315a561 100644 --- a/ctdb/packaging/RPM/ctdb.spec +++ b/ctdb/packaging/RPM/ctdb.spec @@ -92,9 +92,9 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/ctdb %attr(755,root,root) %config %{initdir}/ctdb -%{_sysconfdir}/ctdb/events %{_sysconfdir}/ctdb/functions %{_sysconfdir}/ctdb/events.d/README +%{_sysconfdir}/ctdb/events.d/00.ctdb %{_sysconfdir}/ctdb/events.d/10.interface %{_sysconfdir}/ctdb/events.d/40.vsftpd %{_sysconfdir}/ctdb/events.d/50.samba diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c index bb7473ef637..4392a596ff7 100644 --- a/ctdb/server/ctdb_takeover.c +++ b/ctdb/server/ctdb_takeover.c @@ -366,16 +366,6 @@ int32_t ctdb_control_release_ip(struct ctdb_context *ctdb, } -/* - setup the event script -*/ -int ctdb_set_event_script(struct ctdb_context *ctdb, const char *script) -{ - ctdb->takeover.main_event_script = talloc_strdup(ctdb, script); - CTDB_NO_MEMORY(ctdb, ctdb->takeover.main_event_script); - return 0; -} - /* setup the event script directory */ diff --git a/ctdb/server/ctdbd.c b/ctdb/server/ctdbd.c index 778eff33b08..bb46ab1f029 100644 --- a/ctdb/server/ctdbd.c +++ b/ctdb/server/ctdbd.c @@ -43,7 +43,6 @@ static struct { const char *myaddress; const char *public_address_list; const char *public_interface; - const char *event_script; const char *event_script_dir; const char *logfile; const char *recovery_lock_file; @@ -52,7 +51,6 @@ static struct { } options = { .nlist = ETCDIR "/ctdb/nodes", .transport = "tcp", - .event_script = ETCDIR "/ctdb/events", .event_script_dir = ETCDIR "/ctdb/events.d", .logfile = VARDIR "/log/log.ctdb", .db_dir = VARDIR "/ctdb", @@ -104,7 +102,6 @@ int main(int argc, const char *argv[]) { "interactive", 'i', POPT_ARG_NONE, &interactive, 0, "don't fork", NULL }, { "public-addresses", 0, POPT_ARG_STRING, &options.public_address_list, 0, "public address list file", "filename" }, { "public-interface", 0, POPT_ARG_STRING, &options.public_interface, 0, "public interface", "interface"}, - { "event-script", 0, POPT_ARG_STRING, &options.event_script, 0, "event script", "filename" }, { "event-script-dir", 0, POPT_ARG_STRING, &options.event_script_dir, 0, "event script directory", "dirname" }, { "logfile", 0, POPT_ARG_STRING, &options.logfile, 0, "log file location", "filename" }, { "nlist", 0, POPT_ARG_STRING, &options.nlist, 0, "node list file", "filename" }, @@ -215,12 +212,6 @@ int main(int argc, const char *argv[]) ctdb->takeover.enabled = true; } - ret = ctdb_set_event_script(ctdb, options.event_script); - if (ret == -1) { - printf("Unable to setup event script\n"); - exit(1); - } - ret = ctdb_set_event_script_dir(ctdb, options.event_script_dir); if (ret == -1) { printf("Unable to setup event script directory\n"); diff --git a/ctdb/server/eventscript.c b/ctdb/server/eventscript.c index 2cd2e66f341..6c661d7cc6b 100644 --- a/ctdb/server/eventscript.c +++ b/ctdb/server/eventscript.c @@ -43,41 +43,6 @@ static int ctdb_event_script_v(struct ctdb_context *ctdb, const char *fmt, va_li struct dirent *de; char *script; - /* - run the main event script - */ - if (stat(ctdb->takeover.main_event_script, &st) != 0 && - errno == ENOENT) { - DEBUG(0,("No event script found at '%s'\n", ctdb->takeover.main_event_script)); - talloc_free(tmp_ctx); - return 0; - } - - va_copy(ap2, ap); - options = talloc_vasprintf(tmp_ctx, fmt, ap2); - va_end(ap2); - CTDB_NO_MEMORY(ctdb, options); - - cmdstr = talloc_asprintf(tmp_ctx, "%s %s", - ctdb->takeover.main_event_script, options); - CTDB_NO_MEMORY(ctdb, cmdstr); - - - ret = system(cmdstr); - /* if the system() call was successful, translate ret into the - return code from the command - */ - if (ret != -1) { - ret = WEXITSTATUS(ret); - } - /* return an error if the script failed */ - if (ret != 0) { - talloc_free(tmp_ctx); - return ret; - } - - - /* the service specific event scripts */ -- 2.47.3