Fix the wrong pod and job name of Daisy
[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     danube: &danube
18         stream: danube
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             <<: *danube
44         - virtual:
45             slave-label: fuel-virtual
46             installer: fuel
47             <<: *danube
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             <<: *danube
61         - virtual:
62             slave-label: joid-virtual
63             installer: joid
64             <<: *danube
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             <<: *danube
78         - virtual:
79             slave-label: compass-virtual
80             installer: compass
81             <<: *danube
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 #        - apex-verify-danube:
92 #            slave-label: '{pod}'
93 #            installer: apex
94 #            <<: *danube
95 #        - apex-daily-danube:
96 #            slave-label: '{pod}'
97 #            installer: apex
98 #            <<: *danube
99 # armband CI PODs
100         - armband-baremetal:
101             slave-label: armband-baremetal
102             installer: fuel
103             <<: *master
104         - armband-virtual:
105             slave-label: armband-virtual
106             installer: fuel
107             <<: *master
108         - armband-baremetal:
109             slave-label: armband-baremetal
110             installer: fuel
111             <<: *danube
112         - armband-virtual:
113             slave-label: armband-virtual
114             installer: fuel
115             <<: *danube
116 # daisy CI PODs
117         - baremetal:
118             slave-label: daisy-baremetal
119             installer: daisy
120             <<: *master
121         - virtual:
122             slave-label: daisy-virtual
123             installer: daisy
124             <<: *master
125 # netvirt 3rd party ci
126         - virtual:
127             slave-label: odl-netvirt-virtual
128             installer: netvirt
129             <<: *master
130 #--------------------------------
131 #        None-CI PODs
132 #--------------------------------
133         - orange-pod1:
134             slave-label: '{pod}'
135             installer: joid
136             <<: *master
137         - orange-pod5:
138             slave-label: '{pod}'
139             installer: fuel
140             <<: *master
141         - orange-pod2:
142             slave-label: '{pod}'
143             installer: joid
144             <<: *master
145         - baremetal-centos:
146             slave-label: 'intel-pod8'
147             installer: compass
148             <<: *master
149         - nokia-pod1:
150             slave-label: '{pod}'
151             installer: apex
152             <<: *master
153         - arm-pod2:
154             slave-label: '{pod}'
155             installer: fuel
156             <<: *master
157         - arm-pod3:
158             slave-label: '{pod}'
159             installer: fuel
160             <<: *master
161         - zte-pod1:
162             slave-label: '{pod}'
163             installer: fuel
164             <<: *master
165         - zte-pod1:
166             slave-label: '{pod}'
167             installer: fuel
168             <<: *danube
169         - zte-pod2:
170             slave-label: '{pod}'
171             installer: fuel
172             <<: *master
173         - zte-pod3:
174             slave-label: '{pod}'
175             installer: fuel
176             <<: *master
177         - zte-pod3:
178             slave-label: '{pod}'
179             installer: fuel
180             <<: *danube
181         - arm-pod2:
182             slave-label: '{pod}'
183             installer: fuel
184             <<: *danube
185         - arm-pod3:
186             slave-label: '{pod}'
187             installer: fuel
188             <<: *danube
189 # PODs for verify jobs triggered by each patch upload
190         - ool-virtual1:
191             slave-label: '{pod}'
192             installer: apex
193             <<: *master
194 #--------------------------------
195
196     testsuite:
197         - 'suite':
198             job-timeout: 60
199         - 'daily':
200             job-timeout: 180
201         - 'weekly':
202             job-timeout: 400
203
204     jobs:
205         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
206
207 ################################
208 # job template
209 ################################
210 - job-template:
211     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
212
213     concurrent: true
214
215     properties:
216         - logrotate-default
217         - throttle:
218             enabled: true
219             max-per-node: 1
220             option: 'project'
221
222     wrappers:
223         - build-name:
224             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
225         - timeout:
226             timeout: '{job-timeout}'
227             abort: true
228
229     parameters:
230         - project-parameter:
231             project: '{project}'
232             branch: '{branch}'
233         - '{installer}-defaults'
234         - '{slave-label}-defaults'
235         - 'functest-{testsuite}-parameter'
236         - string:
237             name: DEPLOY_SCENARIO
238             default: 'os-odl_l2-nofeature-ha'
239         - string:
240             name: DOCKER_TAG
241             default: '{docker-tag}'
242             description: 'Tag to pull docker image'
243         - string:
244             name: CLEAN_DOCKER_IMAGES
245             default: 'false'
246             description: 'Remove downloaded docker images (opnfv/functest*:*)'
247         - functest-parameter:
248             gs-pathname: '{gs-pathname}'
249
250     scm:
251         - git-scm
252
253     builders:
254         - description-setter:
255             description: "POD: $NODE_NAME"
256         - 'functest-{testsuite}-builder'
257
258 ########################
259 # parameter macros
260 ########################
261 - parameter:
262     name: functest-daily-parameter
263     parameters:
264         - string:
265             name: FUNCTEST_SUITE_NAME
266             default: 'daily'
267             description: "Daily suite name to run"
268 - parameter:
269     name: functest-weekly-parameter
270     parameters:
271         - string:
272             name: FUNCTEST_SUITE_NAME
273             default: 'weekly'
274             description: "Weekly suite name to run"
275 - parameter:
276     name: functest-suite-parameter
277     parameters:
278         - choice:
279             name: FUNCTEST_SUITE_NAME
280             choices:
281                 - 'healthcheck'
282                 - 'vping_userdata'
283                 - 'vping_ssh'
284                 - 'tempest_smoke_serial'
285                 - 'rally_sanity'
286                 - 'odl'
287                 - 'odl_netvirt'
288                 - 'onos'
289                 - 'promise'
290                 - 'doctor'
291                 - 'bgpvpn'
292                 - 'security_scan'
293                 - 'tempest_full_parallel'
294                 - 'rally_full'
295                 - 'vims'
296                 - 'multisite'
297                 - 'parser'
298         - string:
299             name: TESTCASE_OPTIONS
300             default: ''
301             description: 'Additional parameters specific to test case(s)'
302 - parameter:
303     name: functest-parameter
304     parameters:
305         - string:
306             name: GS_PATHNAME
307             default: '{gs-pathname}'
308             description: "Version directory where the opnfv documents will be stored in gs repository"
309         - string:
310             name: FUNCTEST_REPO_DIR
311             default: "/home/opnfv/repos/functest"
312             description: "Directory where the Functest repository is cloned"
313         - string:
314             name: PUSH_RESULTS_TO_DB
315             default: "true"
316             description: "Push the results of all the tests to the resultDB"
317         - string:
318             name: CI_DEBUG
319             default: 'false'
320             description: "Show debug output information"
321         - string:
322             name: RC_FILE_PATH
323             default: ''
324             description: "Path to the OS credentials file if given"
325 ########################
326 # trigger macros
327 ########################
328 - trigger:
329     name: 'functest-master'
330     triggers:
331         - pollscm:
332             cron: "H 9 * * *"
333 ########################
334 # builder macros
335 ########################
336 - builder:
337     name: functest-daily-builder
338     builders:
339         - 'functest-cleanup'
340         - 'set-functest-env'
341         - 'functest-daily'
342         - 'functest-store-results'
343         - 'functest-exit'
344
345 - builder:
346     name: functest-weekly-builder
347     builders:
348         - 'functest-cleanup'
349         - 'set-functest-env'
350         - 'functest-weekly'
351         - 'functest-store-results'
352         - 'functest-exit'
353
354 - builder:
355     name: functest-suite-builder
356     builders:
357         - 'functest-cleanup'
358         - 'set-functest-env'
359         - 'functest-suite'
360
361 - builder:
362     name: functest-daily
363     builders:
364         - shell:
365             !include-raw: ./functest-loop.sh
366
367 - builder:
368     name: functest-weekly
369     builders:
370         - shell:
371             !include-raw: ./functest-loop.sh
372
373 - builder:
374     name: functest-suite
375     builders:
376         - shell:
377             !include-raw: ./functest-suite.sh
378
379 - builder:
380     name: set-functest-env
381     builders:
382         - shell:
383             !include-raw: ./set-functest-env.sh
384
385 - builder:
386     name: functest-store-results
387     builders:
388         - shell:
389             !include-raw: ../../utils/push-test-logs.sh
390
391 - builder:
392     name: functest-cleanup
393     builders:
394         - shell:
395             !include-raw: ./functest-cleanup.sh
396
397 - builder:
398     name: functest-exit
399     builders:
400         - shell:
401             !include-raw: ./functest-exit.sh