summaryrefslogtreecommitdiffstats
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
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."
-rwxr-xr-xci/cyclicTestTrigger.sh23
-rwxr-xr-xci/envs/cyclictest.sh7
-rwxr-xr-xci/envs/utils.sh8
-rwxr-xr-xci/test_kvmfornfv.sh14
-rw-r--r--tests/cyclictest-node-context.yaml2
5 files changed, 46 insertions, 8 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
diff --git a/tests/cyclictest-node-context.yaml b/tests/cyclictest-node-context.yaml
index 2dd74d937..3125cb7c1 100644
--- a/tests/cyclictest-node-context.yaml
+++ b/tests/cyclictest-node-context.yaml
@@ -47,4 +47,4 @@ scenarios:
context:
type: Node
name: LF
- file: /opt/pod.yaml
+ file: /opt/scripts/pod.yaml