This patch includes updated scripts for modifying function names and
[kvmfornfv.git] / ci / test_kvmfornfv.sh
index 20bdaee..adf0aa3 100755 (executable)
@@ -29,7 +29,6 @@ function packetForward {
    else
       echo "Packet Forwarding test case executed SUCCESSFULLY"
    fi
-   host_clean
 }
 
 function cyclictest {
@@ -38,17 +37,24 @@ function cyclictest {
    #Verifying whether the test node is up and running
    connect_host
    #Waiting for ssh to be available for the host machine.
-   sleep 10
+   sleep 20
    #calculating and verifying sha512sum of the guestimage.
    if ! verifyGuestImage;then
       exit 1
    fi
    #Update kvmfornfv_cyclictest_${testName}.yaml with test_time and pod.yaml with IP
    updateYaml
-   #Cleaning up the test environment before running cyclictest through yardstick.
-   env_clean
    #Running PCM utility
    collect_MBWInfo $test_type
+   #Checking which test cases will be executed first and last from the list to perform cleaning operations.
+   first_test_case=cyclictest_env_$test_type[0]
+   last_test_case=cyclictest_env_$test_type[-1]
+   #Cleaning the environment before running cyclictest through yardstick
+   if [ ${test_case} == "${!first_test_case}" ];then
+      env_clean
+   else
+      sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'qemu' | awk '{print \$2}' | head -1); echo \$pid |xargs kill"
+   fi
    #Creating a docker image with yardstick installed and launching ubuntu docker to run yardstick cyclic testcase
    if runCyclicTest;then
       cyclictest_result=`expr ${cyclictest_result} + 0`
@@ -58,6 +64,9 @@ function cyclictest {
    fi
    echo "Terminating PCM Process"
    sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'pcm' | awk '{print \$2}' | head -1); echo \$pid |xargs kill -SIGTERM"
+   if [ ${test_case} != "${!last_test_case}" ];then
+      sudo ssh root@${HOST_IP} "reboot"
+   fi
 }
 function collect_MBWInfo {
    #Collecting the Memory Bandwidth Information using pcm-memory utility
@@ -124,14 +133,16 @@ if [ ${test_type} == "verify" ];then
          cyclictest ${env}
          sleep 10
       done
+      env_clean
+      host_clean
       #Execution of packet forwarding test cases.
       packetForward
    fi
       if [ ${cyclictest_result} -ne 0 ] ||  [ ${packetforward_result} -ne 0 ];then
          echo "Test case FAILED"
-         err_exit 1
+         test_exit 1
       else
-         err_exit 0
+         test_exit 0
       fi
 elif [ ${test_type} == "daily" ];then
    HOST_IP="10.10.100.22"
@@ -140,9 +151,9 @@ elif [ ${test_type} == "daily" ];then
    if [ ${test_name} == "packet_forward" ];then
       packetForward
       if [ ${packetforward_result} -ne 0 ] ; then
-         err_exit 1
+         test_exit 1
       else
-         err_exit 0
+         test_exit 0
       fi
    elif [ ${test_name} == "cyclictest" ];then
       if [ ${ftrace_enable} -eq '1' ]; then
@@ -163,13 +174,15 @@ elif [ ${test_type} == "daily" ];then
          cyclictest ${env}
          sleep 5
          done
+         env_clean
+         host_clean
       fi
          if [ ${cyclictest_result} -ne 0 ] ; then
             echo "Cyclictest case execution FAILED"
-            err_exit 1
+            test_exit 1
          else
             echo "Cyclictest case executed SUCCESSFULLY"
-            err_exit 0
+            test_exit 0
          fi
    fi
 elif [ ${test_type} == "merge" ];then