From: Andriy Skulysh Date: Thu, 5 Jan 2012 13:04:14 +0000 (+0200) Subject: LU-590 tests: obdfilter-survey.sh fails test 2a. X-Git-Tag: 2.1.55~23 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=664d20fd5a30d2100a52cca0e0b5fa1a1cec8aa4;hp=75fd0fbc949962acc3a624b33df4627cd7915313 LU-590 tests: obdfilter-survey.sh fails test 2a. obdfilter-survey.sh fails to connect during test 2a. Interruption to and restart of test leads to a panic. This patch sets correct target for netdisk case, allows to handle signals in test scripts, sets correct parameters for obdfilter-survey cleanup. Xyratex-bug-id: MRP-118 Change-Id: I057610ba51e9a9afb704b4467b8600fd61652a71 Signed-off-by: Andriy Skulysh Reviewed-by: Alexey Lyashkov Reviewed-on: http://review.whamcloud.com/1288 Tested-by: Hudson Reviewed-by: Yu Jian Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre-iokit/obdfilter-survey/libecho b/lustre-iokit/obdfilter-survey/libecho index e12c853..23aa2b8 100644 --- a/lustre-iokit/obdfilter-survey/libecho +++ b/lustre-iokit/obdfilter-survey/libecho @@ -245,7 +245,7 @@ cleanup () { fi exit $exit_status } -trap cleanup SIGHUP SIGINT SIGTERM +trap 'cleanup 0 $clean_srv_OSS $cleanup_oscs' SIGHUP SIGINT SIGTERM # gets echoclient device number and attach it to the client UUID # Results are returned by an echo followed by an exit diff --git a/lustre/tests/obdfilter-survey.sh b/lustre/tests/obdfilter-survey.sh index ea1af2e..42a6c0f 100644 --- a/lustre/tests/obdfilter-survey.sh +++ b/lustre/tests/obdfilter-survey.sh @@ -5,7 +5,6 @@ set -e LUSTRE=${LUSTRE:-`dirname $0`/..} . $LUSTRE/tests/test-framework.sh init_test_env $@ -init_logging nobjhi=${nobjhi:-1} thrhi=${thrhi:-16} @@ -13,6 +12,7 @@ size=${size:-1024} # the summary file a bit smaller than OSTSIZE . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} +init_logging [ "$SLOW" = no ] && { nobjhi=1; thrhi=4; } thrlo=${thrlo:-$(( thrhi / 2))} @@ -33,6 +33,11 @@ if [ $(( size * 1024 )) -ge $minsize ]; then echo min kbytesavail: $minsize using size=${size} MBytes per obd instance fi +get_devs() { + echo $(do_nodes $1 'lctl dl | grep obdfilter' | \ + awk '{print $4}' | sort -u) +} + get_targets () { local targets local devs @@ -40,12 +45,12 @@ get_targets () { local oss for oss in $(osts_nodes); do - devs=$(do_node $oss "lctl dl |grep obdfilter |sort" | awk '{print $4}') + devs=$(get_devs $oss) nid=$(host_nids_address $oss $NETTYPE) for d in $devs; do # if oss is local -- obdfilter-survey needs dev wo/ host target=$d - [[ $oss = `hostname` ]] || target=$nid:$target + [[ $oss = `hostname` && "$1" == "netdisk" ]] || target=$nid:$target targets="$targets $target" done done @@ -58,8 +63,8 @@ obdflter_survey_targets () { local targets case $case in - disk) targets=$(get_targets);; - netdisk) targets=$(get_targets);; + disk) targets=$(get_targets $case);; + netdisk) targets=$(get_targets $case);; network) targets=$(host_nids_address $(comma_list $(osts_nodes)) $NETTYPE);; *) error "unknown obdflter-survey case!" ;; esac diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 0016a50..15fe46a 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -3336,7 +3336,7 @@ run_one_logged() { echo log_sub_test_begin test_${1} - (run_one $1 "$2") 2>&1 | tee $test_log + (run_one $1 "$2") 2>&1 | tee -i $test_log local RC=${PIPESTATUS[0]} [ $RC -ne 0 ] && [ ! -f $LOGDIR/err ] && \