Whamcloud - gitweb
LU-3939 tests: sanity-hsm/test_40 needs a local HSM_ARCHIVE 71/8771/2
authorBruno Faccini <bruno.faccini@intel.com>
Wed, 8 Jan 2014 07:24:20 +0000 (15:24 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 13 Jan 2014 21:11:44 +0000 (21:11 +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.

This patch is back-ported from the following one:
Lustre-commit: 8484f1c51c701141237e98a1467c75364766f357
Lustre-change: http://review.whamcloud.com/7703

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

index dcdfeee..96365b1 100644 (file)
@@ -142,7 +142,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" ]] &&
@@ -2202,7 +2202,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