X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=ci%2FcyclicTestTrigger.sh;h=6241452a206d00aad9da9f88a008ed6eaa579af2;hb=f2e379228d244be691bee350da1cb3d820cb6dfb;hp=e00b367838db7ed2dd0f13f755fb870a039b05fe;hpb=1e8736aefffd6a42ed3700cb22a6a97c7468a02c;p=kvmfornfv.git diff --git a/ci/cyclicTestTrigger.sh b/ci/cyclicTestTrigger.sh index e00b36783..6241452a2 100755 --- a/ci/cyclicTestTrigger.sh +++ b/ci/cyclicTestTrigger.sh @@ -29,17 +29,18 @@ function verifyGuestImage { fi } -#Updating the pod.yaml file with HOST_IP,cyclictest-node-context.yaml with loops and interval +#Updating the pod.yaml file with HOST_IP,kvmfornfv_cyclictest_idle_idle.yaml with loops and interval function updateYaml { cd $WORKSPACE/tests/ sed -ri "s/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/${HOST_IP}/" pod.yaml - sed -ri "s/loops: [0-9]*/loops: ${testTime}/" cyclictest-node-context.yaml - sed -ri "s/interval: [0-9]*/interval: 1000/" cyclictest-node-context.yaml + sed -ri "s/loops: [0-9]*/loops: ${testTime}/" kvmfornfv_cyclictest_idle_idle.yaml + sed -ri "0,/interval: [0-9]*/s//interval: 1000/" kvmfornfv_cyclictest_idle_idle.yaml } #cleaning the environment after executing the test through yardstick. function env_clean { container_id=`sudo docker ps -a | grep kvmfornfv_${testType} |awk '{print \$1}'|sed -e 's/\r//g'` + sudo docker stop ${container_id} sudo docker rm ${container_id} sudo ssh root@${HOST_IP} "rm -rf /root/workspace/*" sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'qemu' | awk '{print \$2}' | head -1); echo \$pid |xargs kill" @@ -54,6 +55,17 @@ function host_clean { sudo ssh root@${HOST_IP} "reboot" } +function cleanup { + output=$1 + env_clean + host_clean + if [ $output != 0 ];then + echo "Yardstick Failed.Please check cyclictest.sh" + return 1 + else + return 0 + fi +} #Creating a docker image with yardstick installed and Verify the results of cyclictest function runCyclicTest { @@ -71,35 +83,33 @@ function runCyclicTest { #copying required files to run yardstick cyclic testcase mv $WORKSPACE/build_output/kernel-${KERNELRPM_VERSION}*.rpm ${volume}/rpm cp -r $WORKSPACE/ci/envs/* ${volume}/scripts - cp -r $WORKSPACE/tests/cyclictest-node-context.yaml ${volume} + cp -r $WORKSPACE/tests/kvmfornfv_cyclictest_idle_idle.yaml ${volume} cp -r $WORKSPACE/tests/pod.yaml ${volume}/scripts #Launching ubuntu docker container to run yardstick sudo docker run -i -v ${volume}:/opt --net=host --name kvmfornfv_${testType} \ - kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh" - output=$? + kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh $testType" + cyclictest_output=$? #Verifying the results of cyclictest - result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'` - if [ -z "${result}" ]; then - echo "####################################################" - echo "" - echo `grep -o '"data":[^}]*' ${volume}/yardstick.out | awk -F '{' '{print $2}'` - echo "" - echo "####################################################" - env_clean - host_clean - if [ $output != 0 ];then - echo "Some problem with Yardstick.Check cyclictest.sh" - return 1 + if [ "$testType" == "verify" ];then + result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'` + + if [ -z "${result}" ]; then + echo "####################################################" + echo "" + echo `grep -o '"data":[^}]*' ${volume}/yardstick.out | awk -F '{' '{print $2}'` + echo "" + echo "####################################################" + cleanup $cyclictest_output else - return 0 + echo "Testcase failed" + echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'` + env_clean + host_clean + return 1 fi else - echo "Testcase failed" - echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'` - env_clean - host_clean - return 1 + cleanup $cyclictest_output fi }