summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-10-16 01:26:48 +0100
committerJoao Eduardo Luis <joao.luis@inktank.com>2013-10-16 01:42:46 +0100
commitbfe5e159f3cbc6856b8256b915d5ad16a55f3402 (patch)
tree95bda01770299ec0f6fb739b7d80b232026170a2
parent2461125173d6bb07f8047b8f4d773a4c3a0f09bb (diff)
downloadceph-bfe5e159f3cbc6856b8256b915d5ad16a55f3402.tar.gz
cli: ceph: add support to ping monitorswip-monc-ping
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rwxr-xr-xsrc/ceph.in15
1 files changed, 14 insertions, 1 deletions
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