Whamcloud - gitweb
b=17661
authorgrev <grev>
Sat, 6 Dec 2008 01:42:55 +0000 (01:42 +0000)
committergrev <grev>
Sat, 6 Dec 2008 01:42:55 +0000 (01:42 +0000)
i=Brian
run mpi tests as MPI_USER

lustre/tests/cfg/ncli.sh
lustre/tests/mdsrate-create-large.sh
lustre/tests/mdsrate-create-small.sh
lustre/tests/mdsrate-lookup-1dir.sh
lustre/tests/mdsrate-stat-large.sh
lustre/tests/mdsrate-stat-small.sh
lustre/tests/test-framework.sh

index 907775e..c583c5f 100644 (file)
@@ -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}
index f36b0fe..00ad399 100644 (file)
@@ -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
index 397b9c9..0f42e5d 100644 (file)
@@ -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"
index 6ff90ad..eb5f497 100644 (file)
@@ -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
index 21383b7..daadc40 100644 (file)
@@ -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
index 4bd98b4..1503416 100644 (file)
@@ -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
index 437682f..1b2fe9c 100644 (file)
@@ -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
+}
+