]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph: catch/handle exceptions in admin socket commands
authorDan Mick <dan.mick@inktank.com>
Thu, 6 Jun 2013 01:17:26 +0000 (18:17 -0700)
committerDan Mick <dan.mick@inktank.com>
Fri, 7 Jun 2013 01:41:15 +0000 (18:41 -0700)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
src/ceph

index 3396c70e0b94c4b73aa25be07ff4caabcb860c43..f11ad997370b6135b87d821be72b98fc7101ce7a 100755 (executable)
--- a/src/ceph
+++ b/src/ceph
@@ -1322,18 +1322,27 @@ def main():
     # For now, --admin-daemon is handled as usual.  Try it
     # first in case we can't connect() to the cluster
     if parsed_args.admin_socket:
-        print admin_socket(parsed_args.admin_socket, childargs)
+        try:
+            print admin_socket(parsed_args.admin_socket, childargs)
+        except Exception as e:
+            print >> sys.stderr, 'admin_socket: {0}'.format(e)
         return 0
 
     if len(childargs) > 0 and childargs[0] == "daemon":
         if len(childargs) > 2:
             if childargs[1].find('/') >= 0:
-                print admin_socket(childargs[1], childargs[2:])
+                try:
+                    print admin_socket(childargs[1], childargs[2:])
+                except Exception as e:
+                    print >> sys.stderr, 'admin_socket: {0}'.format(e)
                 return 0
             else:
                 # try resolve daemon name
                 path = ceph_conf('admin_socket', childargs[1])
-                print admin_socket(path, childargs[2:])
+                try:
+                    print admin_socket(path, childargs[2:])
+                except Exception as e:
+                    print >> sys.stderr, 'admin_socket: {0}'.format(e)
                 return 0
         else:
             print >> sys.stderr, 'Daemon requires at least 2 arguments'