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/
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}'`
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
}
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
#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
#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
}
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
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
context:
type: Node
name: LF
- file: /opt/pod.yaml
+ file: /opt/scripts/pod.yaml