diff options
author | shravani <shravani.p@tcs.com> | 2016-09-13 15:23:09 +0530 |
---|---|---|
committer | shravani <shravani.p@tcs.com> | 2016-09-13 15:45:36 +0530 |
commit | b8f6485d5a5c66f0fce566e59b8b5891c6a7f571 (patch) | |
tree | c656ae6a20273c6c6a9e080f894e89043ab2e44d /ci/test_kvmfornfv.sh | |
parent | 7209c685c8bea4ed6cc2f388ef0a65f1fac5b3ed (diff) |
Execution of kvm4nfv cyclictest based on job type.
This patch contains the updated test scripts which
will select the node and test run time for performing
cyclictest case based on the job type.
Change-Id: Ia54e98faac2f5da956688f1ca57664cea1151d84
Signed-off-by: Shravani <shravani.p@tcs.com>
Diffstat (limited to 'ci/test_kvmfornfv.sh')
-rwxr-xr-x | ci/test_kvmfornfv.sh | 91 |
1 files changed, 22 insertions, 69 deletions
diff --git a/ci/test_kvmfornfv.sh b/ci/test_kvmfornfv.sh index fd29f6d43..858aaf394 100755 --- a/ci/test_kvmfornfv.sh +++ b/ci/test_kvmfornfv.sh @@ -1,80 +1,33 @@ #!/bin/bash -############################################################# -## This script will launch ubuntu docker container -## runs cyclictest through yardstick -## and verifies the test results. +############################################################ +## This script is an interface to trigger the +## cyclicTestTrigger.sh for test type like patch verification, +## daily testing. +## Releng will trigger this script by passing test type like +## verify/daily as an argument ############################################################ -source $WORKSPACE/ci/envs/utils.sh -HOST_IP=$( getHostIP ) -KERNEL_VERSION=$( getKernelVersion ) -if [ -z $KERNEL_VERSION ];then - echo "Kernel RPM not found in $WORKSPACE/build_output Directory" - exit 1 +test_type=$1 + +if [ ${test_type} == "verify" ];then + HOST_IP="10.2.117.23" + test_time=600000 # 10m +elif [ ${test_type} == "daily" ];then + HOST_IP="10.2.117.25" + test_time=7200000 #2h +elif [ ${test_type} == "merge" ];then + echo "Test is not enabled for ${test_type}" + exit 0 fi -docker_image_dir=$WORKSPACE/docker_image_build -function env_clean { - container_id=`sudo docker ps -a | grep kvmfornfv |awk '{print $1}'|sed -e 's/\r//g'` - 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" - sudo rm -rf /tmp/kvmtest-* -} +source $WORKSPACE/ci/cyclicTestTrigger.sh $HOST_IP $test_time $test_type -function host_clean { - sudo ssh root@$HOST_IP "rpm=\$(rpm -qa | grep 'kernel-${KERNEL_VERSION}' | awk '{print \$1}'); rpm -ev \$rpm" - sudo ssh root@$HOST_IP "rm -rf /boot/initramfs-${KERNEL_VERSION}*.img" - sudo ssh root@$HOST_IP "grub2-mkconfig -o /boot/grub2/grub.cfg" - sudo ssh root@$HOST_IP "reboot" -} +#Update cyclictest-node-context.yaml with test_time and pod.yaml with IP +updateYaml #Cleaning up the test environment before running cyclictest through yardstick. env_clean -#Creating a docker image with yardstick installed. -( cd ${docker_image_dir}; sudo docker build -t kvmfornfv:latest --no-cache=true . ) -if [ ${?} -ne 0 ] ; then - echo "Docker image build failed" - id=$(sudo docker ps -a | head -2 | tail -1 | awk '{print $1}'); sudo docker rm -f $id - exit 1 -fi - -time_stamp=$(date +%Y%m%d%H%M%S) -volume=/tmp/kvmtest-${time_stamp} -mkdir -p $volume/{image,rpm,scripts} - -#copying required files to run yardstick cyclic testcase -mv $WORKSPACE/build_output/kernel-${KERNEL_VERSION}*.rpm $volume/rpm -cp -r $WORKSPACE/ci/envs/* $volume/scripts -cp -r $WORKSPACE/tests/cyclictest-node-context.yaml $volume -cp -r $WORKSPACE/tests/pod.yaml $volume - -#Launching ubuntu docker container to run yardstick -sudo docker run -i -v $volume:/opt --net=host --name kvmfornfv \ -kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh" - -#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 "####################################################" - #cleaning the environment after executing the test through yardstick. - env_clean - #Cleaning the latest kernel changes on host after executing the test. - host_clean - exit 0 -else - echo "Testcase failed" - echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'` - #cleaning the environment after executing the test through yardstick. - env_clean - #Cleaning the latest kernel changes on host after executing the test. - host_clean - exit 1 -fi +#Creating a docker image with yardstick installed and launching ubuntu docker to run yardstick cyclic testcase +runCyclicTest |