Merge "[docs] local docs building for missing submodules"
[releng.git] / jjb / functest / functest-daily-jobs.yaml
1 ---
2 ###################################
3 # job configuration for functest
4 ###################################
5 - project:
6     name: functest-daily
7
8     project: functest
9
10     # -------------------------------
11     # BRANCH ANCHORS
12     # -------------------------------
13     master: &master
14       stream: master
15       branch: '{stream}'
16       gs-pathname: ''
17     fraser: &fraser
18       stream: fraser
19       branch: 'stable/{stream}'
20       gs-pathname: '/{stream}'
21     gambia: &gambia
22       stream: gambia
23       branch: 'stable/{stream}'
24       gs-pathname: '/{stream}'
25     hunter: &hunter
26       stream: hunter
27       branch: 'stable/{stream}'
28       gs-pathname: '/{stream}'
29     # -------------------------------
30     # POD, INSTALLER, AND BRANCH MAPPING
31     # -------------------------------
32     #    Installers using labels
33     #            CI PODs
34     # This section should only contain the installers
35     # that have been switched using labels for slaves
36     # -------------------------------
37     pod:
38       # fuel CI PODs
39       - baremetal:
40           slave-label: fuel-baremetal
41           installer: fuel
42           <<: *master
43       - virtual:
44           slave-label: fuel-virtual
45           installer: fuel
46           <<: *master
47       - baremetal:
48           slave-label: fuel-baremetal
49           installer: fuel
50           <<: *gambia
51       - virtual:
52           slave-label: fuel-virtual
53           installer: fuel
54           <<: *gambia
55       - baremetal:
56           slave-label: fuel-baremetal
57           installer: fuel
58           <<: *fraser
59       - virtual:
60           slave-label: fuel-virtual
61           installer: fuel
62           <<: *fraser
63       # joid CI PODs
64       - baremetal:
65           slave-label: joid-baremetal
66           installer: joid
67           <<: *master
68       - virtual:
69           slave-label: joid-virtual
70           installer: joid
71           <<: *master
72       - baremetal:
73           slave-label: joid-baremetal
74           installer: joid
75           <<: *fraser
76       - virtual:
77           slave-label: joid-virtual
78           installer: joid
79           <<: *fraser
80       # compass CI PODs
81       - baremetal:
82           slave-label: compass-baremetal
83           installer: compass
84           <<: *master
85       - virtual:
86           slave-label: compass-virtual
87           installer: compass
88           <<: *master
89       - arm-virtual:
90           slave-label: compass-arm-virtual
91           installer: compass
92           <<: *master
93       - baremetal:
94           slave-label: compass-baremetal
95           installer: compass
96           <<: *fraser
97       - virtual:
98           slave-label: compass-virtual
99           installer: compass
100           <<: *fraser
101       - arm-virtual:
102           slave-label: compass-arm-virtual
103           installer: compass
104           <<: *fraser
105       # apex CI PODs
106       - virtual:
107           slave-label: apex-virtual-master
108           installer: apex
109           <<: *master
110       - baremetal:
111           slave-label: apex-baremetal-master
112           installer: apex
113           <<: *master
114       - virtual:
115           slave-label: apex-virtual-master
116           installer: apex
117           <<: *gambia
118       - baremetal:
119           slave-label: apex-baremetal-master
120           installer: apex
121           <<: *gambia
122       - virtual:
123           slave-label: apex-virtual-fraser
124           installer: apex
125           <<: *fraser
126       - baremetal:
127           slave-label: apex-baremetal-fraser
128           installer: apex
129           <<: *fraser
130       # armband CI PODs
131       - armband-baremetal:
132           slave-label: armband-baremetal
133           installer: fuel
134           <<: *master
135       - armband-virtual:
136           slave-label: armband-virtual
137           installer: fuel
138           <<: *master
139       - armband-baremetal:
140           slave-label: armband-baremetal
141           installer: fuel
142           <<: *gambia
143       - armband-virtual:
144           slave-label: armband-virtual
145           installer: fuel
146           <<: *gambia
147       - armband-baremetal:
148           slave-label: armband-baremetal
149           installer: fuel
150           <<: *fraser
151       - armband-virtual:
152           slave-label: armband-virtual
153           installer: fuel
154           <<: *fraser
155       # daisy CI PODs
156       - baremetal:
157           slave-label: daisy-baremetal
158           installer: daisy
159           <<: *master
160       - virtual:
161           slave-label: daisy-virtual
162           installer: daisy
163           <<: *master
164       - baremetal:
165           slave-label: daisy-baremetal
166           installer: daisy
167           <<: *fraser
168       - virtual:
169           slave-label: daisy-virtual
170           installer: daisy
171           <<: *fraser
172       # netvirt 3rd party ci
173       - virtual:
174           slave-label: odl-netvirt-virtual
175           installer: netvirt
176           <<: *master
177       # -------------------------------
178       #        None-CI PODs
179       # -------------------------------
180       - orange-pod1:
181           slave-label: '{pod}'
182           installer: joid
183           <<: *master
184       - orange-pod5:
185           slave-label: '{pod}'
186           installer: fuel
187           <<: *master
188       - orange-pod2:
189           slave-label: '{pod}'
190           installer: joid
191           <<: *master
192       - baremetal-centos:
193           slave-label: 'intel-pod8'
194           installer: compass
195           <<: *master
196       - nokia-pod1:
197           slave-label: '{pod}'
198           installer: apex
199           <<: *master
200       - zte-pod1:
201           slave-label: '{pod}'
202           installer: fuel
203           <<: *master
204       - zte-pod1:
205           slave-label: '{pod}'
206           installer: fuel
207           <<: *fraser
208       - zte-pod2:
209           slave-label: '{pod}'
210           installer: daisy
211           <<: *master
212       - zte-pod2:
213           slave-label: '{pod}'
214           installer: daisy
215           <<: *fraser
216       - zte-pod3:
217           slave-label: '{pod}'
218           installer: daisy
219           <<: *master
220       - zte-pod3:
221           slave-label: '{pod}'
222           installer: daisy
223           <<: *fraser
224       - zte-pod9:
225           slave-label: '{pod}'
226           installer: daisy
227           <<: *master
228       - zte-pod9:
229           slave-label: '{pod}'
230           installer: daisy
231           <<: *fraser
232     # -------------------------------
233     # PODs for verify jobs triggered by each patch upload
234     #   - ool-virtual1:
235     #       slave-label: '{pod}'
236     #       installer: apex
237     #       <<: *master
238     # -------------------------------
239
240     testsuite:
241       - 'suite':
242           job-timeout: 60
243       - 'daily':
244           job-timeout: 600
245
246     jobs:
247       - 'functest-{installer}-{pod}-{testsuite}-{stream}'
248
249 ################################
250 # job template
251 ################################
252 - job-template:
253     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
254
255     concurrent: true
256
257     properties:
258       - logrotate-default
259       - throttle:
260           enabled: true
261           max-per-node: 1
262           max-total: 10
263           option: 'project'
264
265     wrappers:
266       - build-name:
267           name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE 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       - string:
283           name: CLEAN_DOCKER_IMAGES
284           default: 'false'
285           description: 'Remove downloaded docker images (opnfv/functest*:*)'
286       - functest-parameter:
287           gs-pathname: '{gs-pathname}'
288
289     scm:
290       - git-scm
291
292     builders:
293       - description-setter:
294           description: "Built on $NODE_NAME"
295       - 'functest-{testsuite}-builder'
296
297
298 ########################
299 # parameter macros
300 ########################
301 - parameter:
302     name: functest-daily-parameter
303     parameters:
304       - string:
305           name: FUNCTEST_MODE
306           default: 'daily'
307           description: "Daily suite name to run"
308
309 - parameter:
310     name: functest-suite-parameter
311     parameters:
312       - choice:
313           name: FUNCTEST_MODE
314           choices:
315             - 'tier'
316             - 'testcase'
317           default: 'tier'
318           description: "Test case or Tier to be run"
319       - choice:
320           name: FUNCTEST_SUITE_NAME
321           choices:
322             - 'connection_check'
323             - 'api_check'
324             - 'snaps_health_check'
325             - 'vping_ssh'
326             - 'vping_userdata'
327             - 'cinder_test'
328             - 'tempest_smoke'
329             - 'rally_sanity'
330             - 'refstack_defcore'
331             - 'patrole'
332             - 'odl'
333             - 'snaps_smoke'
334             - 'shaker'
335             - 'vmtp'
336             - 'neutron_trunk'
337             - 'doctor-notification'
338             - 'bgpvpn'
339             - 'functest-odl-sfc'
340             - 'barometercollectd'
341             - 'fds'
342             - 'tempest_full'
343             - 'rally_full'
344             - 'cloudify_ims'
345             - 'vyos_vrouter'
346             - 'juju_epc'
347             - 'parser'
348           default: 'connection_check'
349       - choice:
350           name: FUNCTEST_TIER
351           choices:
352             - 'healthcheck'
353             - 'smoke'
354             - 'benchmarking'
355             - 'features'
356             - 'components'
357             - 'vnf'
358             - 'parser'
359           default: 'healthcheck'
360       - string:
361           name: TESTCASE_OPTIONS
362           default: ''
363           description: 'Additional parameters specific to test case(s)'
364
365 - parameter:
366     name: functest-parameter
367     parameters:
368       - string:
369           name: GS_PATHNAME
370           default: '{gs-pathname}'
371           description: "Version directory where the opnfv documents will be stored in gs repository"
372       - string:
373           name: FUNCTEST_REPO_DIR
374           default: "/home/opnfv/repos/functest"
375           description: "Directory where the Functest repository is cloned"
376       - string:
377           name: PUSH_RESULTS_TO_DB
378           default: "true"
379           description: "Push the results of all the tests to the resultDB"
380       - string:
381           name: CI_DEBUG
382           default: 'false'
383           description: "Show debug output information"
384       - string:
385           name: RC_FILE_PATH
386           default: ''
387           description: "Path to the OS credentials file if given"
388       - string:
389           name: REPO
390           default: "opnfv"
391           description: "Repository name for functest images"
392 ########################
393 # trigger macros
394 ########################
395 - trigger:
396     name: 'functest-master'
397     triggers:
398       - pollscm:
399           cron: "H 9 * * *"
400 ########################
401 # builder macros
402 ########################
403 - builder:
404     name: functest-daily-builder
405     builders:
406       - 'functest-cleanup'
407       - 'functest-daily'
408       - 'functest-store-results'
409       - 'functest-exit'
410
411 - builder:
412     name: functest-suite-builder
413     builders:
414       - 'functest-cleanup'
415       - 'functest-daily'
416       - 'functest-store-results'
417       - 'functest-exit'
418
419 - builder:
420     name: functest-daily
421     builders:
422       # yamllint disable rule:indentation
423       - conditional-step:
424           condition-kind: regex-match
425           regex: "os-.*"
426           label: '$DEPLOY_SCENARIO'
427           steps:
428             - shell:
429                 !include-raw:
430                     - ./functest-env-presetup.sh
431                     - ../../utils/fetch_os_creds.sh
432                     - ./functest-alpine.sh
433       - conditional-step:
434           condition-kind: regex-match
435           regex: "k8-.*"
436           label: '$DEPLOY_SCENARIO'
437           steps:
438             - shell:
439                 !include-raw:
440                     - ../../utils/fetch_k8_conf.sh
441                     - ./functest-k8.sh
442
443 # yamllint enable rule:indentation
444 - builder:
445     name: functest-store-results
446     builders:
447       - shell:
448           !include-raw: ../../utils/push-test-logs.sh
449
450 - builder:
451     name: functest-cleanup
452     builders:
453       - shell:
454           !include-raw: ./functest-cleanup.sh
455
456 - builder:
457     name: functest-exit
458     builders:
459       - shell:
460           !include-raw: ./functest-exit.sh