summaryrefslogtreecommitdiffstats
path: root/ci/test_kvmfornfv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ci/test_kvmfornfv.sh')
-rwxr-xr-xci/test_kvmfornfv.sh83
1 files changed, 60 insertions, 23 deletions
diff --git a/ci/test_kvmfornfv.sh b/ci/test_kvmfornfv.sh
index a2cee1f95..e87d6eb40 100755
--- a/ci/test_kvmfornfv.sh
+++ b/ci/test_kvmfornfv.sh
@@ -13,10 +13,12 @@
test_type=$1
test_name=$2
+ftrace_enable=0
cyclictest_env_verify=("idle_idle" "cpustress_idle" "memorystress_idle" "iostress_idle") #cyclictest environment
cyclictest_env_daily=("idle_idle" "cpustress_idle" "memorystress_idle" "iostress_idle")
cyclictest_result=0 #exit code of cyclictest
packetforward_result=0 #exit code of packet forward
+source $WORKSPACE/ci/envs/host-config
function packetForward {
# source $WORKSPACE/ci/packet_forward_test.sh $HOST_IP
@@ -50,48 +52,83 @@ function cyclictest {
fi
}
+function ftrace_disable {
+ sudo ssh root@${HOST_IP} "sh /root/workspace/scripts/disbale-trace.sh"
+ sudo ssh root@${HOST_IP} "cd /tmp ; a=\$(ls -rt | tail -1) ; echo \$a ; mv \$a cyclictest_${env}.txt"
+ sudo mkdir -p $WORKSPACE/build_output/log/kernel_trace
+ sudo scp root@${HOST_IP}:/tmp/cyclictest_${env}.txt $WORKSPACE/build_output/log/kernel_trace/
+}
+
#Execution of testcases based on test type and test name from releng.
if [ ${test_type} == "verify" ];then
HOST_IP="10.10.100.21"
test_time=120000 # 2m
- for env in ${cyclictest_env_verify[@]}
- do
- #Executing cyclictest through yardstick.
- cyclictest ${env}
- sleep 10
- done
- #Execution of packet forwarding test cases.
- packetForward
- if [ ${cyclictest_result} -ne 0 ] || [ ${packetforward_result} -ne 0 ];then
- echo "Test case FAILED"
- exit 1
+ if [ ${ftrace_enable} -eq '1' ]; then
+ for env in ${cyclictest_env_verify[@]}
+ do
+ #Enabling ftrace for kernel debugging.
+ sed -i '/host-setup1.sh/a\ \- \"enable-trace.sh\"' kvmfornfv_cyclictest_hostenv_guestenv.yaml
+ #Executing cyclictest through yardstick.
+ cyclictest ${env}
+ #disabling ftrace and collecting the logs to upload to artifact repository.
+ ftrace_disable
+ sleep 10
+ done
+ #Execution of packet forwarding test cases.
+ packetForward
else
- exit 0
+ for env in ${cyclictest_env_verify[@]}
+ do
+ #Executing cyclictest through yardstick.
+ cyclictest ${env}
+ sleep 10
+ done
+ #Execution of packet forwarding test cases.
+ packetForward
fi
+ if [ ${cyclictest_result} -ne 0 ] || [ ${packetforward_result} -ne 0 ];then
+ echo "Test case FAILED"
+ err_exit 1
+ else
+ err_exit 0
+ fi
elif [ ${test_type} == "daily" ];then
HOST_IP="10.10.100.22"
test_time=3600000 #1h
if [ ${test_name} == "packet_forward" ];then
packetForward
if [ ${packetforward_result} -ne 0 ] ; then
- exit 1
+ err_exit 1
else
- exit 0
+ err_exit 0
fi
elif [ ${test_name} == "cyclictest" ];then
- for env in ${cyclictest_env_daily[@]}
- do
+ if [ ${ftrace_enable} -eq '1' ]; then
+ for env in ${cyclictest_env_daily[@]}
+ do
+ #Enabling ftrace for kernel debugging.
+ sed -i '/host-setup1.sh/a\ \- \"enable-trace.sh\"' kvmfornfv_cyclictest_hostenv_guestenv.yaml
+ #Executing cyclictest through yardstick.
+ cyclictest ${env}
+ #disabling ftrace and collecting the logs to upload to artifact repository.
+ ftrace_disable
+ sleep 5
+ done
+ else
+ for env in ${cyclictest_env_daily[@]}
+ do
#Executing cyclictest through yardstick.
cyclictest ${env}
sleep 5
- done
- if [ ${cyclictest_result} -ne 0 ] ; then
- echo "Cyclictest case execution FAILED"
- exit 1
- else
- echo "Cyclictest case executed SUCCESSFULLY"
- exit 0
+ done
fi
+ if [ ${cyclictest_result} -ne 0 ] ; then
+ echo "Cyclictest case execution FAILED"
+ err_exit 1
+ else
+ echo "Cyclictest case executed SUCCESSFULLY"
+ err_exit 0
+ fi
fi
elif [ ${test_type} == "merge" ];then
echo "Test is not enabled for ${test_type}"