From e21430272b4187e919a87fef4aa3ed7350e3c2d6 Mon Sep 17 00:00:00 2001 From: grev Date: Sat, 6 Dec 2008 01:42:55 +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 907775e..c583c5f 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 f36b0fe..00ad399 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 397b9c9..0f42e5d 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 6ff90ad..eb5f497 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 21383b7..daadc40 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 4bd98b4..1503416 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 437682f..1b2fe9c 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 +} + -- 1.8.3.1