From 3f93691bf35f7ac1bb1ae68d5ef2dc68d2928ad7 Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Fri, 26 Jul 2013 16:25:26 -0700 Subject: [PATCH] ceph.in: make osdids() (and mon, mds) work on old mons Signed-off-by: Dan Mick Reviewed-by: Sage Weil --- src/ceph.in | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ceph.in b/src/ceph.in index 63c41343f9a52..6caef354a1025 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) -- 2.39.5