]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-create-keys: Don't wait if permission denied
authorGary Lowell <glowell@inktank.com>
Fri, 19 Apr 2013 18:19:05 +0000 (11:19 -0700)
committerGary Lowell <glowell@inktank.com>
Mon, 22 Apr 2013 05:08:49 +0000 (22:08 -0700)
If get or create keys returns permssion denied, exit
gracefully instead of retrying.

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/ceph-create-keys

index 354e96f48b432a3e92c96da3124b072cae9ccf62..bb3967c087943cded835ff72ac74ec84e3d823bd 100755 (executable)
@@ -79,9 +79,13 @@ def get_key(cluster, mon_id):
                     stdout=f,
                     )
             if returncode != 0:
-                LOG.info('Cannot get or create admin key')
-                time.sleep(1)
-                continue
+                if returncode == errno.EPERM or returncode == errno.EACCES:
+                    LOG.info('Cannot get or create admin key, permission denied')
+                    sys.exit(returncode)
+                else:
+                    LOG.info('Cannot get or create admin key')
+                    time.sleep(1)
+                    continue
 
             os.rename(tmp, path)
             break
@@ -130,9 +134,13 @@ def bootstrap_key(cluster, type_, caps):
                     stdout=f,
                     )
             if returncode != 0:
-                LOG.info('Cannot get or create bootstrap key for %s', type_)
-                time.sleep(1)
-                continue
+                if returncode == errno.EPERM or returncode == errno.EACCES:
+                    LOG.info('Cannot get or create bootstrap key for %s, permission denied', type_)
+                    break
+                else:
+                    LOG.info('Cannot get or create bootstrap key for %s', type_)
+                    time.sleep(1)
+                    continue
 
             os.rename(tmp, path)
             break