Whamcloud - gitweb
LU-5788 test: fix the cmd to getfree space 31/26031/12
authorHongchao Zhang <hongchao.zhang@intel.com>
Sat, 15 Apr 2017 21:54:47 +0000 (05:54 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 12 May 2017 05:06:09 +0000 (05:06 +0000)
The cmd to get free space in run_tar.sh and run_dd.sh is obsolete
after the patch https://review.whamcloud.com/24228 was landed.

Test-Parameters: trivial testlist=recovery-double-scale clientdistro=el7 serverdistro=el7 \
osscount=2 mdscount=2 ostcount=7 mdtcount=1 clientcount=4 ostfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs failover=true iscsi=1

Change-Id: I442825a94102eff68aaba411b57f86d65441ae49
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: https://review.whamcloud.com/26031
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Wei Liu <wei3.liu@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/tests/run_dd.sh
lustre/tests/run_tar.sh
lustre/tests/test-framework.sh

index 6562416..e805f62 100755 (executable)
@@ -36,15 +36,13 @@ while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
 
        # suppress dd xfer stat to workaround buggy coreutils/gettext
        # combination in RHEL5 and OEL5, see BZ 21264
-       FREE_SPACE=$($LFS df $TESTDIR|awk '/filesystem summary:/ {print $5}')
+       FREE_SPACE=$(df -P $TESTDIR | awk '/:/ { print $4 }')
        BLKS=$((FREE_SPACE * 9 / 40 / CLIENT_COUNT))
        echoerr "Total free disk space is $FREE_SPACE, 4k blocks to dd is $BLKS"
 
+       df $TESTDIR || true
        dd bs=4k count=$BLKS status=noxfer if=/dev/zero of=$TESTDIR/dd-file \
-                                                               1>$LOG &
-       load_pid=$!
-       wait $load_pid
-
+                                                               1>$LOG
        if [ $? -eq 0 ]; then
                echoerr "$(date +'%F %H:%M:%S'): dd succeeded"
                cd $TMP
@@ -52,7 +50,7 @@ while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
                echoerr "$(date +'%F %H:%M:%S'): dd run finished"
        else
                echoerr "$(date +'%F %H:%M:%S'): dd failed"
-               if [ -z "$ERRORS_OK" ]; then
+               if [ -z "$ERRORS_OK" ]; then
                        echo $(hostname) >> $END_RUN_FILE
                fi
                if [ $BREAK_ON_ERROR ]; then
index 6425dc8..0ea2ce9 100755 (executable)
@@ -17,7 +17,7 @@ set -x
 
 . $(dirname $0)/functions.sh
 
-assert_env MOUNT END_RUN_FILE LOAD_PID_FILE LFS CLIENT_COUNT
+assert_env MOUNT END_RUN_FILE LOAD_PID_FILE LFS CLIENT_COUNT LCTL
 
 trap signaled TERM
 
@@ -35,8 +35,14 @@ CONTINUE=true
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
        echoerr "$(date +'%F %H:%M:%S'): tar run starting"
        mkdir -p $TESTDIR
+       cd $TESTDIR
+       sync
+
        USAGE=$(du -s /etc | awk '{print $1}')
-       FREE_SPACE=$($LFS df $TESTDIR | awk '/filesystem summary:/ {print $5}')
+       $LCTL set_param llite.*.lazystatfs=0
+       df $TESTDIR || true
+       sleep 2
+       FREE_SPACE=$(df $TESTDIR | awk '/:/ { print $4 }')
        AVAIL=$((FREE_SPACE * 9 / 10 / CLIENT_COUNT))
        if [ $AVAIL -lt $USAGE ]; then
                echoerr "no enough free disk space: need $USAGE, avail $AVAIL"
@@ -44,11 +50,7 @@ while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
                break
        fi
 
-       cd $TESTDIR
-
-       sync
-       do_tar &
-       wait $!
+       do_tar
        RC=$?
        PREV_ERRORS=$(grep "exit delayed from previous errors" $LOG) || true
        if [ $RC -ne 0 -a "$ERRORS_OK" -a "$PREV_ERRORS" ]; then
index c7aa2a2..e67078e 100755 (executable)
@@ -1960,29 +1960,31 @@ node_var_name() {
 }
 
 start_client_load() {
-    local client=$1
-    local load=$2
-    local var=$(node_var_name $client)_load
-    eval export ${var}=$load
-
-    do_node $client "PATH=$PATH MOUNT=$MOUNT ERRORS_OK=$ERRORS_OK \
-BREAK_ON_ERROR=$BREAK_ON_ERROR \
-END_RUN_FILE=$END_RUN_FILE \
-LOAD_PID_FILE=$LOAD_PID_FILE \
-TESTLOG_PREFIX=$TESTLOG_PREFIX \
-TESTNAME=$TESTNAME \
-DBENCH_LIB=$DBENCH_LIB \
-DBENCH_SRC=$DBENCH_SRC \
-CLIENT_COUNT=$((CLIENTCOUNT - 1)) \
-LFS=$LFS \
-run_${load}.sh" &
-    local ppid=$!
-    log "Started client load: ${load} on $client"
-
-    # get the children process IDs
-    local pids=$(ps --ppid $ppid -o pid= | xargs)
-    CLIENT_LOAD_PIDS="$CLIENT_LOAD_PIDS $ppid $pids"
-    return 0
+       local client=$1
+       local load=$2
+       local var=$(node_var_name $client)_load
+       eval export ${var}=$load
+
+       do_node $client "PATH=$PATH MOUNT=$MOUNT ERRORS_OK=$ERRORS_OK \
+                       BREAK_ON_ERROR=$BREAK_ON_ERROR \
+                       END_RUN_FILE=$END_RUN_FILE \
+                       LOAD_PID_FILE=$LOAD_PID_FILE \
+                       TESTLOG_PREFIX=$TESTLOG_PREFIX \
+                       TESTNAME=$TESTNAME \
+                       DBENCH_LIB=$DBENCH_LIB \
+                       DBENCH_SRC=$DBENCH_SRC \
+                       CLIENT_COUNT=$((CLIENTCOUNT - 1)) \
+                       LFS=$LFS \
+                       LCTL=$LCTL \
+                       FSNAME=$FSNAME \
+                       run_${load}.sh" &
+       local ppid=$!
+       log "Started client load: ${load} on $client"
+
+       # get the children process IDs
+       local pids=$(ps --ppid $ppid -o pid= | xargs)
+       CLIENT_LOAD_PIDS="$CLIENT_LOAD_PIDS $ppid $pids"
+       return 0
 }
 
 start_client_loads () {