[SCM] CTDB repository - branch 1.2 updated - ctdb-1.9.1-485-g1d48b3f
Ronnie Sahlberg
sahlberg at samba.org
Thu Oct 13 00:19:30 MDT 2011
The branch, 1.2 has been updated
via 1d48b3f6cb27d84425863f576c7bbd3e1a8f9863 (commit)
via e1cd38eee86ec3d826ba587aa29e587ec7384e56 (commit)
from 7b0ddb7b3b4b4ce42ee40872b66269920d9f472a (commit)
http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=1.2
- Log -----------------------------------------------------------------
commit 1d48b3f6cb27d84425863f576c7bbd3e1a8f9863
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 13 17:16:46 2011 +1100
new version 1.2.37
commit e1cd38eee86ec3d826ba587aa29e587ec7384e56
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Oct 7 15:00:42 2011 +1100
Make ctdb_diagnostics more resilient to uncontactable nodes.
Current behaviour is for onnode to timeout (for about 20s) for each
attempted ssh to a down node. With 40 or 50 invocations of onnode
this takes a long time.
2 changes to work around this:
* If EXTRA_SSH_OPTS (which is passed to ssh by onnode) does not
contains a ConnectTimeout= setting then add a setting for a 5 second
timeout.
* Filter the nodes before starting any diagnosis, taking out any "bad
nodes" that are uncontactable via onnode.
In the nodes summary at the beginning of the output, print
information about any "bad nodes".
Signed-off-by: Martin Schwenke <martin at meltin.net>
-----------------------------------------------------------------------
Summary of changes:
packaging/RPM/ctdb.spec.in | 4 +++-
tools/ctdb_diagnostics | 34 +++++++++++++++++++++++++++++++++-
2 files changed, 36 insertions(+), 2 deletions(-)
Changeset truncated at 500 lines:
diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index d5b081d..06e805e 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -3,7 +3,7 @@ Name: ctdb
Summary: Clustered TDB
Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
-Version: 1.2.36
+Version: 1.2.37
Release: 1GITHASH
Epoch: 0
License: GNU GPL version 3
@@ -144,6 +144,8 @@ development libraries for ctdb
%{_libdir}/libctdb.a
%changelog
+* Thu Oct 13 2011 : Version 1.2.37
+ - updates to ctdb-diagnostics
* Thu Sep 22 2011 : Version 1.2.36
- Fix for delip failing to delete the ip drom the interface
S1028798
diff --git a/tools/ctdb_diagnostics b/tools/ctdb_diagnostics
index cf166ec..117def8 100755
--- a/tools/ctdb_diagnostics
+++ b/tools/ctdb_diagnostics
@@ -18,6 +18,7 @@ EOF
}
nodes=$(ctdb listnodes -Y | cut -d: -f2)
+bad_nodes=""
diff_opts=
no_ads=false
@@ -45,6 +46,25 @@ parse_options ()
parse_options "$@"
+# Use 5s ssh timeout if EXTRA_SSH_OPTS doesn't set a timeout.
+case "$EXTRA_SSH_OPTS" in
+ *ConnectTimeout=*) : ;;
+ *)
+ export EXTRA_SSH_OPTS="${EXTRA_SSH_OPTS} -o ConnectTimeout=5"
+esac
+
+# Filter nodes. Remove any nodes we can't contact from $node and add
+# them to $bad_nodes.
+_nodes=""
+for _i in $nodes ; do
+ if onnode $_i true >/dev/null 2>&1 ; then
+ _nodes="${_nodes}${_nodes:+ }${_i}"
+ else
+ bad_nodes="${bad_nodes}${bad_nodes:+,}${_i}"
+ fi
+done
+nodes="$_nodes"
+
nodes_comma=$(echo $nodes | sed -e 's@[[:space:]]@, at g')
PATH="$PATH:/sbin:/usr/sbin:/usr/lpp/mmfs/bin"
@@ -138,11 +158,23 @@ NUM_ERRORS=0
cat <<EOF
Diagnosis started on these nodes:
$nodes_comma
+EOF
+
+if [ -n "$bad_nodes" ] ; then
+ cat <<EOF
+
+NOT RUNNING DIAGNOSTICS on these uncontactable nodes:
+$bad_nodes
+EOF
+
+fi
+
+cat <<EOF
For reference, here is the nodes file on the current node...
EOF
-show_file /etc/ctdb/nodes
+show_file /etc/ctdb/nodes
cat <<EOF
--------------------------------------------------------------------
--
CTDB repository
More information about the samba-cvs
mailing list