summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorJiang, Yunhong <yunhong.jiang@intel.com>2016-09-21 23:09:58 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-09-21 23:09:58 +0000
commit1e8736aefffd6a42ed3700cb22a6a97c7468a02c (patch)
tree655f33172b35ab80000084012462bb79e9f03568 /ci
parent8647dbbe9db84d71610f42cec6ff619783d99800 (diff)
parent40a5f2a48ab343bf24a69af2b1b8bcd09798be3c (diff)
Merge "This patch includes scripts to verify the sha512sum of the guest image. Also contains scripts to exit the test if the test_type is not verify/daily/merge."
Diffstat (limited to 'ci')
-rwxr-xr-xci/cyclicTestTrigger.sh23
-rwxr-xr-xci/envs/cyclictest.sh7
-rwxr-xr-xci/envs/utils.sh8
-rwxr-xr-xci/test_kvmfornfv.sh14
4 files changed, 45 insertions, 7 deletions
diff --git a/ci/cyclicTestTrigger.sh b/ci/cyclicTestTrigger.sh
index bd6e29038..e00b36783 100755
--- a/ci/cyclicTestTrigger.sh
+++ b/ci/cyclicTestTrigger.sh
@@ -19,6 +19,16 @@ if [ -z ${KERNELRPM_VERSION} ];then
exit 1
fi
+#calculating and verifying sha512sum of the guestimage.
+function verifyGuestImage {
+ scp $WORKSPACE/build_output/guest1.sha512 root@${HOST_IP}:/root/images
+ checksum=$(sudo ssh root@${HOST_IP} "cd /root/images/ && sha512sum -c guest1.sha512 | awk '{print \$2}'")
+ if [ "$checksum" != "OK" ]; then
+ echo "Something wrong with the image, please verify"
+ return 1
+ fi
+}
+
#Updating the pod.yaml file with HOST_IP,cyclictest-node-context.yaml with loops and interval
function updateYaml {
cd $WORKSPACE/tests/
@@ -62,12 +72,12 @@ function runCyclicTest {
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/pod.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=$?
#Verifying the results of cyclictest
result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
@@ -79,12 +89,17 @@ function runCyclicTest {
echo "####################################################"
env_clean
host_clean
- exit 0
+ if [ $output != 0 ];then
+ echo "Some problem with Yardstick.Check cyclictest.sh"
+ return 1
+ else
+ return 0
+ fi
else
echo "Testcase failed"
echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
env_clean
host_clean
- exit 1
+ return 1
fi
}
diff --git a/ci/envs/cyclictest.sh b/ci/envs/cyclictest.sh
index 747f34758..4c5440d71 100755
--- a/ci/envs/cyclictest.sh
+++ b/ci/envs/cyclictest.sh
@@ -7,7 +7,7 @@
source utils.sh
HOST_IP=$( getHostIP )
-pod_config='/opt/pod.yaml'
+pod_config='/opt/scripts/pod.yaml'
cyclictest_context_file='/opt/cyclictest-node-context.yaml'
if [ ! -f ${pod_config} ] ; then
@@ -25,5 +25,10 @@ sudo ssh root@$HOST_IP "cp /root/images/guest1.qcow2 /root/"
#Running cyclictest through yardstick
yardstick -d task start ${cyclictest_context_file}
+output=$?
chmod 777 /tmp/yardstick.out
cat /tmp/yardstick.out > /opt/yardstick.out
+if [ $output != 0 ];then
+ echo "Someproblem with execution of Yardstick"
+ exit 1
+fi
diff --git a/ci/envs/utils.sh b/ci/envs/utils.sh
index f582b5aac..5db55bef8 100755
--- a/ci/envs/utils.sh
+++ b/ci/envs/utils.sh
@@ -18,6 +18,12 @@ function getKernelVersion {
#Get the IP address from pod.yaml file (example ip : 10.2.117.23)
function getHostIP {
- HOST_IP=`grep 'ip' $WORKSPACE/tests/pod.yaml | awk -F ': ' '{print $NF}' | tail -1`
+ host_dir="/root/workspace/scripts/"
+ container_dir="/opt/scripts/"
+ if [ -d "$container_dir" ];then
+ HOST_IP=`grep 'ip' $container_dir/pod.yaml | awk -F ': ' '{print $NF}' | tail -1`
+ elif [ -d "$host_dir" ];then
+ HOST_IP=`grep 'ip' $host_dir/pod.yaml | awk -F ': ' '{print $NF}' | tail -1`
+ fi
echo $HOST_IP
}
diff --git a/ci/test_kvmfornfv.sh b/ci/test_kvmfornfv.sh
index 858aaf394..c739e807e 100755
--- a/ci/test_kvmfornfv.sh
+++ b/ci/test_kvmfornfv.sh
@@ -19,10 +19,18 @@ elif [ ${test_type} == "daily" ];then
elif [ ${test_type} == "merge" ];then
echo "Test is not enabled for ${test_type}"
exit 0
+else
+ echo "Incorrect test type ${test_type}"
+ exit 1
fi
source $WORKSPACE/ci/cyclicTestTrigger.sh $HOST_IP $test_time $test_type
+#calculating and verifying sha512sum of the guestimage.
+if ! verifyGuestImage;then
+ exit 1
+fi
+
#Update cyclictest-node-context.yaml with test_time and pod.yaml with IP
updateYaml
@@ -30,4 +38,8 @@ updateYaml
env_clean
#Creating a docker image with yardstick installed and launching ubuntu docker to run yardstick cyclic testcase
-runCyclicTest
+if runCyclicTest;then
+ exit 0
+else
+ exit 1
+fi