summaryrefslogtreecommitdiffstats
path: root/ci/cyclicTestTrigger.sh
diff options
context:
space:
mode:
authorJiang, Yunhong <yunhong.jiang@intel.com>2017-03-17 19:48:33 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-03-17 19:48:34 +0000
commitd946629e1c1851dd12fd2f2664e9a12fc1b6c9bc (patch)
tree278e0b956585ca57b074ffd6ca39624502be3dbe /ci/cyclicTestTrigger.sh
parentcce751aaf6856787ad417d027894d9b768f67165 (diff)
parent96e7a4ce5a4d186ed8297af9fd4333c510f2b9a1 (diff)
Merge "This patch includes updated scripts to use different docker containers for each test case and perform necessary clean up operations after execution of test cases."
Diffstat (limited to 'ci/cyclicTestTrigger.sh')
-rwxr-xr-xci/cyclicTestTrigger.sh63
1 files changed, 26 insertions, 37 deletions
diff --git a/ci/cyclicTestTrigger.sh b/ci/cyclicTestTrigger.sh
index 12b2a66de..7a0c2a49b 100755
--- a/ci/cyclicTestTrigger.sh
+++ b/ci/cyclicTestTrigger.sh
@@ -76,27 +76,21 @@ function updateYaml {
;;
cpustress_idle)
sed -i '/host-run-qemu.sh/a\ \- \"stress_daily.sh cpu\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
memorystress_idle)
sed -i '/host-run-qemu.sh/a\ \- \"stress_daily.sh memory\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
iostress_idle)
sed -i '/host-run-qemu.sh/a\ \- \"stress_daily.sh io\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
idle_cpustress)
sed -i '/guest-setup1.sh/a\ \- \"stress_daily.sh cpu\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
idle_memorystress)
sed -i '/guest-setup1.sh/a\ \- \"stress_daily.sh memory\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
idle_iostress)
sed -i '/guest-setup1.sh/a\ \- \"stress_daily.sh io\"' kvmfornfv_cyclictest_${testName}.yaml
- sed -i '/host-setup0.sh/,/host-setup1.sh/ d' kvmfornfv_cyclictest_${testName}.yaml
;;
*)
echo "Incorrect test environment: $testName"
@@ -164,36 +158,27 @@ function runPacketForwarding {
#Creating a docker image with yardstick installed and Verify the results of cyclictest
function runCyclicTest {
- container_id=`sudo docker ps -a | grep kvmfornfv_${testType} |awk '{print \$1}'|sed -e 's/\r//g'`
- echo "$container_id"
- if [ -z "$container_id" ]; then
- docker_image_dir=$WORKSPACE/docker_image_build
- ( 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-${testType}-${time_stamp}
- mkdir -p $volume/{image,rpm,scripts}
- #copying required files to run yardstick cyclic testcase
- cp $WORKSPACE/build_output/kernel-${KERNELRPM_VERSION}*.rpm ${volume}/rpm
- cp $WORKSPACE/build_output/qemu-${QEMURPM_VERSION}*.rpm ${volume}/rpm
- cp -r $WORKSPACE/ci/envs/* ${volume}/scripts
- cp -r $WORKSPACE/tests/kvmfornfv_cyclictest_${testName}.yaml ${volume}
- cp -r $WORKSPACE/tests/pod.yaml ${volume}/scripts
- #Launching ubuntu docker container to run yardstick
- container_id=`sudo docker run -i -d -v ${volume}:/opt --net=host --name kvmfornfv_${testType} \
- kvmfornfv:latest`
- sudo docker exec -i $container_id /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh $testType $testName"
- cyclictest_output=$?
- else
- cp -r $WORKSPACE/tests/kvmfornfv_cyclictest_${testName}.yaml ${volume}
- sudo docker exec -i $container_id /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh $testType $testName"
- cyclictest_output=$?
+ docker_image_dir=$WORKSPACE/docker_image_build
+ ( 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-${testType}-${time_stamp}
+ mkdir -p $volume/{image,rpm,scripts}
+ #copying required files to run yardstick cyclic testcase
+ cp $WORKSPACE/build_output/kernel-${KERNELRPM_VERSION}*.rpm ${volume}/rpm
+ cp $WORKSPACE/build_output/qemu-${QEMURPM_VERSION}*.rpm ${volume}/rpm
+ cp -r $WORKSPACE/ci/envs/* ${volume}/scripts
+ cp -r $WORKSPACE/tests/kvmfornfv_cyclictest_${testName}.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}_${testName} \
+ kvmfornfv:latest /bin/bash -c "cd /opt/scripts && ls; ./cyclictest.sh $testType $testName"
+ cyclictest_output=$?
if [ "$testName" == "iostress_idle" ];then
copyLogs
fi
@@ -202,17 +187,21 @@ function runCyclicTest {
if [ "$testType" == "verify" ];then
result=`grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
- if [ -z "${result}" ] && [ "${cyclictest_output}" == 0 ]; then
+ if [ -z "${result}" ]; then
echo "####################################################"
echo " "
echo `grep -o '"data":[^}]*' ${volume}/yardstick.out | awk -F '{' '{print $2}'`
echo ""
echo "####################################################"
- return 0
+ cleanup $cyclictest_output
else
echo "Testcase failed"
echo `grep -o '"errors":[^,]*' ${volume}/yardstick.out | awk -F '"' '{print $4}'`
+ env_clean
+ host_clean
return 1
fi
+ else
+ cleanup $cyclictest_output
fi
}