From be208cb48be4f4db438ce27be15e1f6166c26910 Mon Sep 17 00:00:00 2001 From: kalyanreddy Date: Thu, 5 Jan 2017 12:08:27 +0530 Subject: Enabling ftrace for kernel debugging. This patch contains updated scripts to enable ftrace for kernel debugging and storing the log files to artifact repository. Change-Id: I81b8f987c2c214ca53a6e4502ad953a9adbc6be9 Signed-off-by: Gundarapu Kalyan Reddy --- ci/test_kvmfornfv.sh | 83 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 23 deletions(-) (limited to 'ci/test_kvmfornfv.sh') 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}" -- cgit 1.2.3-korg