summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorkalyanreddy <reddyx.gundarapu@intel.com>2017-03-17 11:09:07 +0530
committerKalyan reddy Gundarapu <reddyx.gundarapu@intel.com>2017-03-17 07:07:11 +0000
commit96e7a4ce5a4d186ed8297af9fd4333c510f2b9a1 (patch)
treede5bffec1513886731413b51df6f8dc1c149344a /ci
parenta9df9f4fdafc08c33d1debd0e4999e58cdbf4b31 (diff)
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. Revert "Revert "This patch includes updated scripts for modifying"" This reverts commit 53bf71ea043426dd23319bd3bd011fd9a8ce0446 Note: This is only a temporary workaround. Will push the fix soon. Change-Id: I6f3ef551bd8fb0b2c53ea2b3f4ee4bcf45dcdc7a Co-Authored-By: RajithaY<rajithax.yerrumsetty@intel.com> Signed-off-by: Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
Diffstat (limited to 'ci')
-rwxr-xr-xci/cyclicTestTrigger.sh63
-rwxr-xr-xci/test_kvmfornfv.sh16
2 files changed, 27 insertions, 52 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
}
diff --git a/ci/test_kvmfornfv.sh b/ci/test_kvmfornfv.sh
index 11ea3a5ce..27419232e 100755
--- a/ci/test_kvmfornfv.sh
+++ b/ci/test_kvmfornfv.sh
@@ -60,15 +60,8 @@ function cyclictest {
updateYaml
#Running PCM utility
collect_MBWInfo $test_type
- #Checking which test cases will be executed first and last from the list to perform cleaning operations.
- first_test_case=cyclictest_env_$test_type[0]
- last_test_case=cyclictest_env_$test_type[-1]
#Cleaning the environment before running cyclictest through yardstick
- if [ ${test_case} == "${!first_test_case}" ];then
- env_clean
- else
- sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'qemu' | awk '{print \$2}' | head -1); echo \$pid |xargs kill"
- fi
+ env_clean
#Creating a docker image with yardstick installed and launching ubuntu docker to run yardstick cyclic testcase
if runCyclicTest;then
cyclictest_result=`expr ${cyclictest_result} + 0`
@@ -78,9 +71,6 @@ function cyclictest {
fi
echo "Terminating PCM Process"
sudo ssh root@${HOST_IP} "pid=\$(ps aux | grep 'pcm' | awk '{print \$2}' | head -1); echo \$pid |xargs kill -SIGTERM"
- if [ ${test_case} != "${!last_test_case}" ];then
- sudo ssh root@${HOST_IP} "reboot"
- fi
}
function collect_MBWInfo {
#Collecting the Memory Bandwidth Information using pcm-memory utility
@@ -147,8 +137,6 @@ if [ ${test_type} == "verify" ];then
cyclictest ${env}
sleep 10
done
- env_clean
- host_clean
#Execution of packet forwarding test cases.
packetForward
fi
@@ -194,8 +182,6 @@ elif [ ${test_type} == "daily" ];then
cyclictest ${env}
sleep 5
done
- env_clean
- host_clean
fi
if [ ${cyclictest_result} -ne 0 ] ; then
echo "Cyclictest case execution FAILED"