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);
}
bool gen_key = false;
bool list = false;
bool print_key = true;
+ bool create_keyring = false;
const char *name = "";
const char *caps_fn = NULL;
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
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;
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"
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
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