]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph: move admin-daemon command before connect()
authorDan Mick <dan.mick@inktank.com>
Wed, 29 May 2013 02:07:54 +0000 (19:07 -0700)
committerDan Mick <dan.mick@inktank.com>
Tue, 4 Jun 2013 00:30:41 +0000 (17:30 -0700)
Allow admin-daemon commands to work even if we can't connect()

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

index f93acf90f9b0b380273c8a8581b3f91d419a5a8d..cedfec1f73d4b59ace1cdb126f445a9142ac23e9 100755 (executable)
--- a/src/ceph
+++ b/src/ceph
@@ -1328,6 +1328,26 @@ def main():
     if len(extraconf) == 0:
         extraconf = None
 
+    # 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)
+        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:])
+                return 0
+            else:
+                # try resolve daemon name
+                path = ceph_conf('admin_socket', childargs[1])
+                print admin_socket(path, childargs[2:])
+                return 0
+        else:
+            print >> sys.stderr, 'Daemon requires at least 2 arguments'
+            return 1
+
     try:
         cluster = rados.Rados(rados_id=name, conf=extraconf, conffile=conffile)
         cluster.connect(timeout=10)
@@ -1359,25 +1379,6 @@ def main():
                 # or until ^C, at least
                 return 0
 
-    # For now, --admin-daemon is handled as usual
-    if parsed_args.admin_socket:
-        print admin_socket(parsed_args.admin_socket, childargs)
-        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:])
-                return 0
-            else:
-                # try resolve daemon name
-                path = ceph_conf('admin_socket', childargs[1])
-                print admin_socket(path, childargs[2:])
-                return 0
-        else:
-            print >> sys.stderr, 'Daemon requires at least 2 arguments'
-            return 1
-
     # read input file, if any
     inbuf = ''
     if parsed_args.input_file: