Update to python 3.7 and alpine 3.10
[releng.git] / jjb / functest / functest.yaml
1 ---
2 - functest-jobs: &functest-jobs
3     name: 'functest-jobs'
4     current-parameters: true
5
6 - functest-params: &functest-params
7     name: 'functest-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: lf-virtual9
14       - iruya:
15           branch: stable/iruya
16           slave: lf-virtual4
17       - hunter:
18           branch: stable/hunter
19           slave: lf-virtual6
20
21 - parameter:
22     name: functest-slave
23     parameters:
24       - label:
25           name: slave
26           default: '{slave}'
27
28 - parameter:
29     name: functest-branch
30     parameters:
31       - string:
32           name: branch
33           default: '{branch}'
34
35 - functest-containers: &functest-containers
36     name: 'functest-containers'
37     repo: '{repo}'
38     port: '{port}'
39     container: '{container}'
40     tag: '{tag}'
41
42 - functest-run-containers: &functest-run-containers
43     name: 'functest-build-containers'
44     <<: *functest-containers
45     test: '{test}'
46
47 - functest-build-containers: &functest-build-containers
48     name: 'functest-build-containers'
49     <<: *functest-containers
50     ref_arg: '{ref_arg}'
51     path: '{path}'
52
53 - builder:
54     name: functest-pull-containers
55     builders:
56       - shell: |
57           set +x
58           if [ "{repo}" = "_" ]; then
59             image={container}:{tag}
60           elif [ "{port}" = "None" ]; then
61             image={repo}/{container}:{tag}
62           else
63             image={repo}:{port}/{container}:{tag}
64           fi
65           sudo docker pull $image
66
67 - builder:
68     name: functest-build-containers
69     builders:
70       - shell: |
71           set +x
72           if [ "{repo}" = "_" ]; then
73             image={container}:{tag}
74           elif [ "{port}" = "None" ]; then
75             image={repo}/{container}:{tag}
76           else
77             image={repo}:{port}/{container}:{tag}
78           fi
79           if [ "{ref_arg}" = "None" ]; then
80             build_arg=""
81           else
82             build_arg="--build-arg {ref_arg}={ref}"
83           fi
84           cd {path}
85           sudo docker build $build_arg \
86             --pull=false --no-cache --force-rm=true \
87             -t $image .
88
89 - builder:
90     name: functest-run-containers
91     builders:
92       - shell: |
93           set +ex
94           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
95           if [ "{repo}" = "_" ]; then
96             image={container}:{tag}
97           elif [ "{port}" = "None" ]; then
98             image={repo}/{container}:{tag}
99           else
100             image={repo}:{port}/{container}:{tag}
101           fi
102           if [ "{tag}" = "latest" ]; then
103             py=3.7
104           else
105             py=2.7
106           fi
107           sudo docker run --rm \
108             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
109             -e DEBUG=True \
110             -e EXTERNAL_NETWORK=public \
111             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
112             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
113             -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
114           site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
115             $image run_tests -t {test}
116           res=$?
117           gsutil -m cp -r $WORKSPACE/ \
118             gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
119           find $WORKSPACE -type f \
120             -printf \
121             "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
122           exit $res
123
124 - builder:
125     name: functest-remove-images
126     builders:
127       - shell: |
128           set +x
129           if [ "{repo}" = "_" ]; then
130             image={container}:{tag}
131           elif [ "{port}" = "None" ]; then
132             image={repo}/{container}:{tag}
133           else
134             image={repo}:{port}/{container}:{tag}
135           fi
136           sudo docker rmi $image || true
137
138 - scm:
139     name: functest-scm
140     scm:
141       - git:
142           url: https://gerrit.opnfv.org/gerrit/functest
143           refspec: '+refs/changes/*:refs/changes/*'
144           branches:
145             - '{ref}'
146
147 - job-template:
148     name: 'functest-{repo}-{container}-{tag}-pull'
149     parameters:
150       - functest-slave:
151           slave: '{slave}'
152     builders:
153       - functest-pull-containers:
154           <<: *functest-containers
155
156 - project:
157     name: 'functest-opnfv-functest-healthcheck-pull'
158     <<: *functest-params
159     container: 'functest-healthcheck'
160     jobs:
161       - 'functest-{repo}-{container}-{tag}-pull'
162
163 - project:
164     name: 'functest-opnfv-functest-smoke-pull'
165     <<: *functest-params
166     container: 'functest-smoke'
167     jobs:
168       - 'functest-{repo}-{container}-{tag}-pull'
169
170 - project:
171     name: 'functest-opnfv-functest-benchmarking-pull'
172     <<: *functest-params
173     container: 'functest-benchmarking'
174     jobs:
175       - 'functest-{repo}-{container}-{tag}-pull'
176
177 - project:
178     name: 'functest-opnfv-functest-vnf-pull'
179     <<: *functest-params
180     container: 'functest-vnf'
181     jobs:
182       - 'functest-{repo}-{container}-{tag}-pull'
183
184 - project:
185     name: 'functest-opnfv-functest-features-pull'
186     <<: *functest-params
187     container: 'functest-features'
188     jobs:
189       - 'functest-{repo}-{container}-{tag}-pull'
190
191 - job-template:
192     name: 'functest-{repo}-{container}-{tag}-rmi'
193     parameters:
194       - functest-slave:
195           slave: '{slave}'
196     builders:
197       - functest-remove-images:
198           <<: *functest-containers
199
200 - project:
201     name: 'functest-opnfv-functest-healthcheck-rmi'
202     <<: *functest-params
203     container: 'functest-healthcheck'
204     jobs:
205       - 'functest-{repo}-{container}-{tag}-rmi'
206
207 - project:
208     name: 'functest-opnfv-functest-smoke-rmi'
209     <<: *functest-params
210     container: 'functest-smoke'
211     jobs:
212       - 'functest-{repo}-{container}-{tag}-rmi'
213
214 - project:
215     name: 'functest-opnfv-functest-benchmarking-rmi'
216     <<: *functest-params
217     container: 'functest-benchmarking'
218     jobs:
219       - 'functest-{repo}-{container}-{tag}-rmi'
220
221 - project:
222     name: 'functest-opnfv-functest-vnf-rmi'
223     <<: *functest-params
224     container: 'functest-vnf'
225     jobs:
226       - 'functest-{repo}-{container}-{tag}-rmi'
227
228 - project:
229     name: 'functest-opnfv-functest-features-rmi'
230     <<: *functest-params
231     container: 'functest-features'
232     jobs:
233       - 'functest-{repo}-{container}-{tag}-rmi'
234
235 - job-template:
236     name: 'functest-{repo}-{container}-{tag}-{test}-run'
237     parameters:
238       - functest-slave:
239           slave: '{slave}'
240     builders:
241       - functest-run-containers:
242           <<: *functest-run-containers
243
244 - project:
245     name: 'functest-opnfv-functest-healthcheck'
246     <<: *functest-params
247     container: 'functest-healthcheck'
248     test:
249       - connection_check
250       - tenantnetwork1
251       - tenantnetwork2
252       - vmready1
253       - vmready2
254       - singlevm1
255       - singlevm2
256       - vping_ssh
257       - vping_userdata
258       - cinder_test
259       - odl
260       - tempest_smoke
261     jobs:
262       - 'functest-{repo}-{container}-{tag}-{test}-run'
263
264 - project:
265     name: 'functest-opnfv-functest-smoke'
266     <<: *functest-params
267     container: 'functest-smoke'
268     test:
269       - neutron-tempest-plugin-api
270       - rally_sanity
271       - refstack_defcore
272       - refstack_compute
273       - refstack_object
274       - refstack_platform
275       - tempest_full
276       - tempest_scenario
277       - patrole
278       - neutron_trunk
279       - networking-bgpvpn
280       - networking-sfc
281       - barbican
282     exclude:
283       - tag: latest
284         test: refstack_defcore
285       - tag: iruya
286         test: refstack_defcore
287       - tag: hunter
288         test: refstack_compute
289       - tag: hunter
290         test: refstack_object
291       - tag: hunter
292         test: refstack_platform
293     jobs:
294       - 'functest-{repo}-{container}-{tag}-{test}-run'
295
296 - project:
297     name: 'functest-opnfv-functest-benchmarking'
298     <<: *functest-params
299     container: 'functest-benchmarking'
300     test:
301       - rally_full
302       - rally_jobs
303       - vmtp
304       - shaker
305     jobs:
306       - 'functest-{repo}-{container}-{tag}-{test}-run'
307
308 - project:
309     name: 'functest-opnfv-functest-vnf'
310     <<: *functest-params
311     container: 'functest-vnf'
312     test:
313       - cloudify
314       - cloudify_ims
315       - heat_ims
316       - vyos_vrouter
317       - juju_epc
318     jobs:
319       - 'functest-{repo}-{container}-{tag}-{test}-run'
320
321 - project:
322     name: 'functest-opnfv-functest-features'
323     <<: *functest-params
324     container: 'functest-features'
325     test:
326       - doctor-notification
327       - functest-odl-sfc
328       - barometercollectd
329       - vgpu
330       - stor4nfv_os
331     jobs:
332       - 'functest-{repo}-{container}-{tag}-{test}-run'
333
334 - job-template:
335     name: 'functest-{tag}-daily'
336     project-type: multijob
337     triggers:
338       - timed: '@daily'
339     parameters:
340       - functest-slave:
341           slave: '{slave}'
342     properties:
343       - build-blocker:
344           use-build-blocker: true
345           blocking-level: 'NODE'
346           blocking-jobs:
347             - '^functest-{tag}-(daily|check|gate)$'
348     builders:
349       - multijob:
350           name: remove former images
351           projects:
352             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
353               <<: *functest-jobs
354             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
355               <<: *functest-jobs
356             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
357               <<: *functest-jobs
358             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
359               <<: *functest-jobs
360             - name: 'functest-opnfv-functest-features-{tag}-rmi'
361               <<: *functest-jobs
362       - multijob:
363           name: pull containers
364           projects:
365             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
366               <<: *functest-jobs
367             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
368               <<: *functest-jobs
369             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
370               <<: *functest-jobs
371             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
372               <<: *functest-jobs
373             - name: 'functest-opnfv-functest-features-{tag}-pull'
374               <<: *functest-jobs
375       - multijob:
376           name: opnfv/functest-healthcheck:{tag}
377           projects:
378             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
379               <<: *functest-jobs
380             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
381               <<: *functest-jobs
382             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
383               <<: *functest-jobs
384             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
385               <<: *functest-jobs
386             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
387               <<: *functest-jobs
388             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
389               <<: *functest-jobs
390             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
391               <<: *functest-jobs
392             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
393               <<: *functest-jobs
394             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
395               <<: *functest-jobs
396             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
397               <<: *functest-jobs
398             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
399               <<: *functest-jobs
400             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
401               <<: *functest-jobs
402       - multijob:
403           name: opnfv/functest-smoke:{tag}
404           projects:
405             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
406               <<: *functest-jobs
407             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
408               <<: *functest-jobs
409             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
410               <<: *functest-jobs
411             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
412               <<: *functest-jobs
413             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
414               <<: *functest-jobs
415             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
416               <<: *functest-jobs
417             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
418               <<: *functest-jobs
419             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
420               <<: *functest-jobs
421             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
422               <<: *functest-jobs
423             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
424               <<: *functest-jobs
425             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
426               <<: *functest-jobs
427             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
428               <<: *functest-jobs
429             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
430               <<: *functest-jobs
431       - multijob:
432           name: opnfv/functest-benchmarking:{tag}
433           projects:
434             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
435               <<: *functest-jobs
436             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
437               <<: *functest-jobs
438             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
439               <<: *functest-jobs
440             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
441               <<: *functest-jobs
442       - multijob:
443           name: opnfv/functest-vnf:{tag}
444           execution-type: SEQUENTIALLY
445           projects:
446             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
447               <<: *functest-jobs
448             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
449               <<: *functest-jobs
450             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
451               <<: *functest-jobs
452             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
453               <<: *functest-jobs
454             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
455               <<: *functest-jobs
456       - multijob:
457           name: opnfv/functest-features:{tag}
458           projects:
459             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
460               <<: *functest-jobs
461             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
462               <<: *functest-jobs
463             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
464               <<: *functest-jobs
465             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
466               <<: *functest-jobs
467             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
468               <<: *functest-jobs
469
470 - job-template:
471     name: 'functest-{repo}-{container}-{tag}-gate'
472     parameters:
473       - functest-slave:
474           slave: '{slave}'
475     scm:
476       - functest-scm:
477           ref: $GERRIT_REFSPEC
478     builders:
479       - functest-build-containers:
480           <<: *functest-build-containers
481           ref: $GERRIT_REFSPEC
482
483 - job-template:
484     name: 'functest-{repo}-{container}-{tag}-check'
485     parameters:
486       - functest-slave:
487           slave: '{slave}'
488       - functest-branch:
489           branch: '{branch}'
490     scm:
491       - functest-scm:
492           ref: $branch
493     builders:
494       - functest-build-containers:
495           <<: *functest-build-containers
496           ref: $branch
497
498 - project:
499     name: 'functest-_-alpine-3.10-rmi'
500     repo: _
501     port:
502     container: alpine
503     tag: 3.10
504     slave: master
505     jobs:
506       - 'functest-{repo}-{container}-{tag}-rmi'
507
508 - project:
509     name: 'functest-_-alpine-3.10-pull'
510     repo: _
511     port:
512     container: alpine
513     tag: 3.10
514     slave: master
515     jobs:
516       - 'functest-{repo}-{container}-{tag}-pull'
517
518 - project:
519     name: functest-opnfv-functest-core-{tag}-build
520     <<: *functest-params
521     container: functest-core
522     ref_arg: BRANCH
523     path: docker/core
524     jobs:
525       - 'functest-{repo}-{container}-{tag}-gate'
526       - 'functest-{repo}-{container}-{tag}-check'
527
528 - project:
529     name: functest-opnfv-functest-tempest-{tag}-build
530     <<: *functest-params
531     container: functest-tempest
532     ref_arg: BRANCH
533     path: docker/tempest
534     jobs:
535       - 'functest-{repo}-{container}-{tag}-gate'
536       - 'functest-{repo}-{container}-{tag}-check'
537     exclude:
538       - tag: latest
539
540 - project:
541     name: functest-opnfv-functest-healthcheck-{tag}-build
542     <<: *functest-params
543     container: functest-healthcheck
544     ref_arg: BRANCH
545     path: docker/healthcheck
546     jobs:
547       - 'functest-{repo}-{container}-{tag}-gate'
548       - 'functest-{repo}-{container}-{tag}-check'
549
550 - project:
551     name: functest-opnfv-functest-smoke-{tag}-build
552     <<: *functest-params
553     container: functest-smoke
554     ref_arg: BRANCH
555     path: docker/smoke
556     jobs:
557       - 'functest-{repo}-{container}-{tag}-gate'
558       - 'functest-{repo}-{container}-{tag}-check'
559
560 - project:
561     name: functest-opnfv-functest-benchmarking-{tag}-build
562     <<: *functest-params
563     container: functest-benchmarking
564     ref_arg: BRANCH
565     path: docker/benchmarking
566     jobs:
567       - 'functest-{repo}-{container}-{tag}-gate'
568       - 'functest-{repo}-{container}-{tag}-check'
569
570 - project:
571     name: functest-opnfv-functest-vnf-{tag}-build
572     <<: *functest-params
573     container: functest-vnf
574     ref_arg:
575     path: docker/vnf
576     jobs:
577       - 'functest-{repo}-{container}-{tag}-gate'
578       - 'functest-{repo}-{container}-{tag}-check'
579
580 - project:
581     name: functest-opnfv-functest-features-{tag}-build
582     <<: *functest-params
583     container: functest-features
584     ref_arg: BRANCH
585     path: docker/features
586     jobs:
587       - 'functest-{repo}-{container}-{tag}-gate'
588       - 'functest-{repo}-{container}-{tag}-check'
589
590 - job-template:
591     name: 'functest-{tag}-check'
592     project-type: multijob
593     parameters:
594       - functest-slave:
595           slave: '{slave}'
596       - functest-branch:
597           branch: '{branch}'
598     properties:
599       - build-blocker:
600           use-build-blocker: true
601           blocking-level: 'NODE'
602           blocking-jobs:
603             - '^functest-{tag}-(daily|check|gate)$'
604     builders:
605       - multijob:
606           name: remove former images
607           projects:
608             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
609               <<: *functest-jobs
610             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
611               <<: *functest-jobs
612             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
613               <<: *functest-jobs
614             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
615               <<: *functest-jobs
616             - name: 'functest-opnfv-functest-features-{tag}-rmi'
617               <<: *functest-jobs
618       - multijob:
619           name: remove dependencies
620           projects:
621             - name: 'functest-_-alpine-3.10-rmi'
622               <<: *functest-jobs
623       - multijob:
624           name: pull dependencies
625           projects:
626             - name: 'functest-_-alpine-3.10-pull'
627               <<: *functest-jobs
628       - multijob:
629           name: build opnfv/functest-core
630           projects:
631             - name: 'functest-opnfv-functest-core-{tag}-check'
632               <<: *functest-jobs
633       - multijob:
634           name: build opnfv/functest-tempest
635           projects:
636             - name: 'functest-opnfv-functest-tempest-{tag}-check'
637               <<: *functest-jobs
638       - multijob:
639           name: build containers
640           projects:
641             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
642               <<: *functest-jobs
643             - name: 'functest-opnfv-functest-smoke-{tag}-check'
644               <<: *functest-jobs
645             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
646               <<: *functest-jobs
647             - name: 'functest-opnfv-functest-vnf-{tag}-check'
648               <<: *functest-jobs
649             - name: 'functest-opnfv-functest-features-{tag}-check'
650               <<: *functest-jobs
651       - multijob:
652           name: opnfv/functest-healthcheck:{tag}
653           projects:
654             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
655               <<: *functest-jobs
656             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
657               <<: *functest-jobs
658             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
659               <<: *functest-jobs
660             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
661               <<: *functest-jobs
662             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
663               <<: *functest-jobs
664             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
665               <<: *functest-jobs
666             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
667               <<: *functest-jobs
668             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
669               <<: *functest-jobs
670             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
671               <<: *functest-jobs
672             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
673               <<: *functest-jobs
674             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
675               <<: *functest-jobs
676             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
677               <<: *functest-jobs
678       - multijob:
679           name: opnfv/functest-smoke:{tag}
680           projects:
681             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
682               <<: *functest-jobs
683             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
684               <<: *functest-jobs
685             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
686               <<: *functest-jobs
687             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
688               <<: *functest-jobs
689             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
690               <<: *functest-jobs
691             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
692               <<: *functest-jobs
693             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
694               <<: *functest-jobs
695             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
696               <<: *functest-jobs
697             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
698               <<: *functest-jobs
699             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
700               <<: *functest-jobs
701             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
702               <<: *functest-jobs
703             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
704               <<: *functest-jobs
705             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
706               <<: *functest-jobs
707       - multijob:
708           name: opnfv/functest-benchmarking:{tag}
709           projects:
710             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
711               <<: *functest-jobs
712             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
713               <<: *functest-jobs
714             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
715               <<: *functest-jobs
716             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
717               <<: *functest-jobs
718       - multijob:
719           name: opnfv/functest-vnf:{tag}
720           execution-type: SEQUENTIALLY
721           projects:
722             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
723               <<: *functest-jobs
724             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
725               <<: *functest-jobs
726             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
727               <<: *functest-jobs
728             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
729               <<: *functest-jobs
730             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
731               <<: *functest-jobs
732       - multijob:
733           name: opnfv/functest-features:{tag}
734           projects:
735             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
736               <<: *functest-jobs
737             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
738               <<: *functest-jobs
739             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
740               <<: *functest-jobs
741             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
742               <<: *functest-jobs
743             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
744               <<: *functest-jobs
745
746 - trigger:
747     name: functest-patchset-created
748     triggers:
749       - gerrit:
750           server-name: 'gerrit.opnfv.org'
751           trigger-on:
752             - patchset-created-event
753             - comment-added-contains-event:
754                 comment-contains-value: 'recheck'
755             - comment-added-contains-event:
756                 comment-contains-value: 'reverify'
757           projects:
758             - project-compare-type: 'ANT'
759               project-pattern: 'functest'
760               branches:
761                 - branch-compare-type: 'ANT'
762                   branch-pattern: '**/{branch}'
763           skip-vote:
764             successful: false
765             failed: false
766             unstable: false
767             notbuilt: false
768
769 - job-template:
770     name: 'functest-{tag}-gate'
771     project-type: multijob
772     triggers:
773       - functest-patchset-created:
774           branch: '{branch}'
775     parameters:
776       - functest-slave:
777           slave: '{slave}'
778     properties:
779       - build-blocker:
780           use-build-blocker: true
781           blocking-level: 'NODE'
782           blocking-jobs:
783             - '^functest-{tag}-(daily|check|gate)$'
784     builders:
785       - multijob:
786           name: remove former images
787           projects:
788             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
789               <<: *functest-jobs
790             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
791               <<: *functest-jobs
792             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
793               <<: *functest-jobs
794             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
795               <<: *functest-jobs
796             - name: 'functest-opnfv-functest-features-{tag}-rmi'
797               <<: *functest-jobs
798       - multijob:
799           name: remove dependencies
800           projects:
801             - name: 'functest-_-alpine-3.10-rmi'
802               <<: *functest-jobs
803       - multijob:
804           name: pull dependencies
805           projects:
806             - name: 'functest-_-alpine-3.10-pull'
807               <<: *functest-jobs
808       - multijob:
809           name: build opnfv/functest-core
810           projects:
811             - name: 'functest-opnfv-functest-core-{tag}-gate'
812               <<: *functest-jobs
813       - multijob:
814           name: build opnfv/functest-tempest
815           projects:
816             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
817               <<: *functest-jobs
818       - multijob:
819           name: build containers
820           projects:
821             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
822               <<: *functest-jobs
823             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
824               <<: *functest-jobs
825             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
826               <<: *functest-jobs
827             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
828               <<: *functest-jobs
829             - name: 'functest-opnfv-functest-features-{tag}-gate'
830               <<: *functest-jobs
831       - multijob:
832           name: opnfv/functest-healthcheck:{tag}
833           projects:
834             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
835               <<: *functest-jobs
836             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
837               <<: *functest-jobs
838             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
839               <<: *functest-jobs
840             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
841               <<: *functest-jobs
842             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
843               <<: *functest-jobs
844             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
845               <<: *functest-jobs
846             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
847               <<: *functest-jobs
848             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
849               <<: *functest-jobs
850             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
851               <<: *functest-jobs
852             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
853               <<: *functest-jobs
854             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
857               <<: *functest-jobs
858       - multijob:
859           name: opnfv/functest-smoke:{tag}
860           projects:
861             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
862               <<: *functest-jobs
863             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
864               <<: *functest-jobs
865             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
866               <<: *functest-jobs
867             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
868               <<: *functest-jobs
869             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
870               <<: *functest-jobs
871             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
872               <<: *functest-jobs
873             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
874               <<: *functest-jobs
875             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
876               <<: *functest-jobs
877             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
878               <<: *functest-jobs
879             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
880               <<: *functest-jobs
881             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
882               <<: *functest-jobs
883             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
884               <<: *functest-jobs
885             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
886               <<: *functest-jobs
887       - multijob:
888           name: opnfv/functest-benchmarking:{tag}
889           projects:
890             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
891               <<: *functest-jobs
892             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
893               <<: *functest-jobs
894             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
895               <<: *functest-jobs
896             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
897               <<: *functest-jobs
898       - multijob:
899           name: opnfv/functest-vnf:{tag}
900           execution-type: SEQUENTIALLY
901           projects:
902             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
903               <<: *functest-jobs
904             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
905               <<: *functest-jobs
906             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
907               <<: *functest-jobs
908             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
909               <<: *functest-jobs
910             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
911               <<: *functest-jobs
912       - multijob:
913           name: opnfv/functest-features:{tag}
914           projects:
915             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
916               <<: *functest-jobs
917             - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
918               <<: *functest-jobs
919             - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
920               <<: *functest-jobs
921             - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
922               <<: *functest-jobs
923             - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
924               <<: *functest-jobs
925
926 - project:
927     name: 'functest'
928     <<: *functest-params
929     jobs:
930       - 'functest-{tag}-daily'
931       - 'functest-{tag}-check'
932       - 'functest-{tag}-gate'
933
934 - view:
935     name: functest
936     view-type: list
937     columns:
938       - status
939       - weather
940       - job
941       - last-success
942       - last-failure
943       - last-duration
944     regex: ^functest-[a-z]+-(daily|check|gate)$