From 7b569574a484bb781ed5796040e0eb357aaeefb9 Mon Sep 17 00:00:00 2001 From: wang di Date: Tue, 11 Aug 2015 23:25:05 -0700 Subject: [PATCH] LU-7005 tests: wait client imports fully recovered In conf-sanity.sh 50i, it should wait client and all MDTs recover before creating files. Signed-off-by: Lai Siyao Signed-off-by: wang di Change-Id: I637ebfb6c531708e194df4c03d8657361d1b40ee Reviewed-on: http://review.whamcloud.com/15983 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Tested-by: Andreas Dilger Reviewed-by: Bob Glossman Reviewed-by: Oleg Drokin --- lustre/tests/conf-sanity.sh | 9 ++++++-- lustre/tests/test-framework.sh | 52 ++++++++++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 4c6d347..eeef083 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -4,8 +4,8 @@ set -e ONLY=${ONLY:-"$*"} -# bug number for skipped test: LU-7005 -ALWAYS_EXCEPT="$CONF_SANITY_EXCEPT 50i" +# bug number for skipped test: +ALWAYS_EXCEPT="$CONF_SANITY_EXCEPT" # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! is_sles11() # LU-2181 @@ -3527,6 +3527,11 @@ test_50i() { "$TEST" "${FSNAME}-MDT0001.mdc.active" 1 || error "Unable to activate MDT2" + wait_clients_import_state ${CLIENTS:-$HOSTNAME} mds2 FULL + if [ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.7.60) ] + then + wait_dne_interconnect + fi $LFS mkdir -i1 $DIR/$tdir/2 || error "mkdir $DIR/$tdir/2 failed" # create some file createmany -o $DIR/$tdir/2/$tfile-%d 1 || error "create files failed" diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index be6d1ec..e499d7f 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -5824,19 +5824,21 @@ mds_on_old_device() { } get_mdtosc_proc_path() { - local mds_facet=$1 - local ost_label=${2:-"*OST*"} - - [ "$mds_facet" = "mds" ] && mds_facet=$SINGLEMDS - local mdt_label=$(convert_facet2label $mds_facet) - local mdt_index=$(echo $mdt_label | sed -e 's/^.*-//') - - if [ $(lustre_version_code $mds_facet) -le $(version_code 1.8.0) ] || - mds_on_old_device $mds_facet; then - echo "${ost_label}-osc" - else - echo "${ost_label}-osc-${mdt_index}" - fi + local mds_facet=$1 + local ost_label=${2:-"*OST*"} + + [ "$mds_facet" = "mds" ] && mds_facet=$SINGLEMDS + local mdt_label=$(convert_facet2label $mds_facet) + local mdt_index=$(echo $mdt_label | sed -e 's/^.*-//') + + if [ $(lustre_version_code $mds_facet) -le $(version_code 1.8.0) ] || + mds_on_old_device $mds_facet; then + echo "${ost_label}-osc" + elif [[ $ost_label = *OST* ]]; then + echo "${ost_label}-osc-${mdt_index}" + else + echo "${ost_label}-osp-${mdt_index}" + fi } get_osc_import_name() { @@ -5950,8 +5952,8 @@ _wait_osc_import_state() { local facet=$1 local ost_facet=$2 local expected=$3 - local ost=$(get_osc_import_name $facet $ost_facet) - local param="osc.${ost}.ost_server_uuid" + local target=$(get_osc_import_name $facet $ost_facet) + local param="osc.${target}.ost_server_uuid" local params=$param local i=0 @@ -5975,6 +5977,16 @@ _wait_osc_import_state() { params=$($LCTL list_param $param 2>/dev/null || true) done fi + + if [[ $ost_facet = mds* ]]; then + # no OSP connection to itself + if [[ $facet = $ost_facet ]]; then + return 0 + fi + param="osp.${target}.mdt_server_uuid" + params=$param + fi + if ! do_rpc_nodes "$(facet_active_host $facet)" \ wait_import_state $expected "$params" $maxtime; then error "import is not in ${expected} state" @@ -6056,6 +6068,16 @@ wait_mgc_import_state() { fi } +wait_dne_interconnect() { + local num + + if [ $MDSCOUNT -gt 1 ]; then + for num in $(seq $MDSCOUNT); do + wait_osc_import_state mds mds$num FULL + done + fi +} + get_clientmdc_proc_path() { echo "${1}-mdc-*" } -- 1.8.3.1