]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
change the now rather small /etc/ctdb/events script into a service
authorRonnie Sahlberg <sahlberg@ronnie>
Wed, 15 Aug 2007 05:01:31 +0000 (15:01 +1000)
committerRonnie Sahlberg <sahlberg@ronnie>
Wed, 15 Aug 2007 05:01:31 +0000 (15:01 +1000)
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
ctdb/config/ctdb.init
ctdb/config/ctdb.sysconfig
ctdb/config/events.d/00.ctdb [moved from ctdb/config/events with 100% similarity]
ctdb/include/ctdb_private.h
ctdb/packaging/RPM/ctdb.spec
ctdb/server/ctdb_takeover.c
ctdb/server/ctdbd.c
ctdb/server/eventscript.c

index 2ba7845626d520ac35915d93a7d05bead86cfeae..d5bfe85899259944e7f1618ad470746dd78f175e 100644 (file)
@@ -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
index a213369207ea3e1ed2573aee31ab596089ece6cb..ffe56241acb6534e1de5eb59fd386549efac8d4a 100755 (executable)
@@ -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"
 
index 686a17af97f683fecc03c524deedfef80c409a18..5116b040f483e62769b32baf811992968643db6a 100644 (file)
 # 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
index aaf849ef4418fbe534513357a3f2403d17ce2655..01146f3f43ea7c24c4669d37564c3650761fe924 100644 (file)
@@ -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;
 };
index 1c6b3dfa33caddc757c144d2a4801eb49eec786e..ad4a315a561799b74c70cf7ddbf320409d42fdce 100644 (file)
@@ -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
index bb7473ef637cf2038d3cc0ea04c661a155a19152..4392a596ff796053e26480ce9f10ac648e69f552 100644 (file)
@@ -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
 */
index 778eff33b08157d5fb3915770af246c4350ebc7b..bb46ab1f0294dfe9e80e22fdb98d94b70ff9fa8f 100644 (file)
@@ -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");
index 2cd2e66f341212adb2e32eebced738c04a84450d..6c661d7cc6bfe9815c79cfaf19af6f383d8e84ad 100644 (file)
@@ -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 
        */