X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Ftest-framework.sh;h=c3bf14b7bf75b47536958b8f6986c64a693696dd;hb=16dcdf3b09ee15eb8bd5b43cbe413dff72bf3bca;hp=395184d90cc530605dd3d313b96d1f347dd8c6eb;hpb=89f9a5bced24ecb7c84040a1ed88dcef4384f7c6;p=fs%2Flustre-release.git diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 395184d..c3bf14b 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -38,7 +38,12 @@ init_test_env() { export LMC=${LMC:-"lmc"} export LCTL=${LCTL:-"$LUSTRE/utils/lctl"} export CHECKSTAT="${CHECKSTAT:-checkstat} " - export FSYTPE=${FSTYPE:-"ext3"} + DEF_FSTYPE=`test "x$(uname -r | grep -o '2.6')" = "x2.6" && echo "ldiskfs" || echo "ext3"` + export FSTYPE=${FSTYPE:-$DEF_FSTYPE} + #used only if FSTYPE == smfs, otherwise ignored by lconf + MDS_BACKFSTYPE=${MDS_BACKFSTYPE:-$DEF_FSTYPE} + OST_BACKFSTYPE=${OST_BACKFSTYPE:-$DEF_FSTYPE} + export SECURITY=${SECURITY:-"null"} # Paths on remote nodes, if different @@ -71,9 +76,9 @@ start() { facet=$1 shift active=`facet_active $facet` - do_facet $facet $LCONF --select ${facet}_svc=${active}_facet \ + do_facet $facet $LCONF --select ${facet}_svc=${active}_facet -v \ --node ${active}_facet --ptldebug $PTLDEBUG --subsystem $SUBSYSTEM \ - --sec $SECURITY $@ $XMLCONFIG + --mds_sec $SECURITY $@ $XMLCONFIG } stop() { @@ -92,13 +97,13 @@ zconf_mount() { do_node $client mkdir $mnt 2> /dev/null || : if [ -x /sbin/mount.lustre ] ; then - do_node $client mount -t lustre -o sec=$SECURITY,nettype=$NETTYPE \ + do_node $client mount -t lustre -o mds_sec=$SECURITY,nettype=$NETTYPE \ `facet_active_host mds1`:/mds1_svc/client_facet $mnt || return 2 else # this is so cheating do_node $client $LCONF --nosetup --node client_facet $XMLCONFIG > /dev/null || return 2 do_node $client $LLMOUNT `facet_active_host mds1`:/mds1_svc/client_facet $mnt \ - -o sec=$SECURITY,nettype=$NETTYPE|| return 4 + -o mds_sec=$SECURITY,nettype=$NETTYPE|| return 4 fi [ -d /r ] && $LCTL modules > /r/tmp/ogdb-`hostname` @@ -174,6 +179,15 @@ replay_barrier() { $LCTL mark "REPLAY BARRIER" } +replay_barrier_nodf() { + local facet=$1 + do_facet $facet sync + do_facet $facet $LCTL --device %${facet}_svc readonly + do_facet $facet $LCTL --device %${facet}_svc notransno + do_facet $facet $LCTL mark "REPLAY BARRIER" + $LCTL mark "REPLAY BARRIER" +} + mds_evict_client() { UUID=`cat /proc/fs/lustre/mdc/*_MNT_*/uuid` do_facet mds "echo $UUID > /proc/fs/lustre/mds/mds1_svc/evict_client" @@ -190,7 +204,6 @@ fail_drop() { local failcode=$2 facet_failover $facet do_facet mds "echo $failcode > /proc/sys/lustre/fail_loc" - cat /proc/sys/lustre/fail_loc df $MOUNT || error "post-failover df: $?" do_facet mds "echo 0 > /proc/sys/lustre/fail_loc" } @@ -304,7 +317,7 @@ do_node() { echo "CMD: $HOST $@" $PDSH $HOST $LCTL mark "$@" > /dev/null 2>&1 || : fi - $PDSH $HOST "(PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; sh -c \"$@\")" + $PDSH $HOST "(PATH=$RLUSTRE/utils:$RLUSTRE/tests:/usr/sbin:/sbin:\$PATH; cd $RPWD; sh -c \"$@\")" } mds_list() { @@ -341,14 +354,14 @@ add_mds() { shift rm -f ${facet}active add_facet $facet - do_lmc --add mds --node ${facet}_facet --mds ${facet}_svc --fstype $FSTYPE $* + do_lmc --add mds --node ${facet}_facet --mds ${facet}_svc --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE $* } add_mdsfailover() { facet=$1 shift add_facet ${facet}failover --lustre_upcall $UPCALL - do_lmc --add mds --node ${facet}failover_facet --mds ${facet}_svc --fstype $FSTYPE $* + do_lmc --add mds --node ${facet}failover_facet --mds ${facet}_svc --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE $* } add_ost() { @@ -356,7 +369,7 @@ add_ost() { shift rm -f ${facet}active add_facet $facet - do_lmc --add ost --node ${facet}_facet --ost ${facet}_svc --fstype $FSTYPE $* + do_lmc --add ost --node ${facet}_facet --ost ${facet}_svc --fstype $FSTYPE --backfstype $OST_BACKFSTYPE $* } del_ost() { @@ -364,6 +377,41 @@ del_ost() { shift do_lmc --delete ost --node ${facet}_facet --ost ${facet}_svc $* } +start_gks() { + facet=$1 + shift + rm -f ${facet}active + add_facet $facet + do_facet $facet $LCONF --node ${facet}_facet --ptldebug $PTLDEBUG $* $XMLCONFIG +} +stop_gks() { + facet=$1 + shift + do_facet $facet $LCONF --node ${facet}_facet --cleanup $* $XMLCONFIG +} + +add_gks() { + facet=$1 + shift + rm -f ${facet}active + add_facet $facet + do_lmc --add gks --gks ${facet}_svc --node ${facet}_facet $* +} +add_cmobd() { + facet=$1 + cache_facet=$2 + master_facet=$3 + shift; shift; shift + do_lmc --add cmobd --node mds1_facet --cmobd ${facet}_svc --cache_obd ${cache_facet} --master_obd ${master_facet} +} + +add_cobd() { + facet=$1 + client_facet=$2 + master_facet=$3 + shift; shift; shift + do_lmc --add cobd --node mds1_facet --cmobd ${facet}_svc --cache_obd ${cache_facet} --master_obd ${master_facet} +} deactivate_ost() { facet=$1 @@ -375,7 +423,7 @@ add_ostfailover() { facet=$1 shift add_facet ${facet}failover - do_lmc --add ost --failover --node ${facet}failover_facet --ost ${facet}_svc --fstype $FSTYPE $* + do_lmc --add ost --failover --node ${facet}failover_facet --ost ${facet}_svc --fstype $FSTYPE --backfstype $OST_BACKFSTYPE $* } add_lov() { @@ -392,6 +440,14 @@ add_lov_to_lmv() { do_lmc --add lov --lmv $lmv --lov $lov $* } +add_lov_to_cache_master_lmv() { + lov=$1 + cache_lmv=$2 + master_lmv=$3 + shift; shift; shift + do_lmc --add lov --cachelmv $cache_lmv --masterlmv $master_lmv --lov $lov $* +} + add_lmv() { lmv=$1 shift; @@ -403,7 +459,7 @@ add_client() { mds=$2 shift; shift add_facet $facet --lustre_upcall $UPCALL - do_lmc --add mtpt --node ${facet}_facet --mds ${mds}_svc $* + do_lmc --add mtpt --node ${facet}_facet --clientoptions async --mds ${mds}_svc $* } config_commit() { @@ -550,9 +606,11 @@ error() { } build_test_filter() { + [ "$ONLY" ] && log "only running $ONLY" for O in $ONLY; do eval ONLY_${O}=true done + [ "$EXCEPT$ALWAYS_EXCEPT" ] && log "skipping $EXCEPT $ALWAYS_EXCEPT" for E in $EXCEPT $ALWAYS_EXCEPT; do eval EXCEPT_${E}=true done @@ -611,6 +669,10 @@ log() { lctl mark "$*" 2> /dev/null || true } +pass() { + echo PASS $@ +} + run_one() { testnum=$1 message=$2 @@ -620,8 +682,10 @@ run_one() { # Pretty tests run faster. equals_msg $testnum: $message - log "== test $1: $2" + BEFORE=`date +%s` + log "== test $testnum: $message ============ `date +%H:%M:%S` ($BEFORE)" test_${testnum} || error "test_$testnum failed with $?" + pass "($((`date +%s` - $BEFORE))s)" } canonical_path() {