From 4219474fcbfa223faab864ee6ba85bfaf68c117a Mon Sep 17 00:00:00 2001 From: grev <grev> Date: Sat, 6 Dec 2008 00:56:52 +0000 Subject: [PATCH] b=17661 i=Brian run mpi tests as MPI_USER --- lustre/tests/cfg/ncli.sh | 4 ++-- lustre/tests/mdsrate-create-large.sh | 12 ++++-------- lustre/tests/mdsrate-create-small.sh | 14 ++++++-------- lustre/tests/mdsrate-lookup-1dir.sh | 9 +++------ lustre/tests/mdsrate-stat-large.sh | 7 +++---- lustre/tests/mdsrate-stat-small.sh | 7 +++---- lustre/tests/test-framework.sh | 18 +++++++++++++++++- 7 files changed, 38 insertions(+), 33 deletions(-) diff --git a/lustre/tests/cfg/ncli.sh b/lustre/tests/cfg/ncli.sh index 907775e739..c583c5ff89 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 f36b0fe7b1..00ad3992c4 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 397b9c92e1..0f42e5d8f3 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 f48d35966b..9c4667429a 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 f014b6f719..3620282581 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 26cd4cb66f..ddcd609bd6 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 e479c5588a..96ce1c3760 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 +} + -- GitLab