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