Add zte-pod2 CI jobs
[releng.git] / jjb / functest / functest-ci-jobs.yml
1 ###################################
2 # job configuration for functest
3 ###################################
4 - project:
5     name: functest
6
7     project: '{name}'
8
9 #--------------------------------
10 # BRANCH ANCHORS
11 #--------------------------------
12     master: &master
13         stream: master
14         branch: '{stream}'
15         gs-pathname: ''
16         docker-tag: 'latest'
17     brahmaputra: &brahmaputra
18         stream: brahmaputra
19         branch: 'stable/{stream}'
20         gs-pathname: '/{stream}'
21         docker-tag: 'stable'
22 #--------------------------------
23 # POD, INSTALLER, AND BRANCH MAPPING
24 #--------------------------------
25 #    Installers using labels
26 #            CI PODs
27 # This section should only contain the installers
28 # that have been switched using labels for slaves
29 #--------------------------------
30     pod:
31 # fuel CI PODs
32         - baremetal:
33             slave-label: fuel-baremetal
34             installer: fuel
35             <<: *master
36         - virtual:
37             slave-label: fuel-virtual
38             installer: fuel
39             <<: *master
40         - baremetal:
41             slave-label: fuel-baremetal
42             installer: fuel
43             <<: *brahmaputra
44         - virtual:
45             slave-label: fuel-virtual
46             installer: fuel
47             <<: *brahmaputra
48 # joid CI PODs
49         - baremetal:
50             slave-label: joid-baremetal
51             installer: joid
52             <<: *master
53         - virtual:
54             slave-label: joid-virtual
55             installer: joid
56             <<: *master
57         - baremetal:
58             slave-label: joid-baremetal
59             installer: joid
60             <<: *brahmaputra
61         - virtual:
62             slave-label: joid-virtual
63             installer: joid
64             <<: *brahmaputra
65 # compass CI PODs
66         - baremetal:
67             slave-label: compass-baremetal
68             installer: compass
69             <<: *master
70         - virtual:
71             slave-label: compass-virtual
72             installer: compass
73             <<: *master
74         - baremetal:
75             slave-label: compass-baremetal
76             installer: compass
77             <<: *brahmaputra
78         - virtual:
79             slave-label: compass-virtual
80             installer: compass
81             <<: *brahmaputra
82 # apex CI PODs
83         - apex-verify-master:
84             slave-label: '{pod}'
85             installer: apex
86             <<: *master
87         - apex-daily-master:
88             slave-label: '{pod}'
89             installer: apex
90             <<: *master
91 #--------------------------------
92 #        None-CI PODs
93 #--------------------------------
94         - orange-pod2:
95             slave-label: '{pod}'
96             installer: joid
97             <<: *brahmaputra
98         - orange-pod5:
99             slave-label: '{pod}'
100             installer: fuel
101             <<: *master
102         - orange-pod2:
103             slave-label: '{pod}'
104             installer: joid
105             <<: *master
106         - huawei-pod2:
107             slave-label: '{pod}'
108             installer: compass
109             <<: *master
110         - nokia-pod1:
111             slave-label: '{pod}'
112             installer: apex
113             <<: *master
114         - arm-pod1:
115             slave-label: '{pod}'
116             installer: fuel
117             <<: *master
118         - zte-pod1:
119             slave-label: '{pod}'
120             installer: fuel
121             <<: *master
122         - zte-pod2:
123             slave-label: '{pod}'
124             installer: fuel
125             <<: *master
126         - zte-pod3:
127             slave-label: '{pod}'
128             installer: fuel
129             <<: *master
130         - arm-pod1:
131             slave-label: '{pod}'
132             installer: fuel
133             <<: *brahmaputra
134 #--------------------------------
135
136     testsuite:
137         - 'suite':
138             job-timeout: 60
139         - 'daily':
140             job-timeout: 180
141         - 'weekly':
142             job-timeout: 400
143
144     jobs:
145         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
146
147 ################################
148 # job template
149 ################################
150 - job-template:
151     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
152
153     concurrent: true
154
155     properties:
156         - throttle:
157             enabled: true
158             max-per-node: 1
159             option: 'project'
160
161     wrappers:
162         - build-name:
163             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
164         - timeout:
165             timeout: '{job-timeout}'
166             abort: true
167
168     parameters:
169         - project-parameter:
170             project: '{project}'
171         - '{slave-label}-defaults'
172         - '{installer}-defaults'
173         - 'functest-{testsuite}-parameter'
174         - string:
175             name: DEPLOY_SCENARIO
176             default: 'os-odl_l2-nofeature-ha'
177         - string:
178             name: DOCKER_TAG
179             default: '{docker-tag}'
180             description: 'Tag to pull docker image'
181         - functest-parameter:
182             gs-pathname: '{gs-pathname}'
183
184     scm:
185         - git-scm:
186             credentials-id: '{ssh-credentials}'
187             refspec: ''
188             branch: '{branch}'
189
190     builders:
191         - description-setter:
192             description: "POD: $NODE_NAME"
193         - 'functest-{testsuite}-builder'
194
195 ########################
196 # parameter macros
197 ########################
198 - parameter:
199     name: functest-daily-parameter
200     parameters:
201         - string:
202             name: FUNCTEST_SUITE_NAME
203             default: 'daily'
204             description: "Daily suite name to run"
205 - parameter:
206     name: functest-weekly-parameter
207     parameters:
208         - string:
209             name: FUNCTEST_SUITE_NAME
210             default: 'weekly'
211             description: "Weekly suite name to run"
212 - parameter:
213     name: functest-suite-parameter
214     parameters:
215         - choice:
216             name: FUNCTEST_SUITE_NAME
217             choices:
218                 - 'healthcheck'
219                 - 'vping_userdata'
220                 - 'vping_ssh'
221                 - 'tempest_smoke_serial'
222                 - 'rally_sanity'
223                 - 'odl'
224                 - 'onos'
225                 - 'promise'
226                 - 'doctor'
227                 - 'bgpvpn'
228                 - 'security_scan'
229                 - 'tempest_full_parallel'
230                 - 'rally_full'
231                 - 'vims'
232                 - 'multisite'
233                 - 'parser'
234 - parameter:
235     name: functest-parameter
236     parameters:
237         - string:
238             name: GS_PATHNAME
239             default: '{gs-pathname}'
240             description: "Version directory where the opnfv documents will be stored in gs repository"
241         - string:
242             name: FUNCTEST_REPO_DIR
243             default: "/home/opnfv/repos/functest"
244             description: "Directory where the Functest repository is cloned"
245         - string:
246             name: PUSH_RESULTS_TO_DB
247             default: "true"
248             description: "Push the results of all the tests to the resultDB"
249         - string:
250             name: CI_DEBUG
251             default: 'false'
252             description: "Show debug output information"
253 ########################
254 # trigger macros
255 ########################
256 - trigger:
257     name: 'functest-master'
258     triggers:
259         - pollscm:
260             cron: "H 9 * * *"
261 ########################
262 # builder macros
263 ########################
264 - builder:
265     name: functest-daily-builder
266     builders:
267         - 'functest-cleanup'
268         - 'set-functest-env'
269         - 'functest-daily'
270         - 'functest-store-results'
271
272 - builder:
273     name: functest-weekly-builder
274     builders:
275         - 'functest-cleanup'
276         - 'set-functest-env'
277         - 'functest-weekly'
278         - 'functest-store-results'
279
280 - builder:
281     name: functest-suite-builder
282     builders:
283         - 'functest-cleanup'
284         - 'set-functest-env'
285         - 'functest-suite'
286
287 - builder:
288     name: functest-daily
289     builders:
290         - shell:
291             !include-raw: ./functest-loop.sh
292
293 - builder:
294     name: functest-weekly
295     builders:
296         - shell:
297             !include-raw: ./functest-loop.sh
298
299 - builder:
300     name: functest-suite
301     builders:
302         - shell:
303             !include-raw: ./functest-suite.sh
304
305 - builder:
306     name: set-functest-env
307     builders:
308         - shell:
309             !include-raw: ./set-functest-env.sh
310
311 - builder:
312     name: functest-store-results
313     builders:
314         - shell:
315             !include-raw: ../../utils/push-test-logs.sh
316
317 - builder:
318     name: functest-cleanup
319     builders:
320         - shell:
321             !include-raw: ./functest-cleanup.sh