Whamcloud - gitweb
LU-10664 tests: fix MPI tests in dom-performance.sh 44/37044/4
authorMikhail Pershin <mpershin@whamcloud.com>
Mon, 16 Dec 2019 18:16:24 +0000 (21:16 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 18 Jan 2020 04:04:45 +0000 (04:04 +0000)
Make MPI tests in dom-performance.sh to be ran under
mpiuser instead of root

Test-Parameters: trivial mdssizegb=20 testlist=dom-performance
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ief3036434191a0bc153d5c8e380183d5e5067dc4
Reviewed-on: https://review.whamcloud.com/37044
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Nunez <jnunez@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/dom-performance.sh

index 5b1eec8..98d454c 100644 (file)
@@ -25,9 +25,16 @@ FAIL_ON_ERROR=false
 
 SAVED_DEBUG=$($LCTL get_param -n debug 2> /dev/null)
 
 
 SAVED_DEBUG=$($LCTL get_param -n debug 2> /dev/null)
 
-check_and_setup_lustre
 
 
+. $LUSTRE/tests/functions.sh
 build_test_filter
 build_test_filter
+check_and_setup_lustre
+
+# if MACHINEFILE set and exists -- use it
+MACHINEFILE=${MACHINEFILE:-$TMP/$(basename $0 .sh)-$(hostname).machines}
+clients=${CLIENTS:-$HOSTNAME}
+generate_machine_file $clients $MACHINEFILE ||
+       error "Failed to generate machine file"
 
 DP_DIO=${DP_DIO:-"no"}
 
 
 DP_DIO=${DP_DIO:-"no"}
 
@@ -143,10 +150,12 @@ run_MDtest() {
        local th_num=$((DP_FNUM * 2 / DP_NUM))
        local bsizes="8192"
 
        local th_num=$((DP_FNUM * 2 / DP_NUM))
        local bsizes="8192"
 
+       chmod 0777 $TDIR
+
        [ "$SLOW" = "yes" ] && bsizes="4096 32768"
 
        for bsize in $bsizes ; do
        [ "$SLOW" = "yes" ] && bsizes="4096 32768"
 
        for bsize in $bsizes ; do
-               dp_run_cmd "mpirun -np $DP_NUM $mdtest -i 3 -I $th_num -F \
+               dp_run_cmd "mpi_run -np $DP_NUM $mdtest -i 3 -I $th_num -F \
                        -z 1 -b 1 -L -u -w $bsize -R -d $TDIR"
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "MDtest failed, aborting"
                        -z 1 -b 1 -L -u -w $bsize -R -d $TDIR"
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "MDtest failed, aborting"
@@ -220,23 +229,28 @@ run_IOR() {
        fi
 
        local TDIR=${1:-$MOUNT}
        fi
 
        local TDIR=${1:-$MOUNT}
+
+       chmod 0777 $TDIR
+
        local bsizes="8"
        [ "$SLOW" = "yes" ] && bsizes="4 32"
 
        for bsize in $bsizes ; do
                segments=$((128 / bsize))
 
        local bsizes="8"
        [ "$SLOW" = "yes" ] && bsizes="4 32"
 
        for bsize in $bsizes ; do
                segments=$((128 / bsize))
 
-               dp_run_cmd "mpirun -np $DP_NUM $IOR \
+               dp_run_cmd "mpi_run -np $DP_NUM $IOR \
                        -a POSIX -b ${bsize}K -t ${bsize}K -o $TDIR/ -k \
                        -a POSIX -b ${bsize}K -t ${bsize}K -o $TDIR/ -k \
-                       -s $segments -w -r -i $iter -F -E -z -m -Z $direct"
+                       -s $segments -w -r -i $iter -F -E -z -m -Z $direct" |
+                       awk '($1 !~ /^(write|read|access)$/) || NF>12 {print}'
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "IOR write test for ${bsize}K failed, aborting"
                fi
 
                # check READ performance only (no cache)
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "IOR write test for ${bsize}K failed, aborting"
                fi
 
                # check READ performance only (no cache)
-               dp_run_cmd "mpirun -np $DP_NUM $IOR \
+               dp_run_cmd "mpi_run -np $DP_NUM $IOR \
                        -a POSIX -b ${bsize}K -t ${bsize}K -o $TDIR/ -X 42\
                        -a POSIX -b ${bsize}K -t ${bsize}K -o $TDIR/ -X 42\
-                       -s $segments -r -i $iter -F -E -z -m -Z $direct"
+                       -s $segments -r -i $iter -F -E -z -m -Z $direct" |
+                       awk '($1 !~ /^(read|access|remove)$/) || NF>12 {print}'
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "IOR read test for ${bsize}K failed, aborting"
                fi
                if [ ${PIPESTATUS[0]} != 0 ]; then
                        error "IOR read test for ${bsize}K failed, aborting"
                fi