Whamcloud - gitweb
Fix replay-single.sh and recovery-small.sh so they can run with the
authorrread <rread>
Mon, 12 Jul 2004 20:47:43 +0000 (20:47 +0000)
committerrread <rread>
Mon, 12 Jul 2004 20:47:43 +0000 (20:47 +0000)
default lmv config or "-f cfg/local.sh" config.

lustre/tests/cfg/local.sh
lustre/tests/recovery-small.sh
lustre/tests/replay-single.sh
lustre/tests/test-framework.sh

index 9d7ca4b..5072e79 100644 (file)
@@ -3,8 +3,9 @@ MDSNODE=${MDSNODE:-`hostname`}
 OSTNODE=${OSTNODE:-`hostname`}
 CLIENT=${CLIENT:-client}
 
-mds_HOST=${mds_HOST:-$MDSNODE}
-mdsfailover_HOST=${mdsfailover_HOST}
+MDSCOUNT=1
+mds1_HOST=${mds1_HOST:-$MDSNODE}
+mds1failover_HOST=${mds1failover_HOST}
 ost_HOST=${ost_HOST:-$OSTNODE}
 ost2_HOST=${ost2_HOST:-$ost_HOST}
 client_HOST=${client_HOST:-$CLIENT}
index 9c310e5..605c092 100755 (executable)
@@ -16,54 +16,55 @@ init_test_env $@
 
 build_test_filter
 
+assert_env MDSCOUNT
 
 # Allow us to override the setup if we already have a mounted system by
 # setting SETUP=" " and CLEANUP=" "
 SETUP=${SETUP:-"setup"}
 CLEANUP=${CLEANUP:-"cleanup"}
 
