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