diff --git a/lustre/tests/cfg/ncli.sh b/lustre/tests/cfg/ncli.sh index 907775e73917dab164699747700a6bf16561ba40..c583c5ff89d21ff944dbeab0ba2f1d9c44077707 100644 --- a/lustre/tests/cfg/ncli.sh +++ b/lustre/tests/cfg/ncli.sh @@ -13,5 +13,5 @@ init_clients_lists MPIBIN=${MPIBIN:-/testsuite/tests/`arch`/bin} export PATH=:$PATH:$MPIBIN -MPIRUN=$(which mpirun) - +MPIRUN=$(which mpirun) || true +MPI_USER=${MPI_USER:-mpiuser} diff --git a/lustre/tests/mdsrate-create-large.sh b/lustre/tests/mdsrate-create-large.sh index f36b0fe7b1965cdc824f1270b742dd8b523b0bfd..00ad3992c44b9f368c14d21f7b4a56ddbb45c4db 100644 --- a/lustre/tests/mdsrate-create-large.sh +++ b/lustre/tests/mdsrate-create-large.sh @@ -49,8 +49,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np 1 -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -66,8 +65,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD} --nfiles ${NUM_FILES} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np 1 -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -87,8 +85,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -103,8 +100,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD} --nfiles ${NUM_FILES} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG diff --git a/lustre/tests/mdsrate-create-small.sh b/lustre/tests/mdsrate-create-small.sh index 397b9c92e17ac1888737dd243680a0f01acb4e63..0f42e5d8f3e861988a9e28d96bbe4cbafdd4df4f 100644 --- a/lustre/tests/mdsrate-create-small.sh +++ b/lustre/tests/mdsrate-create-small.sh @@ -61,8 +61,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np 1 -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -81,8 +80,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD} --nfiles ${NUM_FILES} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np 1 -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -106,8 +104,8 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np $((${NUM_CLIENTS}*THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np $((NUM_CLIENTS * THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \ + ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG error "mpirun ... mdsrate ... failed, aborting" @@ -125,8 +123,8 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD} --nfiles ${NUM_FILES} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'" echo "+ ${COMMAND}" - $MPIRUN -np $((${NUM_CLIENTS}*THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np $((NUM_CLIENTS * THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \ + ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG error "mpirun ... mdsrate ... failed, aborting" diff --git a/lustre/tests/mdsrate-lookup-1dir.sh b/lustre/tests/mdsrate-lookup-1dir.sh index 6ff90ad67f9a0067b018702d7ebd2fbb3ca6eb0d..eb5f4976a7b0e72a62e76901b4f6bd79f5e20986 100644 --- a/lustre/tests/mdsrate-lookup-1dir.sh +++ b/lustre/tests/mdsrate-lookup-1dir.sh @@ -56,8 +56,7 @@ else COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --mknod --dir ${TESTDIR} --nfiles ${NUM_FILES} --filefmt 'f%%d'" echo "+" ${COMMAND} - $MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} 2>&1 + mpi_run -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${COMMAND} 2>&1 # No lockup if error occurs on file creation, abort. [ ${PIPESTATUS[0]} != 0 ] && error "mpirun ... mdsrate ... file creation failed, aborting" @@ -73,8 +72,7 @@ else log "===== $0 ### 1 NODE LOOKUPS ###" echo "Running lookups on 1 node(s)." echo "+" ${COMMAND} - $MPIRUN -np 1 -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -90,8 +88,7 @@ else log "===== $0 ### ${NUM_CLIENTS} NODES LOOKUPS ###" echo "Running lookups on ${NUM_CLIENTS} node(s)." echo "+" ${COMMAND} - $MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG diff --git a/lustre/tests/mdsrate-stat-large.sh b/lustre/tests/mdsrate-stat-large.sh index 21383b7a44c112c57feb1835360d30a834a85abe..daadc408c58e5d0fecedb0ae66810a497c525cf7 100644 --- a/lustre/tests/mdsrate-stat-large.sh +++ b/lustre/tests/mdsrate-stat-large.sh @@ -63,8 +63,7 @@ else NUM_THREADS=$NUM_CLIENTS fi - $MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} 2>&1 + mpi_run -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${COMMAND} 2>&1 [ ${PIPESTATUS[0]} != 0 ] && error "mpirun ... mdsrate ... file creation failed, aborting" fi @@ -81,7 +80,7 @@ else echo "Running stats on 1 node(s)." echo "+" ${COMMAND} - $MPIRUN -np 1 -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -99,7 +98,7 @@ else echo "+" ${COMMAND} NUM_THREADS=$(get_node_count ${NODES_TO_USE//,/ }) - $MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG diff --git a/lustre/tests/mdsrate-stat-small.sh b/lustre/tests/mdsrate-stat-small.sh index 4bd98b4d47872b2329a8a9f05a3208c0feb272f0..150341600d10ad76c584d1373be9de7ff62f6d5e 100644 --- a/lustre/tests/mdsrate-stat-small.sh +++ b/lustre/tests/mdsrate-stat-small.sh @@ -63,8 +63,7 @@ else NUM_THREADS=$NUM_CLIENTS fi - $MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \ - ${MPIRUN_OPTIONS} ${COMMAND} 2>&1 + mpi_run -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${COMMAND} 2>&1 [ ${PIPESTATUS[0]} != 0 ] && error "Error running mdsrate, aborting..." fi @@ -81,7 +80,7 @@ else echo "Running stats on 1 node(s)." echo "+" ${COMMAND} - $MPIRUN -np 1 -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np 1 -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG @@ -98,7 +97,7 @@ else echo "Running stats on ${NUM_CLIENTS} node(s)." echo "+" ${COMMAND} - $MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG} + mpi_run -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${COMMAND} | tee ${LOG} if [ ${PIPESTATUS[0]} != 0 ]; then [ -f $LOG ] && cat $LOG diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 437682f7645af20068a5d0c57fea97965e182c7c..1b2fe9c9b8e19f24ce59fd062cca858d115f30bf 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -2095,7 +2095,7 @@ check_rate() { # We need to use bc since the rate is a floating point number local RES=$(echo "${RATE} < ${TARGET_RATE}" | bc -l ) - if [ ${RES} -eq 0 ]; then + if [ "${RES}" = 0 ]; then echo "Success: ${RATE} ${OP}s/sec met target rate" \ "${TARGET_RATE} ${OP}s/sec for ${NUM_CLIENTS} client(s)." return 0 @@ -2181,3 +2181,19 @@ get_stripe_info() { stripe_index=`awk '/obdidx/ {start = 1; getline; print $1; exit}' $tmp_file` rm -f $tmp_file } + +mpi_run () { + local mpirun="$MPIRUN $MPIRUN_OPTIONS" + local command="$mpirun $@" + + if [ "$MPI_USER" != root -a $mpirun ]; then + echo "+ chmod 0777 $MOUNT" + chmod 0777 $MOUNT + command="su $MPI_USER sh -c \"$command \"" + fi + + ls -ald $MOUNT + echo "+ $command" + eval $command +} +