-make_config() {
+gen_config() {
     rm -f $XMLCONFIG
 
     if [ "$MDSCOUNT" -gt 1 ]; then
         add_lmv lmv1
-        for num in `seq $MDSCOUNT`; do
-            MDSDEV=$TMP/mds${num}-`hostname`
-            add_mds mds$num --dev $MDSDEV --size $MDSSIZE --master --lmv lmv1
+        for mds in `mds_list`; do
+            MDSDEV=$TMP/${mds}-`hostname`
+            add_mds $mds --dev $MDSDEV --size $MDSSIZE  --lmv lmv1
         done
         add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \
            --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
-        add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
-        add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
-        add_client client --lmv lmv1 --lov lov1 --path $MOUNT
+       MDS=lmv1
     else
         add_mds mds1 --dev $MDSDEV --size $MDSSIZE
         add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
            --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
-        add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
-        add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
-        add_client client --mds mds1_svc --lov lov1 --path $MOUNT
+       MDS=mds1_svc
+
     fi
+
+    add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
+    add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
+    add_client client --mds ${MDS} --lov lov1 --path $MOUNT
 }
 
 setup() {
-    make_config
+    gen_config
     start ost --reformat $OSTLCONFARGS 
     start ost2 --reformat $OSTLCONFARGS 
     [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
-    start mds $MDSLCONFARGS --reformat
+    for mds in `mds_list`; do
+       start $mds --reformat $MDSLCONFARGS
+    done
+
     grep " $MOUNT " /proc/mounts || zconf_mount `hostname`  $MOUNT
 }
 
 cleanup() {
     zconf_umount `hostname` $MOUNT
-    if [ "$MDSCOUNT" -gt 1 ]; then
-        for num in `seq $MDSCOUNT`; do
-            stop mds$num ${FORCE} $MDSLCONFARGS
-        done
-    else
-        stop mds ${FORCE} $MDSLCONFARGS
-    fi
+    for mds in `mds_list`; do
+       stop $mds ${FORCE} $MDSLCONFARGS
+    done
     stop ost2 ${FORCE} --dump cleanup.log
     stop ost ${FORCE} --dump cleanup.log
 }
index a65ba63..e3da13b 100755 (executable)
@@ -13,42 +13,39 @@ init_test_env $@
 
 . ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh}
 
+build_test_filter
+
+assert_env MDSCOUNT
+
 # Skip these tests
 ALWAYS_EXCEPT=""
 
-
 gen_config() {
     rm -f $XMLCONFIG
 
     if [ "$MDSCOUNT" -gt 1 ]; then
         add_lmv lmv1
-        for num in `seq $MDSCOUNT`; do
-            MDSDEV=$TMP/mds${num}-`hostname`
-            add_mds mds$num --dev $MDSDEV --size $MDSSIZE --master --lmv lmv1
+        for mds in `mds_list`; do
+            MDSDEV=$TMP/${mds}-`hostname`
+            add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1
         done
+       MDS=lmv1
         add_lov_to_lmv lov1 lmv1 --stripe_sz $STRIPE_BYTES \
            --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
-        add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
-        add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
-        add_client client --lmv lmv1 --lov lov1 --path $MOUNT
     else
         add_mds mds1 --dev $MDSDEV --size $MDSSIZE
         if [ ! -z "$mdsfailover_HOST" ]; then
-            add_mdsfailover mds --dev $MDSDEV --size $MDSSIZE
+            add_mdsfailover mds1 --dev $MDSDEV --size $MDSSIZE
         fi
-
-        add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
+       add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \
            --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
-        add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
-        add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
-        add_client client --mds mds1_svc --lov lov1 --path $MOUNT
+       MDS=mds1_svc
     fi
     
-    add_lov lov1 mds --stripe_sz $STRIPE_BYTES \
-       --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
     add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE
     add_ost ost2 --lov lov1 --dev ${OSTDEV}-2 --size $OSTSIZE
-    add_client client mds --lov lov1 --path $MOUNT
+    add_client client --mds $MDS --lov lov1 --path $MOUNT
+
 }
 
 build_test_filter
@@ -56,18 +53,14 @@ build_test_filter
 cleanup() {
     # make sure we are using the primary MDS, so the config log will
     # be able to clean up properly.
-    activemds=`facet_active mds`
-    if [ $activemds != "mds" ]; then
-        fail mds
+    activemds=`facet_active mds1`
+    if [ $activemds != "mds1" ]; then
+        fail mds1
     fi
     zconf_umount `hostname` $MOUNT
-    if [ "$MDSCOUNT" -gt 1 ]; then
-        for num in `seq $MDSCOUNT`; do
-            stop mds$num ${FORCE} $MDSLCONFARGS
-        done
-    else
-        stop mds ${FORCE} $MDSLCONFARGS
-    fi
+    for mds in `mds_list`; do
+       stop $mds ${FORCE} $MDSLCONFARGS
+    done
     stop ost2 ${FORCE} --dump cleanup.log
     stop ost ${FORCE} --dump cleanup.log
 }
@@ -87,7 +80,9 @@ setup() {
     start ost --reformat $OSTLCONFARGS 
     start ost2 --reformat $OSTLCONFARGS 
     [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE
-    start mds $MDSLCONFARGS --reformat
+    for mds in `mds_list`; do
+       start $mds --reformat $MDSLCONFARGS
+    done
     grep " $MOUNT " /proc/mounts || zconf_mount `hostname` $MOUNT
 }
 
@@ -126,7 +121,7 @@ run_test 1 "simple create"
 test_2a() {
     replay_barrier mds
     touch $DIR/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT -t file $DIR/$tfile || return 1
     rm $DIR/$tfile
 }
@@ -136,7 +131,7 @@ test_2b() {
     ./mcreate $DIR/$tfile
     replay_barrier mds
     touch $DIR/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT -t file $DIR/$tfile || return 1
     rm $DIR/$tfile
 }
@@ -146,7 +141,7 @@ test_3a() {
     replay_barrier mds
     mcreate $DIR/$tfile
     o_directory $DIR/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT -t file $DIR/$tfile || return 2
     rm $DIR/$tfile
 }
@@ -158,7 +153,7 @@ test_3b() {
     do_facet mds "sysctl -w lustre.fail_loc=0x80000114"
     touch $DIR/$tfile
     do_facet mds "sysctl -w lustre.fail_loc=0"
-    fail mds
+    fail mds1
     $CHECKSTAT -t file $DIR/$tfile && return 2
     return 0
 }
@@ -170,7 +165,7 @@ test_3c() {
     do_facet mds "sysctl -w lustre.fail_loc=0x80000128"
     touch $DIR/$tfile
     do_facet mds "sysctl -w lustre.fail_loc=0"
-    fail mds
+    fail mds1
 
     $CHECKSTAT -t file $DIR/$tfile && return 2
     return 0
@@ -182,7 +177,7 @@ test_4() {
     for i in `seq 10`; do
         echo "tag-$i" > $DIR/$tfile-$i
     done 
-    fail mds
+    fail mds1
     for i in `seq 10`; do
       grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i"
     done 
@@ -192,7 +187,7 @@ run_test 4 "|x| 10 open(O_CREAT)s"
 test_4b() {
     replay_barrier mds
     rm -rf $DIR/$tfile-*
-    fail mds
+    fail mds1
     $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
 }
 run_test 4b "|x| rm 10 files"
@@ -204,7 +199,7 @@ test_5() {
     for i in `seq 220`; do
         echo "tag-$i" > $DIR/$tfile-$i
     done 
-    fail mds
+    fail mds1
     for i in `seq 220`; do
       grep -q "tag-$i" $DIR/$tfile-$i || error "f1c-$i"
     done 
@@ -219,7 +214,7 @@ test_6() {
     replay_barrier mds
     mkdir $DIR/$tdir
     mcreate $DIR/$tdir/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT -t dir $DIR/$tdir || return 1
     $CHECKSTAT -t file $DIR/$tdir/$tfile || return 2
     sleep 2
@@ -230,7 +225,7 @@ run_test 6 "mkdir + contained create"
 test_6b() {
     replay_barrier mds
     rm -rf $DIR/$tdir
-    fail mds
+    fail mds1
     $CHECKSTAT -t dir $DIR/$tdir && return 1 || true 
 }
 run_test 6b "|X| rmdir"
@@ -239,7 +234,7 @@ test_7() {
     mkdir $DIR/$tdir
     replay_barrier mds
     mcreate $DIR/$tdir/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT -t dir $DIR/$tdir || return 1
     $CHECKSTAT -t file $DIR/$tdir/$tfile || return 2
     rm -fr $DIR/$tdir
@@ -251,7 +246,7 @@ test_8() {
     multiop $DIR/$tfile mo_c &
     MULTIPID=$!
     sleep 1
-    fail mds
+    fail mds1
     ls $DIR/$tfile
     $CHECKSTAT -t file $DIR/$tfile || return 1
     kill -USR1 $MULTIPID || return 2
@@ -264,7 +259,7 @@ test_9() {
     replay_barrier mds
     mcreate $DIR/$tfile
     local old_inum=`ls -i $DIR/$tfile | awk '{print $1}'`
-    fail mds
+    fail mds1
     local new_inum=`ls -i $DIR/$tfile | awk '{print $1}'`
 
     echo " old_inum == $old_inum, new_inum == $new_inum"
@@ -284,7 +279,7 @@ test_10() {
     replay_barrier mds
     mv $DIR/$tfile $DIR/$tfile-2
     rm -f $DIR/$tfile
-    fail mds
+    fail mds1
     $CHECKSTAT $DIR/$tfile && return 1
     $CHECKSTAT $DIR/$tfile-2 ||return 2
     rm $DIR/$tfile-2
@@ -300,7 +295,7 @@ test_11() {
     echo "new" > $DIR/$tfile
     grep new $DIR/$tfile 
     grep old $DIR/$tfile-2
-    fail mds
+    fail mds1
     grep new $DIR/$tfile || return 1
     grep old $DIR/$tfile-2 || return 2
 }
@@ -317,7 +312,7 @@ test_12() {
     kill -USR1 $pid
     wait $pid || return 1
 
-    fail mds
+    fail mds1
     [ -e $DIR/$tfile ] && return 2
     return 0
 }
@@ -335,7 +330,7 @@ test_13() {
     chmod 0 $DIR/$tfile
     $CHECKSTAT -p 0 $DIR/$tfile
     replay_barrier mds
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 1
 
@@ -354,7 +349,7 @@ test_14() {
     kill -USR1 $pid || return 1
     wait $pid || return 2
 
-    fail mds
+    fail mds1
     [ -e $DIR/$tfile ] && return 3
     return 0
 }
@@ -371,7 +366,7 @@ test_15() {
     kill -USR1 $pid
     wait $pid || return 2
 
-    fail mds
+    fail mds1
     [ -e $DIR/$tfile ] && return 3
     touch $DIR/h11 || return 4
     return 0
@@ -384,7 +379,7 @@ test_16() {
     mcreate $DIR/$tfile
     munlink $DIR/$tfile
     mcreate $DIR/$tfile-2
-    fail mds
+    fail mds1
     [ -e $DIR/$tfile ] && return 1
     [ -e $DIR/$tfile-2 ] || return 2
     munlink $DIR/$tfile-2 || return 3
@@ -397,7 +392,7 @@ test_17() {
     pid=$!
     # give multiop a chance to open
     sleep 1 
-    fail mds
+    fail mds1
     kill -USR1 $pid || return 1
     wait $pid || return 2
     $CHECKSTAT -t file $DIR/$tfile || return 3
@@ -417,7 +412,7 @@ test_18() {
     kill -USR1 $pid
     wait $pid || return 2
 
-    fail mds
+    fail mds1
     [ -e $DIR/$tfile ] && return 3
     [ -e $DIR/$tfile-2 ] || return 4
     # this touch frequently fails
@@ -435,7 +430,7 @@ test_19() {
     echo "old" > $DIR/$tfile
     mv $DIR/$tfile $DIR/$tfile-2
     grep old $DIR/$tfile-2
-    fail mds
+    fail mds1
     grep old $DIR/$tfile-2 || return 2
 }
 run_test 19 "|X| mcreate, open, write, rename "
@@ -448,7 +443,7 @@ test_20() {
     sleep 1 
     rm -f $DIR/$tfile
 
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 1
     [ -e $DIR/$tfile ] && return 2
@@ -465,7 +460,7 @@ test_21() {
     rm -f $DIR/$tfile
     touch $DIR/g11 || return 1
 
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 2
     [ -e $DIR/$tfile ] && return 3
@@ -483,7 +478,7 @@ test_22() {
     replay_barrier mds
     rm -f $DIR/$tfile
 
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 1
     [ -e $DIR/$tfile ] && return 2
@@ -501,7 +496,7 @@ test_23() {
     rm -f $DIR/$tfile
     touch $DIR/g11 || return 1
 
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 2
     [ -e $DIR/$tfile ] && return 3
@@ -517,7 +512,7 @@ test_24() {
     sleep 1 
 
     replay_barrier mds
-    fail mds
+    fail mds1
     rm -f $DIR/$tfile
     kill -USR1 $pid
     wait $pid || return 1
@@ -534,7 +529,7 @@ test_25() {
     rm -f $DIR/$tfile
 
     replay_barrier mds
-    fail mds
+    fail mds1
     kill -USR1 $pid
     wait $pid || return 1
     [ -e $DIR/$tfile ] && return 2
@@ -555,7 +550,7 @@ test_26() {
     kill -USR1 $pid2
     wait $pid2 || return 1
 
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 2
     [ -e $DIR/$tfile-1 ] && return 3
@@ -575,7 +570,7 @@ test_27() {
     rm -f $DIR/$tfile-1
     rm -f $DIR/$tfile-2
 
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 1
     kill -USR1 $pid2
@@ -599,7 +594,7 @@ test_28() {
     kill -USR1 $pid2
     wait $pid2 || return 1
 
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 2
     [ -e $DIR/$tfile-1 ] && return 3
@@ -619,7 +614,7 @@ test_29() {
     rm -f $DIR/$tfile-1
     rm -f $DIR/$tfile-2
 
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 1
     kill -USR1 $pid2
@@ -641,7 +636,7 @@ test_30() {
     rm -f $DIR/$tfile-2
 
     replay_barrier mds
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 1
     kill -USR1 $pid2
@@ -663,7 +658,7 @@ test_31() {
 
     replay_barrier mds
     rm -f $DIR/$tfile-2
-    fail mds
+    fail mds1
     kill -USR1 $pid1
     wait $pid1 || return 1
     kill -USR1 $pid2
@@ -775,7 +770,7 @@ test_38() {
     createmany -o $DIR/$tfile-%d 800
     unlinkmany $DIR/$tfile-%d 0 400
     replay_barrier mds
-    fail mds
+    fail mds1
     unlinkmany $DIR/$tfile-%d 400 400
     sleep 2
     $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
@@ -786,7 +781,7 @@ test_39() {
     createmany -o $DIR/$tfile-%d 800
     replay_barrier mds
     unlinkmany $DIR/$tfile-%d 0 400
-    fail mds
+    fail mds1
     unlinkmany $DIR/$tfile-%d 400 400
     sleep 2
     $CHECKSTAT -t file $DIR/$tfile-* && return 1 || true
@@ -928,7 +923,7 @@ run_test 45 "Handle failed close"
 test_46() {
     dmesg -c >/dev/null
     drop_reply "touch $DIR/$tfile"
-    fail mds
+    fail mds1
     # ironically, the previous test, 45, will cause a real forced close,
     # so just look for one for this test
     dmesg | grep -i "force closing client file handle for $tfile" && return 1
index b74c998..3686c8f 100644 (file)
@@ -56,6 +56,9 @@ init_test_env() {
        esac
     done
     
+    shift $((OPTIND - 1))
+    ONLY=${ONLY:-$*}
+    
     # save the name of the config file for the upcall
     echo "XMLCONFIG=$LUSTRE/tests/$XMLCONFIG"  > $LUSTRE/tests/XMLCONFIG
 #    echo "CONFIG=`canonical_path $CONFIG`"  > $LUSTRE/tests/CONFIG
@@ -276,21 +279,24 @@ do_node() {
     fi
     $PDSH $HOST "(PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; sh -c \"$@\")"
 }
+
+mds_list() {
+    seq -f mds%g $MDSCOUNT
+}
+
 do_facet() {
     facet=$1
     shift
 
     if [ "$facet" == "mds" ]; then
-        if [ "$MDSCOUNT" -gt 1 ]; then
-            for num in `seq $MDSCOUNT`; do
-                HOST=`facet_active_host $facet$num`
-                do_node $HOST $@
-            done
-           return
-        fi
+       for mds in `mds_list`; do
+           HOST=`facet_active_host $mds`
+           do_node $HOST $@
+       done
+    else
+       HOST=`facet_active_host $facet`
+       do_node $HOST $@
     fi
-    HOST=`facet_active_host $facet`
-    do_node $HOST $@
 }
 
 add_facet() {