From 349d0de314522868105a6deabc73d8c2410abc0f Mon Sep 17 00:00:00 2001 From: Hongchao Zhang Date: Sun, 16 Apr 2017 05:54:47 +0800 Subject: [PATCH] LU-5788 test: fix the cmd to getfree space 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 Reviewed-on: https://review.whamcloud.com/26031 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Nunez Reviewed-by: Wei Liu Reviewed-by: Andreas Dilger --- lustre/tests/run_dd.sh | 10 ++++----- lustre/tests/run_tar.sh | 16 ++++++++------ lustre/tests/test-framework.sh | 48 ++++++++++++++++++++++-------------------- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/lustre/tests/run_dd.sh b/lustre/tests/run_dd.sh index 6562416..e805f62 100755 --- a/lustre/tests/run_dd.sh +++ b/lustre/tests/run_dd.sh @@ -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 diff --git a/lustre/tests/run_tar.sh b/lustre/tests/run_tar.sh index 6425dc8..0ea2ce9 100755 --- a/lustre/tests/run_tar.sh +++ b/lustre/tests/run_tar.sh @@ -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 diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index c7aa2a2..e67078e 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -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 () { -- 1.8.3.1