Whamcloud - gitweb
LU-3939 tests: sanity-hsm/test_40 needs a local HSM_ARCHIVE 03/7703/7
authorBruno Faccini <bruno.faccini@intel.com>
Wed, 2 Oct 2013 13:39:38 +0000 (15:39 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 9 Jan 2014 17:46:11 +0000 (17:46 +0000)
sanity-hsm/test_40 suffers frequent failures during auto-test due
to remote/NFS-mounted HSM_ARCHIVE causing the 400 archive requests
to take more than 100s to be drained from copytool requests queue.
This patch allows copytool_setup func to allow each sub-test to
specify a non-default hsm-root/HSM_ARCHIVE dir and test_40 uses it.
And for sure, remove test_40 from exception list.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: I00e7df7b3cc5530cb96177a61ca6e07f1c784297
Reviewed-on: http://review.whamcloud.com/7703
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/sanity-hsm.sh

index 919d104..1aa09b9 100644 (file)
@@ -11,8 +11,8 @@ SRCDIR=$(dirname $0)
 export PATH=$PWD/$SRCDIR:$SRCDIR:$PWD/$SRCDIR/utils:$PATH:/sbin:/usr/sbin
 
 ONLY=${ONLY:-"$*"}
-# bug number for skipped test:    3815     3939
-ALWAYS_EXCEPT="$SANITY_HSM_EXCEPT 34 35 36 40"
+# bug number for skipped test:    3815
+ALWAYS_EXCEPT="$SANITY_HSM_EXCEPT 34 35 36"
 # bug number for skipped test:4178         4176
 ALWAYS_EXCEPT="$ALWAYS_EXCEPT 200 221 223b 31a"
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
@@ -144,7 +144,7 @@ copytool_setup() {
        local facet=${1:-$SINGLEAGT}
        local lustre_mntpnt=${2:-$MOUNT}
        local arc_id=$3
-       local hsm_root=$(copytool_device $facet)
+       local hsm_root=${4:-$(copytool_device $facet)}
        local agent=$(facet_active_host $facet)
 
        if [[ -z "$arc_id" ]] &&
@@ -2234,7 +2234,13 @@ test_40() {
                        fid=$(copy_file /etc/hosts $f.$p.$i)
                done
        done
-       copytool_setup
+       # force copytool to use a local/temp archive dir to ensure best
+       # performance vs remote/NFS mounts used in auto-tests
+       if df --local $HSM_ARCHIVE >/dev/null 2>&1 ; then
+               copytool_setup
+       else
+               copytool_setup $SINGLEAGT $MOUNT $HSM_ARCHIVE_NUMBER $TMP/$tdir
+       fi
        # to be sure wait_all_done will not be mislead by previous tests
        cdt_purge
        wait_for_grace_delay