start_osd=0
localhost=0
nodaemon=0
+overwrite_conf=1
MON_ADDR=""
conf="ceph.conf"
usage=$usage"\t-n, --new\n"
usage=$usage"\t--valgrind[_{osd,mds,mon}] 'toolname args...'\n"
usage=$usage"\t-m ip:port\t\tspecify monitor address\n"
+usage=$usage"\t-k keep old configuration files\n"
usage_exit() {
printf "$usage"
MON_ADDR=$2
shift
;;
+ -k )
+ overwrite_conf=0
+ shift
+ ;;
* )
usage_exit
esac
fi
if [ "$new" -eq 1 ]; then
- cat <<EOF > $conf
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF > $conf
; generated by vstart.sh on `date`
[global]
log dir = out
[mount /]
allow = %everyone
EOF
+ fi
+
if [ `echo $IP | grep '^127\\.'` ]
then
echo
echo
fi
-cat <<EOF > $admin_caps
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF > $admin_caps
; generated by vstart.sh on `date`
mon = "allow rwx"
osd = "allow rwx"
mds = "allow"
EOF
+ fi
+
$SUDO $CEPH_BIN/authtool --gen-key --name=mon. $monkeys_fn
$SUDO $CEPH_BIN/authtool --gen-key --name=client.admin --caps=$admin_caps $monkeys_fn
for f in `seq 0 $((CEPH_NUM_MON-1))`
do
str=$str" --add $IP:$(($CEPH_PORT+$f))"
- cat <<EOF >> $conf
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF >> $conf
[mon$f]
mon data = "dev/mon$f"
mon addr = $IP:$(($CEPH_PORT+$f))
EOF
+ fi
done
str=$str" --print .ceph_monmap"
echo $str
for osd in `seq 0 $((CEPH_NUM_OSD-1))`
do
if [ "$new" -eq 1 ]; then
- cat <<EOF >> $conf
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF >> $conf
[osd$osd]
osd data = dev/osd$osd
osd journal = dev/osd$osd/journal
osd journal size = 100
keys file = dev/osd$osd/osd$osd.keys.bin
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.keys.bin
- cat <<EOF > $osd_caps
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF > $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
do
key_fn=dev/mds_$name.keys.bin
if [ "$new" -eq 1 ]; then
- cat <<EOF >> $conf
+ if [ $overwrite_conf -eq 1 ]; then
+ cat <<EOF >> $conf
[mds.$name]
keys file = $key_fn
EOF
- cat <<EOF > $mds_caps
+ cat <<EOF > $mds_caps
; generated by vstart.sh on `date`
mon = "allow rwx"
osd = "allow rwx"
mds = "allow"
EOF
+ 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