summaryrefslogtreecommitdiffstats
path: root/ci/test_kvmfornfv.sh
diff options
context:
space:
mode:
authorshravani <shravani.p@tcs.com>2016-09-13 15:23:09 +0530
committershravani <shravani.p@tcs.com>2016-09-13 15:45:36 +0530
commitb8f6485d5a5c66f0fce566e59b8b5891c6a7f571 (patch)
treec656ae6a20273c6c6a9e080f894e89043ab2e44d /ci/test_kvmfornfv.sh
parent7209c685c8bea4ed6cc2f388ef0a65f1fac5b3ed (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-xci/test_kvmfornfv.sh91
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