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 f48d35966b57901f815c9e86d82c09a17cc37395..9c4667429ae48bcc1a5f4dd46cc224b4298a0b00 100644 --- a/lustre/tests/mdsrate-lookup-1dir.sh +++ b/lustre/tests/mdsrate-lookup-1dir.sh @@ -57,8 +57,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" @@ -74,8 +73,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 @@ -91,8 +89,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 f014b6f719e2194bb4587d39bdf09d543e544c49..3620282581daed70cc804b0d6d6c147f43f42af7 100644 --- a/lustre/tests/mdsrate-stat-large.sh +++ b/lustre/tests/mdsrate-stat-large.sh @@ -64,8 +64,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 @@ -82,7 +81,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 @@ -100,7 +99,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 26cd4cb66fc8c65b49ee30d124df83eaa90ee0b1..ddcd609bd6a3bc92e35c20526ce9be06e0d44d8c 100644 --- a/lustre/tests/mdsrate-stat-small.sh +++ b/lustre/tests/mdsrate-stat-small.sh @@ -64,8 +64,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 @@ -82,7 +81,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 "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 e479c5588af2d8eaef839134062caa62a92f5420..96ce1c3760300ac437eff48ef3ccd7e5eab64ee1 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1810,7 +1810,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 @@ -1884,3 +1884,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 +} +