ControlScripts: working version of run_scenario.sh with pre-run/post-run script-awareness
authorRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Fri, 6 Aug 2010 14:44:26 +0000 (17:44 +0300)
committerRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Fri, 6 Aug 2010 14:51:11 +0000 (17:51 +0300)
ControlScripts/run_scenario.sh

index b2b2170..ba18cd3 100755 (executable)
@@ -102,20 +102,20 @@ scenario_setup() {
                fi
 
                # Create node config file
-               if ! ssh -n p ${PORT} ${USER}@${SERVER} "cat > $REMOTE_PATH/P2P-Testing-Infrastructure/ClientWorkingFolders/TmpLogs/scenario_config" &>> ${ERR_LOG} <<END
-BASE_PATH="${REMOTE_PATH}/P2P-Testing-Infrastructure/"
-IFACE="${REMOTE_IF}"
-DL_BW="${DL_BW}"
-DL_BURST="${DL_BURST}"
-UL_BW="${UL_BW}"
-UL_BURST="${UL_BURST}"
-PRE_RUN_SCRIPT="${PRE_RUN_SCRIPT}"
-POST_RUN_SCRIPT="${POST_RUN_SCRIPT}"
-CLIENT_TYPE="${CLIENT_TYPE}"
-TORRENT_FILE="${TORRENT_FILE}"
-PERIODS="${PERIODS}"
+               if ! ssh -n -p ${PORT} ${USER}@${SERVER} "
+cat > $REMOTE_PATH/P2P-Testing-Infrastructure/ClientWorkingFolders/TmpLogs/scenario_config << END
+IFACE=\"${REMOTE_IF}\"
+DL_BW=\"${DL_BW}\"
+DL_BURST=\"${DL_BURST}\"
+UL_BW=\"${UL_BW}\"
+UL_BURST=\"${UL_BURST}\"
+PRE_RUN_SCRIPT=\"${PRE_RUN_SCRIPT}\"
+POST_RUN_SCRIPT=\"${POST_RUN_SCRIPT}\"
+CLIENT_TYPE=\"${CLIENT_TYPE}\"
+TORRENT_FILE=\"${TORRENT_FILE}\"
+PERIODS=\"${PERIODS}\"
 END
-               then
+" &>> ${ERR_LOG}; then
                        echo "Error: cannot create scenario config file"
                        exit 1
                fi
@@ -143,6 +143,10 @@ scenario_schedule()
                fi
        done < $TMP_FILE
        unset IFS
+
+       # wait for clients to start
+       sleep 2
+
        echo "---------------------- _scenario_schedule" >> $ERR_LOG
 }
 
@@ -187,7 +191,7 @@ scenario_clean() {
                fi
 
                # Remove node config file
-               if ! ssh -n p ${PORT} ${USER}@${SERVER} "rm $REMOTE_PATH/P2P-Testing-Infrastructure/ClientWorkingFolders/TmpLogs/scenario_config" &>> ${ERR_LOG}; then
+               if ! ssh -n -p ${PORT} ${USER}@${SERVER} "rm $REMOTE_PATH/P2P-Testing-Infrastructure/ClientWorkingFolders/TmpLogs/scenario_config" &>> ${ERR_LOG}; then
                        echo "Error: cannot remove scenario_config file"
                fi
 
@@ -214,7 +218,7 @@ scenario_parse() {
 
                echo " with hostname $REMOTE_HOSTNAME"
 
-               if ! ./parse_client_log.sh $SCENARIO_RESULTS_FOLDER ${REMOTE_HOSTNAME}.log; then
+               if ! ./parse_client_log.sh $CLIENT_TYPE $SCENARIO_RESULTS_FOLDER ${REMOTE_HOSTNAME}.log; then
                        echo "Error parsing file $SCENARIO_RESULTS_FOLDER/${REMOTE_HOSTNAME}.log"
                        exit 1
                fi