5a99fdce80f4545b851ac35c6b5ec35567058ad2
[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 # 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             <<: *euphrates
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             <<: *euphrates
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         - 'arm-daily':
196             job-timeout: 240
197
198     jobs:
199         - 'functest-{installer}-{pod}-{testsuite}-{stream}'
200         - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
201
202 ################################
203 # job template
204 ################################
205 - job-template:
206     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
207
208     concurrent: true
209
210     properties:
211         - logrotate-default
212         - throttle:
213             enabled: true
214             max-per-node: 1
215             option: 'project'
216
217     wrappers:
218         - build-name:
219             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
220         - timeout:
221             timeout: '{job-timeout}'
222             abort: true
223
224     parameters:
225         - project-parameter:
226             project: '{project}'
227             branch: '{branch}'
228         - '{installer}-defaults'
229         - '{slave-label}-defaults'
230         - 'functest-{testsuite}-parameter'
231         - string:
232             name: DEPLOY_SCENARIO
233             default: 'os-odl_l2-nofeature-ha'
234         - string:
235             name: DOCKER_TAG
236             default: '{docker-tag}'
237             description: 'Tag to pull docker image'
238         - string:
239             name: CLEAN_DOCKER_IMAGES
240             default: 'false'
241             description: 'Remove downloaded docker images (opnfv/functest*:*)'
242         - functest-parameter:
243             gs-pathname: '{gs-pathname}'
244
245     scm:
246         - git-scm
247
248     builders:
249         - description-setter:
250             description: "Built on $NODE_NAME"
251         - 'functest-{testsuite}-builder'
252
253 - job-template:
254     name: 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
255
256     concurrent: true
257
258     properties:
259         - logrotate-default
260         - throttle:
261             enabled: true
262             max-per-node: 1
263             option: 'project'
264
265     wrappers:
266         - build-name:
267             name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
268         - timeout:
269             timeout: '{job-timeout}'
270             abort: true
271
272     parameters:
273         - project-parameter:
274             project: '{project}'
275             branch: '{branch}'
276         - '{installer}-defaults'
277         - '{slave-label}-defaults'
278         - 'functest-{testsuite}-parameter'
279         - string:
280             name: DEPLOY_SCENARIO
281             default: 'os-nosdn-nofeature-noha'
282         - functest-parameter:
283             gs-pathname: '{gs-pathname}'
284
285     scm:
286         - git-scm
287
288     builders:
289         - description-setter:
290             description: "Built on $NODE_NAME"
291         - 'functest-alpine-daily-builder'
292
293 ########################
294 # parameter macros
295 ########################
296 - parameter:
297     name: functest-daily-parameter
298     parameters:
299         - string:
300             name: FUNCTEST_MODE
301             default: 'daily'
302             description: "Daily suite name to run"
303 - parameter:
304     name: functest-arm-daily-parameter
305     parameters:
306         - string:
307             name: FUNCTEST_MODE
308             default: 'arm-daily'
309             description: "Daily suite name (Aarch64) to run"
310 - parameter:
311     name: functest-suite-parameter
312     parameters:
313         - choice:
314             name: FUNCTEST_MODE
315             choices:
316                 - 'tier'
317                 - 'testcase'
318             default: 'tier'
319             description: "Test case or Tier to be run"
320         - choice:
321             name: FUNCTEST_SUITE_NAME
322             choices:
323                 - 'connection_check'
324                 - 'api_check'
325                 - 'snaps_health_check'
326                 - 'vping_userdata'
327                 - 'vping_ssh'
328                 - 'tempest_smoke_serial'
329                 - 'rally_sanity'
330                 - 'odl'
331                 - 'odl_netvirt'
332                 - 'onos'
333                 - 'snaps_smoke'
334                 - 'refstack_defcore'
335                 - 'promise'
336                 - 'doctor'
337                 - 'bgpvpn'
338                 - 'parser'
339                 - 'security_scan'
340                 - 'tempest_full_parallel'
341                 - 'rally_full'
342                 - 'cloudify_ims'
343                 - 'cloudify_vrouter'
344                 - 'orchestra_openims'
345                 - 'orchestra_clearwaterims'
346             default: 'connection_check'
347         - choice:
348             name: FUNCTEST_TIER
349             choices:
350                 - 'healthcheck'
351                 - 'smoke'
352                 - 'features'
353                 - 'components'
354                 - 'vnf'
355             default: 'healthcheck'
356         - string:
357             name: TESTCASE_OPTIONS
358             default: ''
359             description: 'Additional parameters specific to test case(s)'
360 - parameter:
361     name: functest-parameter
362     parameters:
363         - string:
364             name: GS_PATHNAME
365             default: '{gs-pathname}'
366             description: "Version directory where the opnfv documents will be stored in gs repository"
367         - string:
368             name: FUNCTEST_REPO_DIR
369             default: "/home/opnfv/repos/functest"
370             description: "Directory where the Functest repository is cloned"
371         - string:
372             name: PUSH_RESULTS_TO_DB
373             default: "true"
374             description: "Push the results of all the tests to the resultDB"
375         - string:
376             name: CI_DEBUG
377             default: 'false'
378             description: "Show debug output information"
379         - string:
380             name: RC_FILE_PATH
381             default: ''
382             description: "Path to the OS credentials file if given"
383 ########################
384 # trigger macros
385 ########################
386 - trigger:
387     name: 'functest-master'
388     triggers:
389         - pollscm:
390             cron: "H 9 * * *"
391 ########################
392 # builder macros
393 ########################
394 - builder:
395     name: functest-daily-builder
396     builders:
397         - 'functest-cleanup'
398         - 'functest-daily'
399         - 'functest-store-results'
400         - 'functest-exit'
401
402 - builder:
403     name: functest-arm-daily-builder
404     builders:
405         - 'functest-cleanup'
406         - 'set-functest-env'
407         - 'functest-arm-daily'
408         - 'functest-store-results'
409         - 'functest-exit'
410
411 - builder:
412     name: functest-suite-builder
413     builders:
414         - 'functest-cleanup'
415         - 'set-functest-env'
416         - 'functest-suite'
417         - 'functest-store-results'
418         - 'functest-exit'
419
420 - builder:
421     name: functest-alpine-daily-builder
422     builders:
423         - 'functest-cleanup'
424         - 'set-functest-env-alpine'
425         - 'functest-daily'
426         - 'functest-store-results'
427
428 - builder:
429     name: functest-alpine-suite-builder
430     builders:
431         - 'functest-cleanup'
432         - 'set-functest-env-alpine'
433         - 'functest-suite'
434         - 'functest-store-results'
435
436 - builder:
437     name: functest-daily
438     builders:
439         - shell:
440             !include-raw:
441                 - ./functest-env-presetup.sh
442                 - ../../utils/fetch_os_creds.sh
443                 - ./functest-alpine.sh
444
445 - builder:
446     name: functest-arm-daily
447     builders:
448         - shell:
449             !include-raw: ./functest-loop.sh
450
451 - builder:
452     name: functest-suite
453     builders:
454         - shell:
455             !include-raw:
456                 - ./functest-env-presetup.sh
457                 - ../../utils/fetch_os_creds.sh
458                 - ./functest-alpine.sh
459
460 - builder:
461     name: set-functest-env
462     builders:
463         - shell:
464             !include-raw:
465                 - ./functest-env-presetup.sh
466                 - ../../utils/fetch_os_creds.sh
467                 - ./set-functest-env.sh
468
469 - builder:
470     name: set-functest-env-alpine
471     builders:
472         - shell:
473             !include-raw:
474                 - ./functest-env-presetup.sh
475                 - ../../utils/fetch_os_creds.sh
476
477 - builder:
478     name: functest-store-results
479     builders:
480         - shell:
481             !include-raw: ../../utils/push-test-logs.sh
482
483 - builder:
484     name: functest-cleanup
485     builders:
486         - shell:
487             !include-raw: ./functest-cleanup.sh
488
489 - builder:
490     name: functest-exit
491     builders:
492         - shell:
493             !include-raw: ./functest-exit.sh