b1d7e748dda00ea8444bd3addc8174b4a8613f8a
[releng.git] / jjb / functest / functest-daily-jobs.yml
1 ###################################
2 # job configuration for functest
3 ###################################
4 - project:
5     name: functest-daily
6
7     project: functest
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         - virtual:
84             slave-label: apex-virtual-master
85             installer: apex
86             <<: *master
87         - baremetal:
88             slave-label: apex-baremetal-master
89             installer: apex
90             <<: *master
91         - virtual:
92             slave-label: apex-virtual-danube
93             installer: apex
94             <<: *danube
95         - baremetal:
96             slave-label: apex-baremetal-danube
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         - zte-pod1:
154             slave-label: '{pod}'
155             installer: fuel
156             <<: *master
157         - zte-pod1:
158             slave-label: '{pod}'
159             installer: fuel
160             <<: *danube
161         - zte-pod2:
162             slave-label: '{pod}'
163             installer: fuel
164             <<: *master
165         - zte-pod3:
166             slave-label: '{pod}'
167             installer: fuel
168             <<: *master
169         - zte-pod3:
170             slave-label: '{pod}'
171             installer: fuel
172             <<: *danube
173 # PODs for verify jobs triggered by each patch upload
174 #        - ool-virtual1:
175 #            slave-label: '{pod}'
176 #            installer: apex
177 #            <<: *master
178 #--------------------------------
179
180     alpine-pod:
181         - ericsson-virtual-pod1bl01:
182             slave-label: '{alpine-pod}'
183             installer: fuel
184             <<: *master
185         - huawei-virtual5:
186             slave-label: '{alpine-pod}'
187             installer: compass
188             <<: *master
189
190     testsuite:
191         - 'suite':
192             job-timeout: 60
193         - 'daily':
194             job-timeout: 240
195
196     jobs:
197         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
198         - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
199
200 ################################
201 # job template
202 ################################
203 - job-template:
204     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
205
206     concurrent: true
207
208     properties:
209         - logrotate-default
210         - throttle:
211             enabled: true
212             max-per-node: 1
213             option: 'project'
214
215     wrappers:
216         - build-name:
217             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
218         - timeout:
219             timeout: '{job-timeout}'
220             abort: true
221
222     parameters:
223         - project-parameter:
224             project: '{project}'
225             branch: '{branch}'
226         - '{installer}-defaults'
227         - '{slave-label}-defaults'
228         - 'functest-{testsuite}-parameter'
229         - string:
230             name: DEPLOY_SCENARIO
231             default: 'os-odl_l2-nofeature-ha'
232         - string:
233             name: DOCKER_TAG
234             default: '{docker-tag}'
235             description: 'Tag to pull docker image'
236         - string:
237             name: CLEAN_DOCKER_IMAGES
238             default: 'false'
239             description: 'Remove downloaded docker images (opnfv/functest*:*)'
240         - functest-parameter:
241             gs-pathname: '{gs-pathname}'
242
243     scm:
244         - git-scm
245
246     builders:
247         - description-setter:
248             description: "Built on $NODE_NAME"
249         - 'functest-{testsuite}-builder'
250
251 - job-template:
252     name: 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
253
254     concurrent: true
255
256     properties:
257         - logrotate-default
258         - throttle:
259             enabled: true
260             max-per-node: 1
261             option: 'project'
262
263     wrappers:
264         - build-name:
265             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
266         - timeout:
267             timeout: '{job-timeout}'
268             abort: true
269
270     parameters:
271         - project-parameter:
272             project: '{project}'
273             branch: '{branch}'
274         - '{installer}-defaults'
275         - '{slave-label}-defaults'
276         - 'functest-{testsuite}-parameter'
277         - string:
278             name: DEPLOY_SCENARIO
279             default: 'os-nosdn-nofeature-noha'
280         - functest-parameter:
281             gs-pathname: '{gs-pathname}'
282
283     scm:
284         - git-scm
285
286     builders:
287         - description-setter:
288             description: "Built on $NODE_NAME"
289         - 'functest-alpine-daily-builder'
290
291 ########################
292 # parameter macros
293 ########################
294 - parameter:
295     name: functest-daily-parameter
296     parameters:
297         - string:
298             name: FUNCTEST_SUITE_NAME
299             default: 'daily'
300             description: "Daily suite name to run"
301 - parameter:
302     name: functest-suite-parameter
303     parameters:
304         - choice:
305             name: FUNCTEST_SUITE_NAME
306             choices:
307                 - 'healthcheck'
308                 - 'vping_userdata'
309                 - 'vping_ssh'
310                 - 'tempest_smoke_serial'
311                 - 'rally_sanity'
312                 - 'odl'
313                 - 'odl_netvirt'
314                 - 'onos'
315                 - 'promise'
316                 - 'doctor'
317                 - 'bgpvpn'
318                 - 'security_scan'
319                 - 'tempest_full_parallel'
320                 - 'rally_full'
321                 - 'vims'
322                 - 'multisite'
323                 - 'parser'
324                 - 'opera_vims'
325         - string:
326             name: TESTCASE_OPTIONS
327             default: ''
328             description: 'Additional parameters specific to test case(s)'
329 - parameter:
330     name: functest-parameter
331     parameters:
332         - string:
333             name: GS_PATHNAME
334             default: '{gs-pathname}'
335             description: "Version directory where the opnfv documents will be stored in gs repository"
336         - string:
337             name: FUNCTEST_REPO_DIR
338             default: "/home/opnfv/repos/functest"
339             description: "Directory where the Functest repository is cloned"
340         - string:
341             name: PUSH_RESULTS_TO_DB
342             default: "true"
343             description: "Push the results of all the tests to the resultDB"
344         - string:
345             name: CI_DEBUG
346             default: 'false'
347             description: "Show debug output information"
348         - string:
349             name: RC_FILE_PATH
350             default: ''
351             description: "Path to the OS credentials file if given"
352 ########################
353 # trigger macros
354 ########################
355 - trigger:
356     name: 'functest-master'
357     triggers:
358         - pollscm:
359             cron: "H 9 * * *"
360 ########################
361 # builder macros
362 ########################
363 - builder:
364     name: functest-daily-builder
365     builders:
366         - 'functest-cleanup'
367         - 'set-functest-env-alpine'
368         - 'functest-daily'
369         - 'functest-store-results'
370
371 - builder:
372     name: functest-suite-builder
373     builders:
374         - 'functest-cleanup'
375         - 'set-functest-env'
376         - 'functest-suite'
377         - 'functest-store-results'
378         - 'functest-exit'
379
380 - builder:
381     name: functest-alpine-daily-builder
382     builders:
383         - shell:
384             !include-raw:
385                 - ./functest-env-presetup.sh
386                 - ../../utils/fetch_os_creds.sh
387                 - ./functest-alpine.sh
388                 - ../../utils/push-test-logs.sh
389
390 - builder:
391     name: functest-daily
392     builders:
393         - shell:
394             !include-raw: ./functest-alpine.sh
395
396
397 - builder:
398     name: functest-suite
399     builders:
400         - shell:
401             !include-raw: ./functest-suite.sh
402
403 - builder:
404     name: set-functest-env
405     builders:
406         - shell:
407             !include-raw:
408                 - ./functest-env-presetup.sh
409                 - ../../utils/fetch_os_creds.sh
410                 - ./set-functest-env.sh
411
412 - builder:
413     name: set-functest-env-alpine
414     builders:
415         - shell:
416             !include-raw:
417                 - ./functest-env-presetup.sh
418                 - ../../utils/fetch_os_creds.sh
419
420 - builder:
421     name: functest-store-results
422     builders:
423         - shell:
424             !include-raw: ../../utils/push-test-logs.sh
425
426 - builder:
427     name: functest-cleanup
428     builders:
429         - shell:
430             !include-raw: ./functest-cleanup.sh
431
432 - builder:
433     name: functest-exit
434     builders:
435         - shell:
436             !include-raw: ./functest-exit.sh