summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Mick <dan.mick@inktank.com>2013-07-26 16:25:26 -0700
committerSage Weil <sage@inktank.com>2013-07-26 17:24:22 -0700
commit3f93691bf35f7ac1bb1ae68d5ef2dc68d2928ad7 (patch)
tree0878b1a6ceec8626d3820ea8ebe0d101bfc4e229
parent4b739005a548b9cbf04856646aa993e2b71793c7 (diff)
downloadceph-3f93691bf35f7ac1bb1ae68d5ef2dc68d2928ad7.tar.gz
ceph.in: make osdids() (and mon, mds) work on old mons
Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
-rwxr-xr-xsrc/ceph.in11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ceph.in b/src/ceph.in
index 63c41343f9a..6caef354a10 100755
--- a/src/ceph.in
+++ b/src/ceph.in
@@ -64,6 +64,9 @@ cluster_handle = None
def osdids():
ret, outbuf, outs = json_command(cluster_handle, prefix='osd ls')
+ if ret == -errno.EINVAL:
+ # try old mon
+ ret, outbuf, outs = send_command(cluster_handle, cmd=['osd', 'ls'])
if ret:
raise RuntimeError('Can\'t contact mon for osd list')
return [i for i in outbuf.split('\n') if i != '']
@@ -71,6 +74,10 @@ def osdids():
def monids():
ret, outbuf, outs = json_command(cluster_handle, prefix='mon dump',
argdict={'format':'json'})
+ if ret == -errno.EINVAL:
+ # try old mon
+ ret, outbuf, outs = send_command(cluster_handle,
+ cmd=['mon', 'dump', '--format=json'])
if ret:
raise RuntimeError('Can\'t contact mon for mon list')
d = json.loads(outbuf)
@@ -79,6 +86,10 @@ def monids():
def mdsids():
ret, outbuf, outs = json_command(cluster_handle, prefix='mds dump',
argdict={'format':'json'})
+ if ret == -errno.EINVAL:
+ # try old mon
+ ret, outbuf, outs = send_command(cluster_handle,
+ cmd=['mds', 'dump', '--format=json'])
if ret:
raise RuntimeError('Can\'t contact mon for mds list')
d = json.loads(outbuf)