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