502d7d6120048f133c049336db1a810f89c30f1b
[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           dashboard_url: http://172.30.13.94
15       - kali:
16           branch: stable/kali
17           slave: lf-pod4-3
18           dashboard_url: http://172.30.12.88
19       - jerma:
20           branch: stable/jerma
21           slave: lf-pod4
22           dashboard_url: http://172.30.12.83
23       - iruya:
24           branch: stable/iruya
25           slave: lf-virtual4
26           dashboard_url: http://172.30.13.89
27       - hunter:
28           branch: stable/hunter
29           slave: lf-virtual6
30           dashboard_url: http://172.30.13.91
31       - arm64-latest:
32           branch: master
33           slave: lf-virtual9
34           dashboard_url: http://172.30.13.94
35       - arm64-kali:
36           branch: stable/kali
37           slave: lf-pod4-3
38           dashboard_url: http://172.30.12.88
39       - arm64-jerma:
40           branch: stable/jerma
41           slave: lf-pod4
42           dashboard_url: http://172.30.12.83
43       - arm64-iruya:
44           branch: stable/iruya
45           slave: lf-virtual4
46           dashboard_url: http://172.30.13.89
47       - arm64-hunter:
48           branch: stable/hunter
49           slave: lf-virtual6
50           dashboard_url: http://172.30.13.91
51
52 - parameter:
53     name: functest-slave
54     parameters:
55       - label:
56           name: slave
57           default: '{slave}'
58
59 - parameter:
60     name: functest-build_tag
61     parameters:
62       - random-string:
63           name: build_tag
64
65 - parameter:
66     name: functest-branch
67     parameters:
68       - string:
69           name: branch
70           default: '{branch}'
71
72 - parameter:
73     name: functest-DEBUG
74     parameters:
75       - string:
76           name: DEBUG
77           default: 'true'
78
79 - parameter:
80     name: functest-EXTERNAL_NETWORK
81     parameters:
82       - string:
83           name: EXTERNAL_NETWORK
84           default: public
85
86 - functest-containers: &functest-containers
87     name: 'functest-containers'
88     repo: '{repo}'
89     port: '{port}'
90     container: '{container}'
91     tag: '{tag}'
92
93 - functest-run-containers: &functest-run-containers
94     name: 'functest-run-containers'
95     <<: *functest-containers
96     test: '{test}'
97     dashboard_url: '{dashboard_url}'
98
99 - functest-build-containers: &functest-build-containers
100     name: 'functest-build-containers'
101     <<: *functest-containers
102     ref_arg: '{ref_arg}'
103     path: '{path}'
104
105 - builder:
106     name: functest-pull-containers
107     builders:
108       - shell: |
109           set +x
110           if [ "{repo}" = "_" ]; then
111             image={container}:{tag}
112           elif [ "{port}" = "None" ]; then
113             image={repo}/{container}:{tag}
114           else
115             image={repo}:{port}/{container}:{tag}
116           fi
117           sudo docker pull $image
118
119 - builder:
120     name: functest-build-containers
121     builders:
122       - shell: |
123           set +x
124           if [ "{repo}" = "_" ]; then
125             image={container}:{tag}
126           elif [ "{port}" = "None" ]; then
127             image={repo}/{container}:{tag}
128           else
129             image={repo}:{port}/{container}:{tag}
130           fi
131           if [ "{ref_arg}" = "None" ]; then
132             build_arg=""
133           else
134             build_arg="--build-arg {ref_arg}={ref}"
135           fi
136           cd {path}
137           sudo docker build $build_arg \
138             --pull=false --no-cache --force-rm=true \
139             -t $image .
140
141 - builder:
142     name: functest-run-containers
143     builders:
144       - shell: |
145           set +x
146           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
147           if [ "{repo}" = "_" ]; then
148             image={container}:{tag}
149           elif [ "{port}" = "None" ]; then
150             image={repo}/{container}:{tag}
151           else
152             image={repo}:{port}/{container}:{tag}
153           fi
154           volumes=""
155           case "{tag}" in
156             arm*-hunter)
157               volumes=-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
158                 -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static;;
159           esac
160           sudo docker run --rm \
161             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
162             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
163             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
164             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
165             -e NODE_NAME=$slave \
166             -e BUILD_TAG=$BUILD_TAG \
167             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
168             -e DEBUG=$DEBUG \
169             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
170             -e DASHBOARD_URL={dashboard_url} \
171             -e VOLUME_DEVICE_NAME=sdb \
172             -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
173             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
174             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
175             -v /home/opnfv/functest/.boto:/root/.boto \
176             $volumes $image run_tests -t {test} -r -p
177
178 - builder:
179     name: functest-remove-images
180     builders:
181       - shell: |
182           set +x
183           if [ "{repo}" = "_" ]; then
184             image={container}:{tag}
185           elif [ "{port}" = "None" ]; then
186             image={repo}/{container}:{tag}
187           else
188             image={repo}:{port}/{container}:{tag}
189           fi
190           sudo docker rmi $image || true
191
192 - scm:
193     name: functest-scm
194     scm:
195       - git:
196           url: https://gerrit.opnfv.org/gerrit/functest
197           refspec: '+refs/changes/*:refs/changes/*'
198           branches:
199             - '{ref}'
200
201 - job-template:
202     name: 'functest-{repo}-{container}-{tag}-pull'
203     parameters:
204       - functest-slave:
205           slave: '{slave}'
206     builders:
207       - functest-pull-containers:
208           <<: *functest-containers
209
210 - project:
211     name: 'functest-opnfv-functest-healthcheck-pull'
212     <<: *functest-params
213     container: 'functest-healthcheck'
214     jobs:
215       - 'functest-{repo}-{container}-{tag}-pull'
216
217 - project:
218     name: 'functest-opnfv-functest-smoke-pull'
219     <<: *functest-params
220     container: 'functest-smoke'
221     jobs:
222       - 'functest-{repo}-{container}-{tag}-pull'
223
224 - project:
225     name: 'functest-opnfv-functest-smoke-cntt-pull'
226     <<: *functest-params
227     container: 'functest-smoke-cntt'
228     jobs:
229       - 'functest-{repo}-{container}-{tag}-pull'
230
231 - project:
232     name: 'functest-opnfv-functest-benchmarking-pull'
233     <<: *functest-params
234     container: 'functest-benchmarking'
235     jobs:
236       - 'functest-{repo}-{container}-{tag}-pull'
237
238 - project:
239     name: 'functest-opnfv-functest-benchmarking-cntt-pull'
240     <<: *functest-params
241     container: 'functest-benchmarking-cntt'
242     jobs:
243       - 'functest-{repo}-{container}-{tag}-pull'
244
245 - project:
246     name: 'functest-opnfv-functest-vnf-pull'
247     <<: *functest-params
248     container: 'functest-vnf'
249     jobs:
250       - 'functest-{repo}-{container}-{tag}-pull'
251
252 - job-template:
253     name: 'functest-{repo}-{container}-{tag}-rmi'
254     parameters:
255       - functest-slave:
256           slave: '{slave}'
257     builders:
258       - functest-remove-images:
259           <<: *functest-containers
260
261 - project:
262     name: 'functest-opnfv-functest-healthcheck-rmi'
263     <<: *functest-params
264     container: 'functest-healthcheck'
265     jobs:
266       - 'functest-{repo}-{container}-{tag}-rmi'
267
268 - project:
269     name: 'functest-opnfv-functest-smoke-rmi'
270     <<: *functest-params
271     container: 'functest-smoke'
272     jobs:
273       - 'functest-{repo}-{container}-{tag}-rmi'
274
275 - project:
276     name: 'functest-opnfv-functest-smoke-cntt-rmi'
277     <<: *functest-params
278     container: 'functest-smoke-cntt'
279     jobs:
280       - 'functest-{repo}-{container}-{tag}-rmi'
281
282 - project:
283     name: 'functest-opnfv-functest-benchmarking-rmi'
284     <<: *functest-params
285     container: 'functest-benchmarking'
286     jobs:
287       - 'functest-{repo}-{container}-{tag}-rmi'
288
289 - project:
290     name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
291     <<: *functest-params
292     container: 'functest-benchmarking-cntt'
293     jobs:
294       - 'functest-{repo}-{container}-{tag}-rmi'
295
296 - project:
297     name: 'functest-opnfv-functest-vnf-rmi'
298     <<: *functest-params
299     container: 'functest-vnf'
300     jobs:
301       - 'functest-{repo}-{container}-{tag}-rmi'
302
303 - job-template:
304     name: 'functest-{repo}-{container}-{tag}-{test}-run'
305     parameters:
306       - functest-slave:
307           slave: '{slave}'
308       - functest-build_tag:
309           build_tag: ''
310       - functest-DEBUG:
311           DEBUG: 'true'
312       - functest-EXTERNAL_NETWORK:
313           EXTERNAL_NETWORK: public
314     builders:
315       - functest-run-containers:
316           <<: *functest-run-containers
317
318 - project:
319     name: 'functest-opnfv-functest-healthcheck'
320     <<: *functest-params
321     container: 'functest-healthcheck'
322     test:
323       - connection_check
324       - tenantnetwork1
325       - tenantnetwork2
326       - vmready1
327       - vmready2
328       - singlevm1
329       - singlevm2
330       - vping_ssh
331       - vping_userdata
332       - cinder_test
333       - odl
334       - tempest_smoke
335       - tempest_horizon
336     jobs:
337       - 'functest-{repo}-{container}-{tag}-{test}-run'
338
339 - project:
340     name: 'functest-opnfv-functest-smoke'
341     <<: *functest-params
342     container: 'functest-smoke'
343     test:
344       - tempest_neutron
345       - tempest_cinder
346       - tempest_keystone
347       - tempest_heat
348       - tempest_telemetry
349       - rally_sanity
350       - refstack_defcore
351       - refstack_compute
352       - refstack_object
353       - refstack_platform
354       - tempest_full
355       - tempest_scenario
356       - tempest_slow
357       - patrole
358       - patrole_admin
359       - patrole_member
360       - patrole_reader
361       - neutron_trunk
362       - networking-bgpvpn
363       - networking-sfc
364       - tempest_barbican
365       - tempest_octavia
366       - tempest_cyborg
367     exclude:
368       - tag: latest
369         test: refstack_defcore
370       - tag: latest
371         test: neutron_trunk
372       - tag: latest
373         test: networking-bgpvpn
374       - tag: latest
375         test: networking-sfc
376       - tag: latest
377         test: patrole
378       - tag: kali
379         test: refstack_defcore
380       - tag: kali
381         test: neutron_trunk
382       - tag: kali
383         test: networking-bgpvpn
384       - tag: kali
385         test: networking-sfc
386       - tag: kali
387         test: patrole_admin
388       - tag: kali
389         test: patrole_member
390       - tag: kali
391         test: patrole_reader
392       - tag: jerma
393         test: refstack_defcore
394       - tag: jerma
395         test: neutron_trunk
396       - tag: jerma
397         test: networking-bgpvpn
398       - tag: jerma
399         test: networking-sfc
400       - tag: jerma
401         test: patrole_admin
402       - tag: jerma
403         test: patrole_member
404       - tag: jerma
405         test: patrole_reader
406       - tag: jerma
407         test: tempest_cyborg
408       - tag: iruya
409         test: refstack_defcore
410       - tag: iruya
411         test: neutron_trunk
412       - tag: iruya
413         test: patrole_admin
414       - tag: iruya
415         test: patrole_member
416       - tag: iruya
417         test: patrole_reader
418       - tag: iruya
419         test: tempest_cyborg
420       - tag: hunter
421         test: refstack_compute
422       - tag: hunter
423         test: refstack_object
424       - tag: hunter
425         test: refstack_platform
426       - tag: hunter
427         test: tempest_octavia
428       - tag: hunter
429         test: neutron_trunk
430       - tag: hunter
431         test: tempest_telemetry
432       - tag: hunter
433         test: patrole_admin
434       - tag: hunter
435         test: patrole_member
436       - tag: hunter
437         test: patrole_reader
438       - tag: hunter
439         test: tempest_cyborg
440       - tag: arm64-latest
441         test: refstack_defcore
442       - tag: arm64-latest
443         test: neutron_trunk
444       - tag: arm64-latest
445         test: networking-bgpvpn
446       - tag: arm64-latest
447         test: networking-sfc
448       - tag: arm64-latest
449         test: patrole
450       - tag: arm64-kali
451         test: refstack_defcore
452       - tag: arm64-kali
453         test: neutron_trunk
454       - tag: arm64-kali
455         test: networking-bgpvpn
456       - tag: arm64-kali
457         test: networking-sfc
458       - tag: arm64-kali
459         test: patrole_admin
460       - tag: arm64-kali
461         test: patrole_member
462       - tag: arm64-kali
463         test: patrole_reader
464       - tag: arm64-jerma
465         test: refstack_defcore
466       - tag: arm64-jerma
467         test: neutron_trunk
468       - tag: arm64-jerma
469         test: networking-bgpvpn
470       - tag: arm64-jerma
471         test: networking-sfc
472       - tag: arm64-jerma
473         test: patrole_admin
474       - tag: arm64-jerma
475         test: patrole_member
476       - tag: arm64-jerma
477         test: patrole_reader
478       - tag: arm64-jerma
479         test: tempest_cyborg
480       - tag: arm64-iruya
481         test: refstack_defcore
482       - tag: arm64-iruya
483         test: neutron_trunk
484       - tag: arm64-iruya
485         test: patrole_admin
486       - tag: arm64-iruya
487         test: patrole_member
488       - tag: arm64-iruya
489         test: patrole_reader
490       - tag: arm64-iruya
491         test: tempest_cyborg
492       - tag: arm64-hunter
493         test: refstack_compute
494       - tag: arm64-hunter
495         test: refstack_object
496       - tag: arm64-hunter
497         test: refstack_platform
498       - tag: arm64-hunter
499         test: tempest_octavia
500       - tag: arm64-hunter
501         test: neutron_trunk
502       - tag: arm64-hunter
503         test: tempest_telemetry
504       - tag: arm64-hunter
505         test: patrole_admin
506       - tag: arm64-hunter
507         test: patrole_member
508       - tag: arm64-hunter
509         test: patrole_reader
510       - tag: arm64-hunter
511         test: tempest_cyborg
512     jobs:
513       - 'functest-{repo}-{container}-{tag}-{test}-run'
514
515 - project:
516     name: 'functest-opnfv-functest-smoke-cntt'
517     <<: *functest-params
518     container: 'functest-smoke-cntt'
519     test:
520       - tempest_neutron_cntt
521       - tempest_cinder_cntt
522       - tempest_keystone_cntt
523       - tempest_heat_cntt
524       - rally_sanity_cntt
525       - tempest_full_cntt
526       - tempest_scenario_cntt
527       - tempest_slow_cntt
528     jobs:
529       - 'functest-{repo}-{container}-{tag}-{test}-run'
530
531 - project:
532     name: 'functest-opnfv-functest-benchmarking'
533     <<: *functest-params
534     container: 'functest-benchmarking'
535     test:
536       - rally_full
537       - rally_jobs
538       - vmtp
539       - shaker
540     jobs:
541       - 'functest-{repo}-{container}-{tag}-{test}-run'
542
543 - project:
544     name: 'functest-opnfv-functest-benchmarking-cntt'
545     <<: *functest-params
546     container: 'functest-benchmarking-cntt'
547     test:
548       - rally_full_cntt
549       - rally_jobs_cntt
550     jobs:
551       - 'functest-{repo}-{container}-{tag}-{test}-run'
552
553 - project:
554     name: 'functest-opnfv-functest-vnf'
555     <<: *functest-params
556     container: 'functest-vnf'
557     test:
558       - cloudify
559       - cloudify_ims
560       - heat_ims
561       - vyos_vrouter
562       - juju_epc
563     jobs:
564       - 'functest-{repo}-{container}-{tag}-{test}-run'
565
566 - builder:
567     name: functest-zip
568     builders:
569       - shell: |
570           set +x
571           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
572           if [ "{repo}" = "_" ]; then
573             image={container}:{tag}
574           elif [ "{port}" = "None" ]; then
575             image={repo}/{container}:{tag}
576           else
577             image={repo}:{port}/{container}:{tag}
578           fi
579           sudo docker run --rm \
580             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
581             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
582             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
583             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
584             -e BUILD_TAG=$BUILD_TAG \
585             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
586             -v /home/opnfv/functest/.boto:/root/.boto \
587             $image zip_campaign
588
589 - job-template:
590     name: 'functest-{tag}-zip'
591     parameters:
592       - functest-build_tag:
593           build_tag: ''
594     builders:
595       - functest-zip:
596           <<: *functest-containers
597
598 - project:
599     name: 'functest-{tag}-zip'
600     <<: *functest-params
601     container: 'functest-healthcheck'
602     jobs:
603       - 'functest-{tag}-zip'
604
605 - job-template:
606     name: 'functest-{tag}-daily'
607     project-type: multijob
608     triggers:
609       - timed: '@weekly'
610     parameters:
611       - functest-slave:
612           slave: '{slave}'
613       - functest-build_tag:
614           build_tag: ''
615       - functest-DEBUG:
616           DEBUG: 'true'
617       - functest-EXTERNAL_NETWORK:
618           EXTERNAL_NETWORK: public
619     properties:
620       - build-blocker:
621           use-build-blocker: true
622           blocking-level: 'NODE'
623           blocking-jobs:
624             - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
625     builders:
626       - multijob:
627           name: remove former images
628           projects:
629             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
630               <<: *functest-jobs
631             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
632               <<: *functest-jobs
633             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
634               <<: *functest-jobs
635             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
636               <<: *functest-jobs
637             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
638               <<: *functest-jobs
639             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
640               <<: *functest-jobs
641       - multijob:
642           name: pull containers
643           projects:
644             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
645               <<: *functest-jobs
646             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
647               <<: *functest-jobs
648             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
649               <<: *functest-jobs
650             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
651               <<: *functest-jobs
652             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
653               <<: *functest-jobs
654             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
655               <<: *functest-jobs
656       - multijob:
657           name: opnfv/functest-healthcheck:{tag}
658           projects:
659             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
660               <<: *functest-jobs
661             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
662               <<: *functest-jobs
663             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
664               <<: *functest-jobs
665             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
666               <<: *functest-jobs
667             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
668               <<: *functest-jobs
669             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
670               <<: *functest-jobs
671             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
672               <<: *functest-jobs
673             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
674               <<: *functest-jobs
675             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
676               <<: *functest-jobs
677             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
678               <<: *functest-jobs
679             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
680               <<: *functest-jobs
681             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
682               <<: *functest-jobs
683             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
684               <<: *functest-jobs
685       - multijob:
686           name: opnfv/functest-smoke:{tag}
687           projects:
688             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
689               <<: *functest-jobs
690             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
691               <<: *functest-jobs
692             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
693               <<: *functest-jobs
694             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
695               <<: *functest-jobs
696             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
697               <<: *functest-jobs
698             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
699               <<: *functest-jobs
700             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
701               <<: *functest-jobs
702             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
703               <<: *functest-jobs
704             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
705               <<: *functest-jobs
706             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
707               <<: *functest-jobs
708             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
709               <<: *functest-jobs
710             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
711               <<: *functest-jobs
712             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
713               <<: *functest-jobs
714             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
715               <<: *functest-jobs
716             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
717               <<: *functest-jobs
718             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
719               <<: *functest-jobs
720             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
721               <<: *functest-jobs
722             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
723               <<: *functest-jobs
724             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
725               <<: *functest-jobs
726             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
727               <<: *functest-jobs
728             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
729               <<: *functest-jobs
730             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
731               <<: *functest-jobs
732             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
733               <<: *functest-jobs
734       - multijob:
735           name: opnfv/functest-smoke-cntt:{tag}
736           projects:
737             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
738               <<: *functest-jobs
739             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
740               <<: *functest-jobs
741             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
742               <<: *functest-jobs
743             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
744               <<: *functest-jobs
745             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
746               <<: *functest-jobs
747             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
748               <<: *functest-jobs
749             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
750               <<: *functest-jobs
751             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
752               <<: *functest-jobs
753       - multijob:
754           name: opnfv/functest-benchmarking:{tag}
755           projects:
756             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
757               <<: *functest-jobs
758             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
759               <<: *functest-jobs
760             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
761               <<: *functest-jobs
762             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
763               <<: *functest-jobs
764       - multijob:
765           name: opnfv/functest-benchmarking-cntt:{tag}
766           projects:
767             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
768               <<: *functest-jobs
769             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
770               <<: *functest-jobs
771       - multijob:
772           name: opnfv/functest-vnf:{tag}
773           projects:
774             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
775               <<: *functest-jobs
776             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
777               <<: *functest-jobs
778             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
779               <<: *functest-jobs
780             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
781               <<: *functest-jobs
782             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
783               <<: *functest-jobs
784       - multijob:
785           name: dump all campaign data
786           projects:
787             - name: 'functest-{tag}-zip'
788               <<: *functest-jobs
789
790 - job-template:
791     name: 'functest-{repo}-{container}-{tag}-gate'
792     parameters:
793       - functest-slave:
794           slave: '{slave}'
795     scm:
796       - functest-scm:
797           ref: $GERRIT_REFSPEC
798     builders:
799       - functest-build-containers:
800           <<: *functest-build-containers
801           ref: $GERRIT_REFSPEC
802
803 - job-template:
804     name: 'functest-{repo}-{container}-{tag}-check'
805     parameters:
806       - functest-slave:
807           slave: '{slave}'
808       - functest-branch:
809           branch: '{branch}'
810     scm:
811       - functest-scm:
812           ref: $branch
813     builders:
814       - functest-build-containers:
815           <<: *functest-build-containers
816           ref: $branch
817
818 - project:
819     name: 'functest-_-alpine-3.12-rmi'
820     repo: _
821     port:
822     container: alpine
823     tag: '3.12'
824     slave: master
825     jobs:
826       - 'functest-{repo}-{container}-{tag}-rmi'
827
828 - project:
829     name: 'functest-_-alpine-3.12-pull'
830     repo: _
831     port:
832     container: alpine
833     tag: '3.12'
834     slave: master
835     jobs:
836       - 'functest-{repo}-{container}-{tag}-pull'
837
838 - project:
839     name: functest-opnfv-functest-core-{tag}-build
840     <<: *functest-params
841     container: functest-core
842     ref_arg: BRANCH
843     path: docker/core
844     exclude:
845       - tag: arm64-latest
846       - tag: arm64-kali
847       - tag: arm64-jerma
848       - tag: arm64-iruya
849       - tag: arm64-hunter
850     jobs:
851       - 'functest-{repo}-{container}-{tag}-gate'
852       - 'functest-{repo}-{container}-{tag}-check'
853
854 - project:
855     name: functest-opnfv-functest-tempest-{tag}-build
856     <<: *functest-params
857     container: functest-tempest
858     ref_arg: BRANCH
859     path: docker/tempest
860     jobs:
861       - 'functest-{repo}-{container}-{tag}-gate'
862       - 'functest-{repo}-{container}-{tag}-check'
863     exclude:
864       - tag: latest
865       - tag: kali
866       - tag: jerma
867       - tag: arm64-latest
868       - tag: arm64-kali
869       - tag: arm64-jerma
870       - tag: arm64-iruya
871       - tag: arm64-hunter
872
873 - project:
874     name: functest-opnfv-functest-healthcheck-{tag}-build
875     <<: *functest-params
876     container: functest-healthcheck
877     ref_arg: BRANCH
878     path: docker/healthcheck
879     exclude:
880       - tag: arm64-latest
881       - tag: arm64-kali
882       - tag: arm64-jerma
883       - tag: arm64-iruya
884       - tag: arm64-hunter
885     jobs:
886       - 'functest-{repo}-{container}-{tag}-gate'
887       - 'functest-{repo}-{container}-{tag}-check'
888
889 - project:
890     name: functest-opnfv-functest-smoke-{tag}-build
891     <<: *functest-params
892     container: functest-smoke
893     ref_arg: BRANCH
894     path: docker/smoke
895     exclude:
896       - tag: arm64-latest
897       - tag: arm64-kali
898       - tag: arm64-jerma
899       - tag: arm64-iruya
900       - tag: arm64-hunter
901     jobs:
902       - 'functest-{repo}-{container}-{tag}-gate'
903       - 'functest-{repo}-{container}-{tag}-check'
904
905 - project:
906     name: functest-opnfv-functest-benchmarking-{tag}-build
907     <<: *functest-params
908     container: functest-benchmarking
909     ref_arg: BRANCH
910     path: docker/benchmarking
911     exclude:
912       - tag: arm64-latest
913       - tag: arm64-kali
914       - tag: arm64-jerma
915       - tag: arm64-iruya
916       - tag: arm64-hunter
917     jobs:
918       - 'functest-{repo}-{container}-{tag}-gate'
919       - 'functest-{repo}-{container}-{tag}-check'
920
921 - project:
922     name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
923     <<: *functest-params
924     container: functest-benchmarking-cntt
925     ref_arg: BRANCH
926     path: docker/benchmarking-cntt
927     exclude:
928       - tag: arm64-latest
929       - tag: arm64-kali
930       - tag: arm64-jerma
931       - tag: arm64-iruya
932       - tag: arm64-hunter
933     jobs:
934       - 'functest-{repo}-{container}-{tag}-gate'
935       - 'functest-{repo}-{container}-{tag}-check'
936
937 - project:
938     name: functest-opnfv-functest-vnf-{tag}-build
939     <<: *functest-params
940     container: functest-vnf
941     ref_arg:
942     path: docker/vnf
943     exclude:
944       - tag: arm64-latest
945       - tag: arm64-kali
946       - tag: arm64-jerma
947       - tag: arm64-iruya
948       - tag: arm64-hunter
949     jobs:
950       - 'functest-{repo}-{container}-{tag}-gate'
951       - 'functest-{repo}-{container}-{tag}-check'
952
953 - project:
954     name: functest-opnfv-functest-smoke-cntt-{tag}-build
955     <<: *functest-params
956     container: functest-smoke-cntt
957     ref_arg: BRANCH
958     path: docker/smoke-cntt
959     exclude:
960       - tag: arm64-latest
961       - tag: arm64-kali
962       - tag: arm64-jerma
963       - tag: arm64-iruya
964       - tag: arm64-hunter
965     jobs:
966       - 'functest-{repo}-{container}-{tag}-gate'
967       - 'functest-{repo}-{container}-{tag}-check'
968
969 - job-template:
970     name: 'functest-{tag}-check'
971     project-type: multijob
972     parameters:
973       - functest-slave:
974           slave: '{slave}'
975       - functest-build_tag:
976           build_tag: ''
977       - functest-branch:
978           branch: '{branch}'
979       - functest-DEBUG:
980           DEBUG: 'true'
981       - functest-EXTERNAL_NETWORK:
982           EXTERNAL_NETWORK: public
983     properties:
984       - build-blocker:
985           use-build-blocker: true
986           blocking-level: 'NODE'
987           blocking-jobs:
988             - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
989     builders:
990       - multijob:
991           name: remove former images
992           projects:
993             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
996               <<: *functest-jobs
997             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
998               <<: *functest-jobs
999             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1000               <<: *functest-jobs
1001             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1002               <<: *functest-jobs
1003             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1004               <<: *functest-jobs
1005       - multijob:
1006           name: remove dependencies
1007           projects:
1008             - name: 'functest-_-alpine-3.12-rmi'
1009               <<: *functest-jobs
1010       - multijob:
1011           name: pull dependencies
1012           projects:
1013             - name: 'functest-_-alpine-3.12-pull'
1014               <<: *functest-jobs
1015       - multijob:
1016           name: build opnfv/functest-core
1017           projects:
1018             - name: 'functest-opnfv-functest-core-{tag}-check'
1019               <<: *functest-jobs
1020       - multijob:
1021           name: build opnfv/functest-tempest
1022           projects:
1023             - name: 'functest-opnfv-functest-tempest-{tag}-check'
1024               <<: *functest-jobs
1025       - multijob:
1026           name: build containers
1027           projects:
1028             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
1029               <<: *functest-jobs
1030             - name: 'functest-opnfv-functest-smoke-{tag}-check'
1031               <<: *functest-jobs
1032             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
1033               <<: *functest-jobs
1034             - name: 'functest-opnfv-functest-vnf-{tag}-check'
1035               <<: *functest-jobs
1036       - multijob:
1037           name: build cntt containers
1038           projects:
1039             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
1040               <<: *functest-jobs
1041             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
1042               <<: *functest-jobs
1043       - multijob:
1044           name: opnfv/functest-healthcheck:{tag}
1045           projects:
1046             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1047               <<: *functest-jobs
1048             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1049               <<: *functest-jobs
1050             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1051               <<: *functest-jobs
1052             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1053               <<: *functest-jobs
1054             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1055               <<: *functest-jobs
1056             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1057               <<: *functest-jobs
1058             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1059               <<: *functest-jobs
1060             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1061               <<: *functest-jobs
1062             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1063               <<: *functest-jobs
1064             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1065               <<: *functest-jobs
1066             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1067               <<: *functest-jobs
1068             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1069               <<: *functest-jobs
1070             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1071               <<: *functest-jobs
1072       - multijob:
1073           name: opnfv/functest-smoke:{tag}
1074           projects:
1075             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1076               <<: *functest-jobs
1077             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1078               <<: *functest-jobs
1079             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1080               <<: *functest-jobs
1081             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1082               <<: *functest-jobs
1083             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1084               <<: *functest-jobs
1085             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1086               <<: *functest-jobs
1087             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1088               <<: *functest-jobs
1089             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1090               <<: *functest-jobs
1091             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1092               <<: *functest-jobs
1093             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1094               <<: *functest-jobs
1095             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1096               <<: *functest-jobs
1097             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1098               <<: *functest-jobs
1099             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1100               <<: *functest-jobs
1101             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1102               <<: *functest-jobs
1103             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1104               <<: *functest-jobs
1105             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1106               <<: *functest-jobs
1107             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1108               <<: *functest-jobs
1109             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1110               <<: *functest-jobs
1111             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1112               <<: *functest-jobs
1113             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1114               <<: *functest-jobs
1115             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1116               <<: *functest-jobs
1117             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1118               <<: *functest-jobs
1119             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1120               <<: *functest-jobs
1121       - multijob:
1122           name: opnfv/functest-smoke-cntt:{tag}
1123           projects:
1124             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1125               <<: *functest-jobs
1126             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1127               <<: *functest-jobs
1128             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1129               <<: *functest-jobs
1130             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1131               <<: *functest-jobs
1132             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1133               <<: *functest-jobs
1134             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1135               <<: *functest-jobs
1136             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1137               <<: *functest-jobs
1138             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1139               <<: *functest-jobs
1140       - multijob:
1141           name: opnfv/functest-benchmarking:{tag}
1142           projects:
1143             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1144               <<: *functest-jobs
1145             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1146               <<: *functest-jobs
1147             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1148               <<: *functest-jobs
1149             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1150               <<: *functest-jobs
1151       - multijob:
1152           name: opnfv/functest-benchmarking-cntt:{tag}
1153           projects:
1154             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1155               <<: *functest-jobs
1156             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1157               <<: *functest-jobs
1158       - multijob:
1159           name: opnfv/functest-vnf:{tag}
1160           projects:
1161             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1162               <<: *functest-jobs
1163             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1164               <<: *functest-jobs
1165             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1166               <<: *functest-jobs
1167             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1168               <<: *functest-jobs
1169             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1170               <<: *functest-jobs
1171
1172 - trigger:
1173     name: functest-patchset-created
1174     triggers:
1175       - gerrit:
1176           server-name: 'gerrit.opnfv.org'
1177           trigger-on:
1178             - patchset-created-event
1179             - comment-added-contains-event:
1180                 comment-contains-value: 'recheck'
1181             - comment-added-contains-event:
1182                 comment-contains-value: 'reverify'
1183           projects:
1184             - project-compare-type: 'ANT'
1185               project-pattern: 'functest'
1186               branches:
1187                 - branch-compare-type: 'ANT'
1188                   branch-pattern: '**/{branch}'
1189           skip-vote:
1190             successful: false
1191             failed: false
1192             unstable: false
1193             notbuilt: false
1194
1195 - job-template:
1196     name: 'functest-{tag}-gate'
1197     project-type: multijob
1198     triggers:
1199       - functest-patchset-created:
1200           branch: '{branch}'
1201     parameters:
1202       - functest-slave:
1203           slave: '{slave}'
1204       - functest-build_tag:
1205           build_tag: ''
1206       - functest-DEBUG:
1207           DEBUG: 'true'
1208       - functest-EXTERNAL_NETWORK:
1209           EXTERNAL_NETWORK: public
1210     properties:
1211       - build-blocker:
1212           use-build-blocker: true
1213           blocking-level: 'NODE'
1214           blocking-jobs:
1215             - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
1216     builders:
1217       - multijob:
1218           name: remove former images
1219           projects:
1220             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1221               <<: *functest-jobs
1222             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1223               <<: *functest-jobs
1224             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1225               <<: *functest-jobs
1226             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1227               <<: *functest-jobs
1228             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1229               <<: *functest-jobs
1230             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1231               <<: *functest-jobs
1232       - multijob:
1233           name: remove dependencies
1234           projects:
1235             - name: 'functest-_-alpine-3.12-rmi'
1236               <<: *functest-jobs
1237       - multijob:
1238           name: pull dependencies
1239           projects:
1240             - name: 'functest-_-alpine-3.12-pull'
1241               <<: *functest-jobs
1242       - multijob:
1243           name: build opnfv/functest-core
1244           projects:
1245             - name: 'functest-opnfv-functest-core-{tag}-gate'
1246               <<: *functest-jobs
1247       - multijob:
1248           name: build opnfv/functest-tempest
1249           projects:
1250             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1251               <<: *functest-jobs
1252       - multijob:
1253           name: build containers
1254           projects:
1255             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1256               <<: *functest-jobs
1257             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1258               <<: *functest-jobs
1259             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1260               <<: *functest-jobs
1261             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1262               <<: *functest-jobs
1263       - multijob:
1264           name: build cntt containers
1265           projects:
1266             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1267               <<: *functest-jobs
1268             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1269               <<: *functest-jobs
1270       - multijob:
1271           name: opnfv/functest-healthcheck:{tag}
1272           projects:
1273             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1274               <<: *functest-jobs
1275             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1276               <<: *functest-jobs
1277             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1278               <<: *functest-jobs
1279             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1280               <<: *functest-jobs
1281             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1282               <<: *functest-jobs
1283             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1284               <<: *functest-jobs
1285             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1286               <<: *functest-jobs
1287             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1288               <<: *functest-jobs
1289             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1290               <<: *functest-jobs
1291             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1292               <<: *functest-jobs
1293             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1294               <<: *functest-jobs
1295             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1296               <<: *functest-jobs
1297             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1298               <<: *functest-jobs
1299       - multijob:
1300           name: opnfv/functest-smoke:{tag}
1301           projects:
1302             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1303               <<: *functest-jobs
1304             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1305               <<: *functest-jobs
1306             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1307               <<: *functest-jobs
1308             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1309               <<: *functest-jobs
1310             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1311               <<: *functest-jobs
1312             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1313               <<: *functest-jobs
1314             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1315               <<: *functest-jobs
1316             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1317               <<: *functest-jobs
1318             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1319               <<: *functest-jobs
1320             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1321               <<: *functest-jobs
1322             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1323               <<: *functest-jobs
1324             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1325               <<: *functest-jobs
1326             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1327               <<: *functest-jobs
1328             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1329               <<: *functest-jobs
1330             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1331               <<: *functest-jobs
1332             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1333               <<: *functest-jobs
1334             - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1335               <<: *functest-jobs
1336             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1337               <<: *functest-jobs
1338             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1339               <<: *functest-jobs
1340             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1341               <<: *functest-jobs
1342             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1343               <<: *functest-jobs
1344             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1345               <<: *functest-jobs
1346             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1347               <<: *functest-jobs
1348       - multijob:
1349           name: opnfv/functest-smoke-cntt:{tag}
1350           projects:
1351             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1352               <<: *functest-jobs
1353             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1354               <<: *functest-jobs
1355             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1356               <<: *functest-jobs
1357             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1358               <<: *functest-jobs
1359             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1360               <<: *functest-jobs
1361             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1362               <<: *functest-jobs
1363             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1364               <<: *functest-jobs
1365             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1366               <<: *functest-jobs
1367       - multijob:
1368           name: opnfv/functest-benchmarking:{tag}
1369           projects:
1370             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1371               <<: *functest-jobs
1372             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1373               <<: *functest-jobs
1374             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1375               <<: *functest-jobs
1376             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1377               <<: *functest-jobs
1378       - multijob:
1379           name: opnfv/functest-benchmarking-cntt:{tag}
1380           projects:
1381             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1382               <<: *functest-jobs
1383             - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1384               <<: *functest-jobs
1385       - multijob:
1386           name: opnfv/functest-vnf:{tag}
1387           projects:
1388             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1389               <<: *functest-jobs
1390             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1391               <<: *functest-jobs
1392             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1393               <<: *functest-jobs
1394             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1395               <<: *functest-jobs
1396             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1397               <<: *functest-jobs
1398
1399 - project:
1400     name: 'functest'
1401     <<: *functest-params
1402     jobs:
1403       - 'functest-{tag}-daily'
1404
1405 - project:
1406     name: 'functest-gate'
1407     <<: *functest-params
1408     exclude:
1409       - tag: arm64-latest
1410       - tag: arm64-kali
1411       - tag: arm64-jerma
1412       - tag: arm64-iruya
1413       - tag: arm64-hunter
1414     jobs:
1415       - 'functest-{tag}-check'
1416       - 'functest-{tag}-gate'
1417
1418 - view:
1419     name: functest
1420     view-type: list
1421     columns:
1422       - status
1423       - weather
1424       - job
1425       - last-success
1426       - last-failure
1427       - last-duration
1428     regex: ^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-daily$
1429
1430 - view:
1431     name: functest-gate
1432     view-type: list
1433     columns:
1434       - status
1435       - weather
1436       - job
1437       - last-success
1438       - last-failure
1439       - last-duration
1440     regex: ^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-gate$