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