]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cli: ceph: add support to ping monitors 730/head
authorJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 23 Oct 2013 02:04:23 +0000 (03:04 +0100)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 23 Oct 2013 02:04:23 +0000 (03:04 +0100)
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
src/ceph.in

index 56422f6ed82089172768ee0182640ea1a8068c40..72c58541b0f0823749ba3f09c1aa1c6c607b82f9 100755 (executable)
@@ -475,6 +475,19 @@ def complete(sigdict, args, target):
 
     return 0
 
+###
+# ping a monitor
+###
+def ping_monitor(cluster_handle, name):
+    if 'mon.' not in name:
+        print >> sys.stderr, '"ping" expects a monitor to ping; try "ping mon.<id>"'
+        return 1
+
+    mon_id = name[len('mon.'):]
+    s = cluster_handle.ping_monitor(mon_id)
+    print s
+    return 0
+
 ###
 # main
 ###
@@ -603,7 +616,14 @@ def main():
         hdr('Monitor commands:')
         print '[Contacting monitor, timeout after %d seconds]' % timeout
 
+    if childargs[0] == 'ping':
+        if len(childargs) < 2:
+            print >> sys.stderr, '"ping" requires a monitor name as argument: "ping mon.<id>"'
+            return 1
+
     try:
+        if childargs[0] == 'ping':
+            return ping_monitor(cluster_handle, childargs[1])
         cluster_handle.connect(timeout=timeout)
     except KeyboardInterrupt:
         print >> sys.stderr, 'Cluster connection aborted'