------------------------------------------------------------ revno: 448 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Andrew Tridgell <[EMAIL PROTECTED]> branch nick: tridge timestamp: Sun 2007-06-03 20:54:24 +1000 message: merged from ronnie modified: common/ctdb.c ctdb.c-20061127094323-t50f58d65iaao5of-2 config/ctdb.init ctdb.init-20070527204758-biuh7znabuwan3zn-6 tools/ctdb_control.c ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1 ------------------------------------------------------------ revno: 432.1.12 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Ronnie Sahlberg <[EMAIL PROTECTED]> branch nick: ctdb timestamp: Sun 2007-06-03 19:50:51 +1000 message: add a -Y option to generate machine readable output. print 'ctdb status' in machinereadable form as :VNN:0|1: ------------------------------------------------------------ revno: 432.1.11 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Ronnie Sahlberg <[EMAIL PROTECTED]> branch nick: ctdb timestamp: Sun 2007-06-03 19:24:52 +1000 message: ubuntu uses a different style of init scripts than redhat and suse ------------------------------------------------------------ revno: 432.1.10 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Ronnie Sahlberg <[EMAIL PROTECTED]> branch nick: ctdb timestamp: Sun 2007-06-03 18:59:27 +1000 message: print an error message to stdout if we failed to open the logfile for the daemon ------------------------------------------------------------ revno: 432.1.9 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Ronnie Sahlberg <[EMAIL PROTECTED]> branch nick: ctdb timestamp: Sun 2007-06-03 18:41:29 +1000 message: merge from tridge ------------------------------------------------------------ revno: 432.1.8 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Ronnie Sahlberg <[EMAIL PROTECTED]> branch nick: ctdb timestamp: Sun 2007-06-03 17:07:23 +1000 message: merge from tridge === modified file 'common/ctdb.c' --- a/common/ctdb.c 2007-06-02 03:16:11 +0000 +++ b/common/ctdb.c 2007-06-03 08:59:27 +0000 @@ -52,12 +52,13 @@ ctdb->logfile = talloc_strdup(ctdb, logfile); if (ctdb->logfile != NULL && strcmp(logfile, "-") != 0) { int fd; - close(1); - close(2); fd = open(ctdb->logfile, O_WRONLY|O_APPEND|O_CREAT, 0666); if (fd == -1) { + printf("Failed to open logfile %s\n", ctdb->logfile); abort(); } + close(1); + close(2); if (fd != 1) { dup2(fd, 1); close(fd);
=== modified file 'config/ctdb.init' --- a/config/ctdb.init 2007-06-03 07:53:26 +0000 +++ b/config/ctdb.init 2007-06-03 09:24:52 +0000 @@ -66,8 +66,11 @@ if [ -x /sbin/startproc ]; then init_style="suse" -else - init_style="redhat" +else if [ -x /sbin/start-stop-daemon ]; then + init_style="ubuntu" + else + init_style="redhat" + fi fi start() { @@ -85,6 +88,10 @@ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ctdb || RETVAL=1 return $RETVAL ;; + ubuntu) + start-stop-daemon --start --quiet --background --exec /usr/sbin/ctdbd -- $CTDB_OPTIONS + return $? + ;; esac } === modified file 'tools/ctdb_control.c' --- a/tools/ctdb_control.c 2007-05-31 03:50:53 +0000 +++ b/tools/ctdb_control.c 2007-06-03 09:50:51 +0000 @@ -32,6 +32,7 @@ static struct { int timelimit; uint32_t vnn; + int machinereadable; } options; #define TIMELIMIT() timeval_current_ofs(options.timelimit, 0) @@ -288,6 +289,15 @@ return ret; } + if(options.machinereadable){ + printf(":Node:Status:\n"); + for(i=0;i<nodemap->num;i++){ + printf(":%d:%d:\n", nodemap->nodes[i].vnn, + !!nodemap->nodes[i].flags&NODE_FLAGS_CONNECTED); + } + return 0; + } + printf("Number of nodes:%d\n", nodemap->num); for(i=0;i<nodemap->num;i++){ printf("vnn:%d %s%s\n", nodemap->nodes[i].vnn, @@ -723,6 +733,7 @@ "Usage: ctdb [options] <control>\n" \ "Options:\n" \ " -n <node> choose node number, or 'all' (defaults to local node)\n" +" -Y generate machinereadable output\n" " -t <timelimit> set timelimit for control in seconds (default %u)\n", options.timelimit); printf("Controls:\n"); for (i=0;i<ARRAY_SIZE(ctdb_commands);i++) { @@ -747,6 +758,7 @@ POPT_CTDB_CMDLINE { "timelimit", 't', POPT_ARG_INT, &options.timelimit, 0, "timelimit", "integer" }, { "node", 'n', POPT_ARG_STRING, &nodestring, 0, "node", "integer|all" }, + { "machinereadable", 'Y', POPT_ARG_NONE, &options.machinereadable, 0, "enable machinereadable output", NULL }, POPT_TABLEEND }; int opt;