From 75a3c1ac24caebe7b34d7c9cddfca5c9e1def411 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 13 Nov 2009 10:40:10 -0800 Subject: [PATCH] vstart: -x to start up with cephx --- src/config.cc | 2 +- src/vstart.sh | 60 +++++++++++++++++++++++++++++++++++---------------- 2 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/config.cc b/src/config.cc index 5c9c6025173a5..3753660c336a5 100644 --- a/src/config.cc +++ b/src/config.cc @@ -347,7 +347,7 @@ static struct config_option config_optionsp[] = { OPTION(debug_paxos, 0, OPT_INT, 0), OPTION(debug_tp, 0, OPT_INT, 0), OPTION(debug_auth, 0, OPT_INT, 1), - OPTION(keys_file, 'k', OPT_STR, "~/.ceph/keyring.bin, /etc/ceph/keyring.bin"), + OPTION(keys_file, 'k', OPT_STR, "~/.ceph/keyring.bin, /etc/ceph/keyring.bin, .ceph_keyring"), OPTION(supported_auth, 0, OPT_STR, "none"), OPTION(clock_lock, 0, OPT_BOOL, false), OPTION(clock_tare, 0, OPT_BOOL, false), diff --git a/src/vstart.sh b/src/vstart.sh index 90adbce585115..3c0a34d62d829 100755 --- a/src/vstart.sh +++ b/src/vstart.sh @@ -13,6 +13,8 @@ start_osd=0 localhost=0 nodaemon=0 overwrite_conf=1 +cephx=0 + MON_ADDR="" conf="ceph.conf" @@ -88,6 +90,9 @@ case $1 in MON_ADDR=$2 shift ;; + -x ) + cephx=1 + ;; -k ) overwrite_conf=0 shift @@ -183,7 +188,7 @@ $SUDO rm -f out/* test -d log && rm -f log/* test -d gmon && $SUDO rm -rf gmon/* -test -e $keyring_fn && rm $keyring_fn +[ "$cephx" -eq 1 ] && test -e $keyring_fn && rm $keyring_fn # figure machine's ip @@ -199,7 +204,12 @@ echo "ip $IP" [ "$CEPH_BIN" = "" ] && CEPH_BIN=. [ "$CEPH_PORT" = "" ] && CEPH_PORT=6789 -CEPH_ADM="$CEPH_BIN/ceph -k $keyring_fn -I admin" + +if [ "$cephx" -eq 1 ]; then + CEPH_ADM="$CEPH_BIN/ceph -c $conf -k $keyring_fn" +else + CEPH_ADM="$CEPH_BIN/ceph -c $conf" +fi @@ -218,6 +228,11 @@ if [ "$start_mon" -eq 1 ]; then logger dir = log chdir = "" pid file = out/\$type\$id.pid +EOF + [ "$cephx" -eq 1 ] && cat<> $conf + supported auth = cephx +EOF + cat <> $conf [mds] pid file = out/\$name.pid $CMDSDEBUG @@ -252,8 +267,8 @@ EOF EOF fi - $SUDO $CEPH_BIN/authtool --gen-key --name=mon. $keyring_fn - $SUDO $CEPH_BIN/authtool --gen-key --name=client.admin --caps=$admin_caps $keyring_fn + [ "$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 # build a fresh fs monmap, mon fs str="$CEPH_BIN/monmaptool --create --clobber" @@ -274,8 +289,10 @@ EOF for f in `seq 0 $((CEPH_NUM_MON-1))` do - echo $CEPH_BIN/mkmonfs -c $conf --clobber --mon-data dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn --keys-file=$keyring_fn - $CEPH_BIN/mkmonfs -c $conf --clobber --mon-data=dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn --keys-file=$keyring_fn + cmd="$CEPH_BIN/mkmonfs -c $conf --clobber --mon-data=dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn" + [ "$cephx" -eq 1 ] && cmd="$cmd --keys-file=$keyring_fn" + echo $cmd + $cmd done fi @@ -299,22 +316,28 @@ if [ "$start_osd" -eq 1 ]; then osd data = dev/osd$osd osd journal = dev/osd$osd/journal osd journal size = 100 +EOF + [ "$cephx" -eq 1 ] && cat <> $conf keys file = dev/osd$osd/osd$osd.keyring EOF fi echo mkfs osd$osd - echo $SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs # --debug_journal 20 --debug_osd 20 --debug_filestore 20 --debug_ebofs 20 - $SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs # --debug_journal 20 --debug_osd 20 --debug_filestore 20 --debug_ebofs 20 - key_fn=dev/osd$osd/osd$osd.keyring - if [ $overwrite_conf -eq 1 ]; then + cmd="$SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs" + echo $cmd + $cmd + + if [ "$cephx" -eq 1 ]; then + key_fn=dev/osd$osd/osd$osd.keyring + if [ $overwrite_conf -eq 1 ]; then cat < $osd_caps ; generated by vstart.sh on `date` mon = "allow rwx" osd = "allow rwx" EOF + fi + $SUDO $CEPH_BIN/authtool --gen-key --name=osd.$osd --caps=$osd_caps $key_fn + $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd fi - $SUDO $CEPH_BIN/authtool --gen-key --name=osd.$osd --caps=$osd_caps $key_fn - $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd fi echo start osd$osd run 'osd' $SUDO $CEPH_BIN/cosd -i $osd $ARGS $COSD_ARGS @@ -326,9 +349,9 @@ if [ "$start_mds" -eq 1 ]; then mds=0 for name in a b c d e f g h i j k l m n o p do - key_fn=dev/mds.$name.keyring + [ "$cephx" -eq 1 ] && key_fn=dev/mds.$name.keyring if [ "$new" -eq 1 ]; then - if [ $overwrite_conf -eq 1 ]; then + if [ "$cephx" -eq 1 ] &&[ $overwrite_conf -eq 1 ]; then cat <> $conf [mds.$name] keys file = $key_fn @@ -339,9 +362,9 @@ EOF osd = "allow rwx" mds = "allow" EOF + $SUDO $CEPH_BIN/authtool --gen-key --name=mds.$name --caps=$mds_caps $key_fn + $SUDO $CEPH_ADM -i $key_fn auth add mds.$name fi - $SUDO $CEPH_BIN/authtool --gen-key --name=mds.$name --caps=$mds_caps $key_fn - $SUDO $CEPH_ADM -i $key_fn auth add mds.$name fi run 'mds' $CEPH_BIN/cmds -i $name $ARGS $CMDS_ARGS @@ -353,8 +376,9 @@ EOF #$CEPH_BIN/cmds -d $ARGS --mds_thrash_fragments 0 --mds_thrash_exports 0 #--debug_ms 20 #$CEPH_ADM mds set_max_mds 2 done - echo $CEPH_ADM mds set_max_mds $CEPH_NUM_MDS - $CEPH_ADM mds set_max_mds $CEPH_NUM_MDS + cmd="$CEPH_ADM mds set_max_mds $CEPH_NUM_MDS" + echo $cmd + $cmd fi echo "started. stop.sh to stop. see out/* (e.g. 'tail -f out/????') for debug output." -- 2.39.5