From bfe5e159f3cbc6856b8256b915d5ad16a55f3402 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Wed, 16 Oct 2013 01:26:48 +0100 Subject: cli: ceph: add support to ping monitors Signed-off-by: Joao Eduardo Luis --- src/ceph.in | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ceph.in b/src/ceph.in index 075ec80c20b..668e639cf4c 100755 --- a/src/ceph.in +++ b/src/ceph.in @@ -158,6 +158,7 @@ def parse_cmdargs(args=None, target=''): parser.add_argument('-f', '--format', choices=['json', 'json-pretty', 'xml', 'xml-pretty', 'plain'], dest='output_format') + parser.add_argument('--ping', action='store_true', help='ping a monitor') # returns a Namespace with the parsed args, and a list of all extras parsed_args, extras = parser.parse_known_args(args) @@ -578,7 +579,19 @@ def main(): return 1 try: - cluster_handle.connect() + if parsed_args.ping: + (r,s) = cluster_handle.ping_monitor() + if r == 0: + print s + return 0 + elif r == -errno.ETIMEDOUT: + print >> sys.stderr, 'Timed out attempting to connect to monitor' + return 1 + else: + print >> sys.stderr, 'Error connecting to monitor: {0}'.format(r) + return 1 + else: + cluster_handle.connect() except KeyboardInterrupt: print >> sys.stderr, 'Cluster connection aborted' return 1 -- cgit v1.2.1