Code optimization and retrieving host_ip/test_time from host-config. 07/31307/2
authorkalyanreddy <reddyx.gundarapu@intel.com>
Wed, 22 Mar 2017 02:27:25 +0000 (19:27 -0700)
committerkalyanreddy <reddyx.gundarapu@intel.com>
Wed, 22 Mar 2017 07:06:20 +0000 (12:36 +0530)
This patch includes updated scripts to:

1.Select the host environment and test duration from host-config file
  to execute the test cases based on the job type.

2.Remove code duplications like sourcing a file multiple times.

3.Make packet forwarding test cases execution look clear.

Change-Id: I88457b7f3dfacad1db2495090504974097228a4d
Signed-off-by: Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
ci/envs/host-config
ci/envs/packet_forwarding.sh
ci/test_kvmfornfv.sh

index 4a5d1b5..2ad4b3e 100755 (executable)
@@ -35,6 +35,32 @@ done
 stress_isolcpus=${first}-${last}
 echo "Stress tool runs on $stress_isolcpus"
 
+#Host for executing test cases based on test_type/job from releng
+function setHostIP {
+   test_type=$1
+   if [ ${test_type} == "verify" ];then
+      HOST_IP="10.10.100.21"
+   elif [ ${test_type} == "daily" ];then
+      HOST_IP="10.10.100.22"
+   else
+      echo "Incorrect test type"
+   fi
+   echo ${HOST_IP}
+}
+
+#Time duration for executing test cases based on test_type/job from releng
+function setTestTime {
+   test_type=$1
+   if [ ${test_type} == "verify" ];then
+      test_time=1000 # 1s
+   elif [ ${test_type} == "daily" ];then
+      test_time=3600000 # 1hr
+   else
+      echo "Incorrect test type"
+   fi
+   echo ${test_time}
+}
+
 #Tar the log files generated during testcase execution and exit.
 function test_exit {
    exitCode=$1
index ec399c6..643957a 100644 (file)
@@ -108,10 +108,10 @@ function execute_vsperf() {
             # figure out log file name
             LOG_SUBDIR="OvsDpdkVhost"
             LOG_FILE="${LOG_FILE_PREFIX}_${LOG_SUBDIR}_${DATE_SUFFIX}.log"
-            echo "    $VSPERF_BIN $OPNFVPOD --vswitch OvsDpdkVhost --vnf QemuDpdkVhostUser $CONF_FILE $TESTPARAM $TESTCASES > $LOG_FILE"
-            echo "daily test cases started"
             cd $HOME/vswitchperf
             $VSPERF_BIN --list
+            echo "daily test cases started"
+            echo "    $VSPERF_BIN --vswitch OvsDpdkVhost --vnf QemuDpdkVhostUser $CONF_FILE $TESTPARAM $TESTCASES > $LOG_FILE"
             $VSPERF_BIN  --vswitch OvsDpdkVhost --vnf QemuDpdkVhostUser $CONF_FILE $TESTPARAM $TESTCASES &>> $LOG_FILE
             ;;
     esac
@@ -146,8 +146,8 @@ function execute_vsperf() {
 
     # copy logs into dedicated directory
     mkdir -p ${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}
-    [ -f "$LOG_FILE" ] && cp -a "${LOG_FILE}" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
-    [ -d "$RES_DIR" ] && cp -ar "$RES_DIR" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
+    [ -f "$LOG_FILE" ] && mv "${LOG_FILE}" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
+    [ -d "$RES_DIR" ] && mv "$RES_DIR" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
 }
 
 #Install vsperf and set up the environment
@@ -159,9 +159,9 @@ install_qemu
 # execute job based on passed parameter
 case $1 in
     "daily")
-        echo "================"
-        echo "VSPERF daily job"
-        echo "================"
+        echo "========================================================"
+        echo "KVM4NFV daily job executing packet forwarding test cases"
+        echo "========================================================"
         execute_vsperf OVS_with_DPDK_and_vHost_User $1
         execute_vsperf SRIOV $1
         exit $EXIT
index 8199bf0..47158de 100755 (executable)
@@ -45,6 +45,11 @@ function packetForward {
    fi
 }
 
+function getTestParams {
+   HOST_IP=$( setHostIP $test_type )
+   test_time=$( setTestTime $test_type )
+}
+
 function cyclictest {
    test_case=$1
    source $WORKSPACE/ci/cyclicTestTrigger.sh $HOST_IP $test_time $test_type $test_case
@@ -72,9 +77,8 @@ function cyclictest {
    echo "Terminating PCM Process"
    sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'pcm' | awk '{print \$2}' | head -1); echo \$pid |xargs kill -SIGTERM"
 }
+#Collecting the Memory Bandwidth Information using pcm-memory utility
 function collect_MBWInfo {
-   #Collecting the Memory Bandwidth Information using pcm-memory utility
-   source $WORKSPACE/ci/envs/host-config
    testType=$1
    timeStamp=$(date +%Y%m%d%H%M%S)
    echo "Running PCM memory to collect memory bandwidth"
@@ -82,7 +86,6 @@ function collect_MBWInfo {
    sudo ssh root@${HOST_IP} "${pcm_memory} 60 &>/root/MBWInfo/MBWInfo_${testType}_${timeStamp} &disown"
 }
 function install_pcm {
-   source $WORKSPACE/ci/envs/host-config
    sudo ssh root@${HOST_IP} '
    modelName=`cat /proc/cpuinfo | grep -i "model name" | uniq`
    if echo "$modelName" | grep -i "xeon" ;then
@@ -107,8 +110,7 @@ function install_pcm {
 
 #Execution of testcases based on test type and test name from releng.
 if [ ${test_type} == "verify" ];then
-   HOST_IP="10.10.100.21"
-   test_time=1000 # 1s
+   getTestParams
    install_pcm
    if [ ${ftrace_enable} -eq '1' ]; then
       for env in ${cyclictest_env_verify[@]}
@@ -138,8 +140,7 @@ if [ ${test_type} == "verify" ];then
       test_exit 0
    fi
 elif [ ${test_type} == "daily" ];then
-   HOST_IP="10.10.100.22"
-   test_time=3600000 #1h
+   getTestParams
    install_pcm
    if [ ${test_name} == "packet_forward" ];then
       packetForward
@@ -162,7 +163,7 @@ elif [ ${test_type} == "daily" ];then
             sed -i '/host-setup1.sh/a\    \- \"enable-trace.sh\"' kvmfornfv_cyclictest_hostenv_guestenv.yaml
             #Executing cyclictest through yardstick.
             cyclictest ${env}
-            #disabling ftrace and collecting the logs to upload to artifact repository. 
+            #disabling ftrace and collecting the logs to upload to artifact repository.
             ftrace_disable
             sleep 5
          done