]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph.in: make osdids() (and mon, mds) work on old mons
authorDan Mick <dan.mick@inktank.com>
Fri, 26 Jul 2013 23:25:26 +0000 (16:25 -0700)
committerSage Weil <sage@inktank.com>
Sat, 27 Jul 2013 00:24:22 +0000 (17:24 -0700)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/ceph.in

index 63c41343f9a523f0318e1765c0a57bee3700c334..6caef354a10253ddf55c5d861000149cbe9d0153 100755 (executable)
@@ -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)