]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
authtool: only create keyring if --create-keyring (or -c)
authorSage Weil <sage@newdream.net>
Tue, 2 Feb 2010 23:45:33 +0000 (15:45 -0800)
committerSage Weil <sage@newdream.net>
Wed, 3 Feb 2010 19:58:40 +0000 (11:58 -0800)
src/authtool.cc
src/vstart.sh

index 9b0950f8470e16807a3303c7cbeee73c13ea29cb..8742fd3747b9a885358e4bfc0cb39335f891279c 100644 (file)
@@ -23,7 +23,7 @@ using namespace std;
 
 void usage()
 {
-  cout << " usage: [--gen-key] [--name=<name>] [--caps=<filename>] [--list] [--print-key] <filename>" << std::endl;
+  cout << " usage: [--create-keyring] [--gen-key] [--name=<name>] [--caps=<filename>] [--list] [--print-key] <filename>" << std::endl;
   exit(1);
 }
 
@@ -41,6 +41,7 @@ int main(int argc, const char **argv)
   bool gen_key = false;
   bool list = false;
   bool print_key = true;
+  bool create_keyring = false;
   const char *name = "";
   const char *caps_fn = NULL;
 
@@ -55,6 +56,8 @@ int main(int argc, const char **argv)
       CONF_SAFE_SET_ARG_VAL(&caps_fn, OPT_STR);
     } else if (CONF_ARG_EQ("print-key", 'p')) {
       CONF_SAFE_SET_ARG_VAL(&print_key, OPT_BOOL);
+    } else if (CONF_ARG_EQ("create-keyring", 'c')) {
+      CONF_SAFE_SET_ARG_VAL(&create_keyring, OPT_BOOL);
     } else if (!fn) {
       fn = args[i];
     } else 
@@ -85,7 +88,7 @@ int main(int argc, const char **argv)
       cerr << "error reading file " << fn << std::endl;
       exit(1);
     }
-  } else if (r == -ENOENT) {
+  } else if (create_keyring && r == -ENOENT) {
     cout << "creating " << fn << std::endl;
   } else {
     cerr << "can't open " << fn << ": " << strerror(errno) << std::endl;
index 9bae9b148c0aafc3e504fd1b9061116742364c5a..ff6fa328556fe364141cefd36a1203c65c8eefb9 100755 (executable)
@@ -278,8 +278,8 @@ EOF
 EOF
                fi
 
-               [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --gen-key --name=mon. $keyring_fn
-               [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --gen-key --name=client.admin --caps=$admin_caps $keyring_fn
+               [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --create-keyring --gen-key --name=mon. $keyring_fn
+               [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --create-keyring --gen-key --name=client.admin --caps=$admin_caps $keyring_fn
 
                # build a fresh fs monmap, mon fs
                str="$CEPH_BIN/monmaptool --create --clobber"
@@ -346,7 +346,7 @@ EOF
        osd = "allow rwx"
 EOF
                fi
-               $SUDO $CEPH_BIN/authtool --gen-key --name=osd.$osd --caps=$osd_caps $key_fn
+               $SUDO $CEPH_BIN/authtool --create-keyring --gen-key --name=osd.$osd --caps=$osd_caps $key_fn
                echo adding osd$osd key to auth repository
                $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd
            fi
@@ -385,7 +385,7 @@ EOF
 EOF
                fi
            fi
-           $SUDO $CEPH_BIN/authtool --gen-key --name=mds.$name --caps=$mds_caps $key_fn
+           $SUDO $CEPH_BIN/authtool --create-keyring --gen-key --name=mds.$name --caps=$mds_caps $key_fn
            $SUDO $CEPH_ADM -i $key_fn auth add mds.$name
        fi