]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
vstart.sh: add option to avoid conf file overwrite
authorYehuda Sadeh <yehuda@hq.newdream.net>
Tue, 3 Nov 2009 20:23:34 +0000 (12:23 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Tue, 3 Nov 2009 20:23:34 +0000 (12:23 -0800)
src/vstart.sh

index 470210ac0413230a1e556ba076f2cd75764fe983..c2f0217d27ff58b7d2a6b9e8d3fcd472e9404006 100755 (executable)
@@ -12,6 +12,7 @@ start_mds=0
 start_osd=0
 localhost=0
 nodaemon=0
+overwrite_conf=1
 MON_ADDR=""
 
 conf="ceph.conf"
@@ -25,6 +26,7 @@ usage=$usage"\t-d, --debug\n"
 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"
@@ -82,6 +84,10 @@ case $1 in
            MON_ADDR=$2
            shift
            ;;
+    -k )
+           overwrite_conf=0
+           shift
+           ;;
     * )
            usage_exit
 esac
@@ -198,7 +204,8 @@ if [ "$start_mon" -eq 1 ]; then
        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
@@ -219,6 +226,8 @@ $CMONDEBUG
 [mount /]
        allow = %everyone
 EOF
+               fi
+
                if [ `echo $IP | grep '^127\\.'` ]
                then
                        echo
@@ -228,12 +237,15 @@ EOF
                        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
 
@@ -243,11 +255,13 @@ EOF
                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
@@ -274,22 +288,26 @@ if [ "$start_osd" -eq 1 ]; then
     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
@@ -305,16 +323,18 @@ if [ "$start_mds" -eq 1 ]; then
     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