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