]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph: fix up old-monitor handling
authorDan Mick <dan.mick@inktank.com>
Thu, 6 Jun 2013 03:12:26 +0000 (20:12 -0700)
committerDan Mick <dan.mick@inktank.com>
Fri, 7 Jun 2013 01:44:15 +0000 (18:44 -0700)
Finish command after submitting to old monitor, rather than falling
through to new-command handling
Also, translate -s to status for old mons as well

Signed-off-by: Dan Mick <dan.mick@inktank.com>
src/ceph

index f11ad997370b6135b87d821be72b98fc7101ce7a..bf5b799baf7adb8ee55af0c145935ccc471abb3d 100755 (executable)
--- a/src/ceph
+++ b/src/ceph
@@ -1447,6 +1447,9 @@ def main():
     ret, outbuf, outs = json_command(target=target,
                                      prefix='get_command_descriptions')
     if ret == -errno.EINVAL:
+        if parsed_args.status:
+            sys.argv[sys.argv.index('-s')] = 'status'
+
         # send command to old monitor
         ret, outbuf, outs = cluster_handle.mon_command(' '.join(sys.argv[1:]),
                                                        inbuf)
@@ -1457,14 +1460,14 @@ def main():
             'Problem getting command descriptions from {0}, {1}'.\
             format(target, errno.errorcode[ret])
         return ret
+    else:
+        sigdict = parse_json_funcsigs(outbuf)
 
-    sigdict = parse_json_funcsigs(outbuf)
-
-    if parsed_args.completion:
-        return complete(sigdict, childargs, target)
+        if parsed_args.completion:
+            return complete(sigdict, childargs, target)
 
-    ret, outbuf, outs = new_style_command(parsed_args, childargs, target,
-                                          sigdict, inbuf, verbose)
+        ret, outbuf, outs = new_style_command(parsed_args, childargs, target,
+                                              sigdict, inbuf, verbose)
 
     if ret < 0:
         ret = -ret