Merge "Enable daisy euphrates jobs of daily and functest"
[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     euphrates: &euphrates
18         stream: euphrates
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             <<: *euphrates
44         - virtual:
45             slave-label: fuel-virtual
46             installer: fuel
47             <<: *euphrates
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             <<: *euphrates
61         - virtual:
62             slave-label: joid-virtual
63             installer: joid
64             <<: *euphrates
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             <<: *euphrates
78         - virtual:
79             slave-label: compass-virtual
80             installer: compass
81             <<: *euphrates
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-euphrates
93             installer: apex
94             <<: *euphrates
95         - baremetal:
96             slave-label: apex-baremetal-euphrates
97             installer: apex
98             <<: *euphrates
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             <<: *euphrates
112         - armband-virtual:
113             slave-label: armband-virtual
114             installer: fuel
115             <<: *euphrates
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         - baremetal:
126             slave-label: daisy-baremetal
127             installer: daisy
128             <<: *euphrates
129         - virtual:
130             slave-label: daisy-virtual
131             installer: daisy
132             <<: *euphrates
133 # netvirt 3rd party ci
134         - virtual:
135             slave-label: odl-netvirt-virtual
136             installer: netvirt
137             <<: *master
138 #--------------------------------
139 #        None-CI PODs
140 #--------------------------------
141         - orange-pod1:
142             slave-label: '{pod}'
143             installer: joid
144             <<: *master
145         - orange-pod5:
146             slave-label: '{pod}'
147             installer: fuel
148             <<: *master
149         - orange-pod2:
150             slave-label: '{pod}'
151             installer: joid
152             <<: *master
153         - baremetal-centos:
154             slave-label: 'intel-pod8'
155             installer: compass
156             <<: *master
157         - nokia-pod1:
158             slave-label: '{pod}'
159             installer: apex
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             <<: *euphrates
169         - zte-pod2:
170             slave-label: '{pod}'
171             installer: daisy
172             <<: *master
173         - zte-pod2:
174             slave-label: '{pod}'
175             installer: daisy
176             <<: *euphrates
177         - zte-pod3:
178             slave-label: '{pod}'
179             installer: daisy
180             <<: *master
181         - zte-pod3:
182             slave-label: '{pod}'
183             installer: daisy
184             <<: *euphrates
185 # PODs for verify jobs triggered by each patch upload
186 #        - ool-virtual1:
187 #            slave-label: '{pod}'
188 #            installer: apex
189 #            <<: *master
190 #--------------------------------
191
192     alpine-pod:
193         - ericsson-virtual-pod1bl01:
194             slave-label: '{alpine-pod}'
195             installer: fuel
196             <<: *master
197         - huawei-virtual5:
198             slave-label: '{alpine-pod}'
199             installer: compass
200             <<: *master
201
202     testsuite:
203         - 'suite':
204             job-timeout: 60
205         - 'daily':
206             job-timeout: 240
207         - 'arm-daily':
208             job-timeout: 240
209
210     jobs:
211         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
212         - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
213
214 ################################
215 # job template
216 ################################
217 - job-template:
218     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
219
220     concurrent: true
221
222     properties:
223         - logrotate-default
224         - throttle:
225             enabled: true
226             max-per-node: 1
227             option: 'project'
228
229     wrappers:
230         - build-name:
231             name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO'
232         - timeout:
233             timeout: '{job-timeout}'
234             abort: true
235
236     parameters:
237         - project-parameter:
238             project: '{project}'
239             branch: '{branch}'
240         - '{installer}-defaults'
241         - '{slave-label}-defaults'
242         - 'functest-{testsuite}-parameter'
243         - string:
244             name: DEPLOY_SCENARIO
245             default: 'os-odl_l2-nofeature-ha'
246         - string:
247             name: DOCKER_TAG
248             default: '{docker-tag}'
249             description: 'Tag to pull docker image'
250         - string:
251             name: CLEAN_DOCKER_IMAGES
252             default: 'false'
253             description: 'Remove downloaded docker images (opnfv/functest*:*)'
254         - functest-parameter:
255             gs-pathname: '{gs-pathname}'
256
257     scm:
258         - git-scm
259
260     builders:
261         - description-setter:
262             description: "Built on $NODE_NAME"
263         - 'functest-{testsuite}-builder'
264
265 - job-template:
266     name: 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
267
268     concurrent: true
269
270     properties:
271         - logrotate-default
272         - throttle:
273             enabled: true
274             max-per-node: 1
275             option: 'project'
276
277     wrappers:
278         - build-name:
279             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
280         - timeout:
281             timeout: '{job-timeout}'
282             abort: true
283
284     parameters:
285         - project-parameter:
286             project: '{project}'
287             branch: '{branch}'
288         - '{installer}-defaults'
289         - '{slave-label}-defaults'
290         - 'functest-{testsuite}-parameter'
291         - string:
292             name: DEPLOY_SCENARIO
293             default: 'os-nosdn-nofeature-noha'
294         - functest-parameter:
295             gs-pathname: '{gs-pathname}'
296
297     scm:
298         - git-scm
299
300     builders:
301         - description-setter:
302             description: "Built on $NODE_NAME"
303         - 'functest-alpine-daily-builder'
304
305 ########################
306 # parameter macros
307 ########################
308 - parameter:
309     name: functest-daily-parameter
310     parameters:
311         - string:
312             name: FUNCTEST_MODE
313             default: 'daily'
314             description: "Daily suite name to run"
315 - parameter:
316     name: functest-arm-daily-parameter
317     parameters:
318         - string:
319             name: FUNCTEST_MODE
320             default: 'arm-daily'
321             description: "Daily suite name (Aarch64) to run"
322 - parameter:
323     name: functest-suite-parameter
324     parameters:
325         - choice:
326             name: FUNCTEST_MODE
327             choices:
328                 - 'tier'
329                 - 'testcase'
330             default: 'tier'
331             description: "Test case or Tier to be run"
332         - choice:
333             name: FUNCTEST_SUITE_NAME
334             choices:
335                 - 'connection_check'
336                 - 'api_check'
337                 - 'snaps_health_check'
338                 - 'vping_userdata'
339                 - 'vping_ssh'
340                 - 'tempest_smoke_serial'
341                 - 'rally_sanity'
342                 - 'odl'
343                 - 'odl_netvirt'
344                 - 'snaps_smoke'
345                 - 'refstack_defcore'
346                 - 'promise'
347                 - 'doctor'
348                 - 'bgpvpn'
349                 - 'parser'
350                 - 'security_scan'
351                 - 'tempest_full_parallel'
352                 - 'rally_full'
353                 - 'cloudify_ims'
354                 - 'cloudify_vrouter'
355                 - 'orchestra_openims'
356                 - 'orchestra_clearwaterims'
357             default: 'connection_check'
358         - choice:
359             name: FUNCTEST_TIER
360             choices:
361                 - 'healthcheck'
362                 - 'smoke'
363                 - 'features'
364                 - 'components'
365                 - 'vnf'
366             default: 'healthcheck'
367         - string:
368             name: TESTCASE_OPTIONS
369             default: ''
370             description: 'Additional parameters specific to test case(s)'
371 - parameter:
372     name: functest-parameter
373     parameters:
374         - string:
375             name: GS_PATHNAME
376             default: '{gs-pathname}'
377             description: "Version directory where the opnfv documents will be stored in gs repository"
378         - string:
379             name: FUNCTEST_REPO_DIR
380             default: "/home/opnfv/repos/functest"
381             description: "Directory where the Functest repository is cloned"
382         - string:
383             name: PUSH_RESULTS_TO_DB
384             default: "true"
385             description: "Push the results of all the tests to the resultDB"
386         - string:
387             name: CI_DEBUG
388             default: 'false'
389             description: "Show debug output information"
390         - string:
391             name: RC_FILE_PATH
392             default: ''
393             description: "Path to the OS credentials file if given"
394 ########################
395 # trigger macros
396 ########################
397 - trigger:
398     name: 'functest-master'
399     triggers:
400         - pollscm:
401             cron: "H 9 * * *"
402 ########################
403 # builder macros
404 ########################
405 - builder:
406     name: functest-daily-builder
407     builders:
408         - 'functest-cleanup'
409         - 'functest-daily'
410         - 'functest-store-results'
411         - 'functest-exit'
412
413 - builder:
414     name: functest-arm-daily-builder
415     builders:
416         - 'functest-cleanup'
417         - 'set-functest-env'
418         - 'functest-arm-daily'
419         - 'functest-store-results'
420         - 'functest-exit'
421
422 - builder:
423     name: functest-suite-builder
424     builders:
425         - 'functest-cleanup'
426         - 'set-functest-env-alpine'
427         - 'functest-suite'
428         - 'functest-store-results'
429         - 'functest-exit'
430
431 - builder:
432     name: functest-alpine-daily-builder
433     builders:
434         - 'functest-cleanup'
435         - 'set-functest-env-alpine'
436         - 'functest-daily'
437         - 'functest-store-results'
438         - 'functest-exit'
439
440 - builder:
441     name: functest-daily
442     builders:
443         - shell:
444             !include-raw:
445                 - ./functest-env-presetup.sh
446                 - ../../utils/fetch_os_creds.sh
447                 - ./functest-alpine.sh
448
449 - builder:
450     name: functest-arm-daily
451     builders:
452         - shell:
453             !include-raw: ./functest-loop.sh
454
455 - builder:
456     name: functest-suite
457     builders:
458         - shell:
459             !include-raw:
460                 - ./functest-alpine.sh
461
462 - builder:
463     name: set-functest-env
464     builders:
465         - shell:
466             !include-raw:
467                 - ./functest-env-presetup.sh
468                 - ../../utils/fetch_os_creds.sh
469                 - ./set-functest-env.sh
470
471 - builder:
472     name: set-functest-env-alpine
473     builders:
474         - shell:
475             !include-raw:
476                 - ./functest-env-presetup.sh
477                 - ../../utils/fetch_os_creds.sh
478
479 - builder:
480     name: functest-store-results
481     builders:
482         - shell:
483             !include-raw: ../../utils/push-test-logs.sh
484
485 - builder:
486     name: functest-cleanup
487     builders:
488         - shell:
489             !include-raw: ./functest-cleanup.sh
490
491 - builder:
492     name: functest-exit
493     builders:
494         - shell:
495             !include-raw: ./functest-exit.sh