blob: f33cb982510f69ccb08aa785b3e8f0c608846eae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#!/bin/bash
############################################################
## This script is an interface to trigger the
## cyclicTestTrigger.sh for test type like patch verification,
## daily testing.
## Releng will trigger this script by passing test type as
## verify/daily and test name as idle_idle/stress_idle/
## packet_forward as arguments.
## Verify Job runs idle_idle,packet_forward test
## daily job runs base on the test name parameter
############################################################
test_type=$1
test_name=$2
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
function packetForward {
# source $WORKSPACE/ci/packet_forward_test.sh $HOST_IP
echo "Packetforwarding need to be implemented"
packetforward_result=$?
if [ ${packetforward_result} -ne 0 ];then
echo "Packet Forwarding test case execution FAILED"
else
echo "Packet Forwarding test case executed SUCCESSFULLY"
fi
host_clean
}
function cyclictest {
test_case=$1
source $WORKSPACE/ci/cyclicTestTrigger.sh $HOST_IP $test_time $test_type $test_case
#calculating and verifying sha512sum of the guestimage.
if ! verifyGuestImage;then
exit 1
fi
#Update kvmfornfv_cyclictest_${testName}.yaml with test_time and pod.yaml with IP
updateYaml
#Cleaning up the test environment before running cyclictest through yardstick.
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`
else
echo "Test case execution FAILED for ${test_case} environment"
cyclictest_result=`expr ${cyclictest_result} + 1`
fi
}
#Execution of testcases based on test type and test name from releng.
if [ ${test_type} == "verify" ];then
HOST_IP="10.2.117.23"
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
else
exit 0
fi
elif [ ${test_type} == "daily" ];then
HOST_IP="10.2.117.25"
test_time=3600000 #1h
if [ ${test_name} == "packet_forward" ];then
packetForward
if [ ${packetforward_result} -ne 0 ] ; then
exit 1
else
exit 0
fi
elif [ ${test_name} == "cyclictest" ];then
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
fi
fi
elif [ ${test_type} == "merge" ];then
echo "Test is not enabled for ${test_type}"
exit 0
else
echo "Incorrect test type ${test_type}"
fi
|