From f329de1394e4df6635c5c3bc8b392f1e530cac03 Mon Sep 17 00:00:00 2001 From: rread Date: Mon, 12 Jul 2004 20:47:43 +0000 Subject: [PATCH] Fix replay-single.sh and recovery-small.sh so they can run with the default lmv config or "-f cfg/local.sh" config. --- lustre/tests/cfg/local.sh | 5 +- lustre/tests/recovery-small.sh | 39 ++++++------- lustre/tests/replay-single.sh | 125 ++++++++++++++++++++--------------------- lustre/tests/test-framework.sh | 24 +++++--- 4 files changed, 98 insertions(+), 95 deletions(-) diff --git a/lustre/tests/cfg/local.sh b/lustre/tests/cfg/local.sh index 9d7ca4b..5072e79 100644 --- a/lustre/tests/cfg/local.sh +++ b/lustre/tests/cfg/local.sh @@ -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} diff --git a/lustre/tests/recovery-small.sh b/lustre/tests/recovery-small.sh index 9c310e5..605c092 100755 --- a/lustre/tests/recovery-small.sh +++ b/lustre/tests/recovery-small.sh @@ -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 } diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh index a65ba63..e3da13b 100755 --- a/lustre/tests/replay-single.sh +++ b/lustre/tests/replay-single.sh @@ -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 diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index b74c998..3686c8f 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -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() { -- 1.8.3.1