[SCM] CTDB repository - branch 1.0.112 updated - ctdb-1.0.111-16-g3e2b183

Ronnie Sahlberg sahlberg at samba.org
Thu Jan 21 00:53:15 MST 2010


The branch, 1.0.112 has been updated
       via  3e2b1839a9f8419eeeb7f22ea5925f6c42f32a65 (commit)
       via  eb68bc6f27f9b10abbd5bc4e4fd62b7af54c9abb (commit)
       via  cd8b1eb75f430c589e71b2837dab9d83a12bb43e (commit)
      from  910debaa673319a193374ecc75048e3b8da7564d (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.0.112


- Log -----------------------------------------------------------------
commit 3e2b1839a9f8419eeeb7f22ea5925f6c42f32a65
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Thu Jan 21 18:51:54 2010 +1100

    version 1.0.112-4

commit eb68bc6f27f9b10abbd5bc4e4fd62b7af54c9abb
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Jan 21 13:40:03 2010 +1100

    onnode: update algorithm for finding nodes file.
    
    2 changes:
    
    * If a relative nodes file is specified via -f or $CTDB_NODES_FILE but
      this file does not exist then try looking for the file in /etc/ctdb
      (or $CTDB_BASE if set).
    
    * If a nodes file is specified via -f or $CTDB_NODES_FILE but this
      file does not exist (even when checked as per above) then do not
      fall back to /etc/ctdb/nodes ((or $CTDB_BASE if set).  The old
      behaviour was surprising and hid errors.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

commit cd8b1eb75f430c589e71b2837dab9d83a12bb43e
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Jan 21 13:16:18 2010 +1100

    onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

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

Summary of changes:
 packaging/RPM/ctdb.spec.in |    4 +++-
 tools/onnode               |   23 +++++++++++++++++++----
 2 files changed, 22 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index 30545c5..93f5e22 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -5,7 +5,7 @@ Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
 Name: ctdb
 Version: 1.0.112
-Release: 3
+Release: 4
 Epoch: 0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -123,6 +123,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_docdir}/ctdb/tests/bin/ctdb_transaction
 
 %changelog
+* Wed Jan 21 2010 : Version 1.0.112-4
+ - Update onnode with more flexible ways to define the path to the nodes file
 * Wed Jan 20 2010 : Version 1.0.112-3
  - Explicitely source the nfs sysconfig file from the 61.nfstickles script.
 * Wed Jan 13 2010 : Version 1.0.112-2
diff --git a/tools/onnode b/tools/onnode
index 7c0a86e..fa61b47 100755
--- a/tools/onnode
+++ b/tools/onnode
@@ -63,6 +63,8 @@ quiet=false
 prefix=""
 names_ok=false
 
+ctdb_base="${CTDB_BASE:-/etc/ctdb}"
+
 parse_options ()
 {
     # $POSIXLY_CORRECT means that the command passed to onnode can
@@ -165,7 +167,7 @@ get_nodes_with_status ()
 	    # Succeeded.  Get address.  NOTE: this is an optimisation.
 	    # It might be better to get the node number and then get
 	    # the nth node to get the address.  This would make things
-	    # more consistent if /etc/ctdb/nodes actually contained
+	    # more consistent if $ctdb_base/nodes actually contained
 	    # hostnames.
 	    nodes="${nodes} ${t##*:}"
 	fi
@@ -229,8 +231,21 @@ get_nodes ()
     if [ -n "$CTDB_NODES_SOCKETS" ] ; then 
 	all_nodes="$CTDB_NODES_SOCKETS"
     else
-	[ -e "$CTDB_NODES_FILE" ] || CTDB_NODES_FILE=/etc/ctdb/nodes
-	all_nodes=$(sed -e 's@#.*@@g' -e 's@ *@@g' -e 's@^$@#DEAD@' $CTDB_NODES_FILE)
+	local f="${ctdb_base}/nodes"
+	if [ -n "$CTDB_NODES_FILE" ] ; then
+	    f="$CTDB_NODES_FILE"
+	    if [ ! -e "$f" -a "${f#/}" = "$f" ] ; then
+		# $f is relative, try in $ctdb_base
+		f="${ctdb_base}/${f}"
+	    fi
+	fi
+
+	if [ ! -r "$f" ] ; then
+	    echo "${prog}: unable to open nodes file  \"${f}\"" >&2
+	    exit 1
+	fi
+
+	all_nodes=$(sed -e 's@#.*@@g' -e 's@ *@@g' -e 's@^$@#DEAD@' "$f")
     fi
 
     local nodes=""
@@ -305,7 +320,7 @@ if [ -n "$CTDB_NODES_SOCKETS" ] ; then
     SSH=fakessh
 else 
     # Could "2>/dev/null || true" but want to see errors from typos in file.
-    [ -r /etc/ctdb/onnode.conf ] && . /etc/ctdb/onnode.conf
+    [ -r "${ctdb_base}/onnode.conf" ] && . "${ctdb_base}/onnode.conf"
     [ -n "$SSH" ] || SSH=ssh
     if [ "$SSH" = "ssh" ] ; then
 	ssh_opts="-n"


-- 
CTDB repository


More information about the samba-cvs mailing list