2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
14 dashboard_url: http://172.30.13.94
19 dashboard_url: http://172.30.13.94
24 dashboard_url: http://172.30.12.88
29 dashboard_url: http://172.30.12.83
34 dashboard_url: http://172.30.13.89
39 dashboard_url: http://172.30.13.91
50 name: functest-build_tag
56 name: functest-EXTERNAL_NETWORK
59 name: EXTERNAL_NETWORK
62 name: functest-VOLUME_DEVICE_NAME
65 name: VOLUME_DEVICE_NAME
68 name: functest-IMAGE_PROPERTIES
71 name: IMAGE_PROPERTIES
72 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
74 - functest-containers: &functest-containers
75 name: 'functest-containers'
78 container: '{container}'
81 - functest-run-containers: &functest-run-containers
82 name: 'functest-run-containers'
83 <<: *functest-containers
85 privileged: '{privileged}'
89 name: functest-pull-containers
93 if [ "{repo}" = "_" ]; then
94 image={container}:{tag}
95 elif [ "{port}" = "None" ]; then
96 image={repo}/{container}:{tag}
98 image={repo}:{port}/{container}:{tag}
100 sudo docker pull $image
103 name: functest-run-containers
107 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
108 if [ "{repo}" = "_" ]; then
109 image={container}:{tag}
110 elif [ "{port}" = "None" ]; then
111 image={repo}/{container}:{tag}
113 image={repo}:{port}/{container}:{tag}
115 sudo docker run --rm \
116 --privileged={privileged} \
117 --network={network} \
118 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
119 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
120 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
121 -v /home/opnfv/functest/.boto:/root/.boto \
122 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
123 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
124 -e NODE_NAME=$slave \
125 -e BUILD_TAG=$BUILD_TAG \
126 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
127 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
128 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
129 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
130 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
131 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
132 $image run_tests -t {test} -p -r
135 name: functest-remove-images
139 if [ "{repo}" = "_" ]; then
140 image={container}:{tag}
141 elif [ "{port}" = "None" ]; then
142 image={repo}/{container}:{tag}
144 image={repo}:{port}/{container}:{tag}
146 sudo docker rmi $image || true
148 - functest-build-containers: &functest-build-containers
149 name: 'functest-build-containers'
150 <<: *functest-containers
155 name: functest-build-containers
159 if [ "{repo}" = "_" ]; then
160 image={container}:{tag}
161 elif [ "{port}" = "None" ]; then
162 image={repo}/{container}:{tag}
164 image={repo}:{port}/{container}:{tag}
166 if [ "{ref_arg}" = "None" ]; then
169 build_arg="--build-arg {ref_arg}={ref}"
172 sudo docker build $build_arg \
173 --pull=false --no-cache --force-rm=true \
180 url: 'https://gerrit.opnfv.org/gerrit/functest'
181 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
186 name: 'functest-{repo}-{container}-{tag}-pull'
191 - functest-pull-containers:
192 <<: *functest-containers
195 name: 'functest-opnfv-functest-healthcheck-pull'
197 container: 'functest-healthcheck'
199 - 'functest-{repo}-{container}-{tag}-pull'
202 name: 'functest-opnfv-functest-smoke-pull'
204 container: 'functest-smoke'
206 - 'functest-{repo}-{container}-{tag}-pull'
209 name: 'functest-opnfv-functest-smoke-cntt-pull'
211 container: 'functest-smoke-cntt'
213 - 'functest-{repo}-{container}-{tag}-pull'
216 name: 'functest-opnfv-functest-benchmarking-pull'
218 container: 'functest-benchmarking'
220 - 'functest-{repo}-{container}-{tag}-pull'
223 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
225 container: 'functest-benchmarking-cntt'
227 - 'functest-{repo}-{container}-{tag}-pull'
230 name: 'functest-opnfv-functest-vnf-pull'
232 container: 'functest-vnf'
234 - 'functest-{repo}-{container}-{tag}-pull'
237 name: 'functest-{repo}-{container}-{tag}-rmi'
242 - functest-remove-images:
243 <<: *functest-containers
246 name: 'functest-opnfv-functest-healthcheck-rmi'
248 container: 'functest-healthcheck'
250 - 'functest-{repo}-{container}-{tag}-rmi'
253 name: 'functest-opnfv-functest-smoke-rmi'
255 container: 'functest-smoke'
257 - 'functest-{repo}-{container}-{tag}-rmi'
260 name: 'functest-opnfv-functest-smoke-cntt-rmi'
262 container: 'functest-smoke-cntt'
264 - 'functest-{repo}-{container}-{tag}-rmi'
267 name: 'functest-opnfv-functest-benchmarking-rmi'
269 container: 'functest-benchmarking'
271 - 'functest-{repo}-{container}-{tag}-rmi'
274 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
276 container: 'functest-benchmarking-cntt'
278 - 'functest-{repo}-{container}-{tag}-rmi'
281 name: 'functest-opnfv-functest-vnf-rmi'
283 container: 'functest-vnf'
285 - 'functest-{repo}-{container}-{tag}-rmi'
288 name: 'functest-{repo}-{container}-{tag}-{test}-run'
292 - functest-build_tag:
294 - functest-EXTERNAL_NETWORK:
295 EXTERNAL_NETWORK: public
296 - functest-VOLUME_DEVICE_NAME:
297 VOLUME_DEVICE_NAME: sdb
298 - functest-IMAGE_PROPERTIES:
299 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
301 - functest-run-containers:
302 <<: *functest-run-containers
305 name: 'functest-opnfv-functest-healthcheck'
307 container: 'functest-healthcheck'
325 - 'functest-{repo}-{container}-{tag}-{test}-run'
328 name: 'functest-opnfv-functest-smoke'
330 container: 'functest-smoke'
357 - {'tag': 'latest', 'test': 'refstack_defcore'}
358 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
359 - {'tag': 'latest', 'test': 'networking-sfc'}
360 - {'tag': 'latest', 'test': 'patrole'}
361 - {'tag': 'leguer', 'test': 'refstack_defcore'}
362 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
363 - {'tag': 'leguer', 'test': 'networking-sfc'}
364 - {'tag': 'leguer', 'test': 'patrole'}
365 - {'tag': 'kali', 'test': 'refstack_defcore'}
366 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
367 - {'tag': 'kali', 'test': 'networking-sfc'}
368 - {'tag': 'kali', 'test': 'patrole_admin'}
369 - {'tag': 'kali', 'test': 'patrole_member'}
370 - {'tag': 'kali', 'test': 'patrole_reader'}
371 - {'tag': 'jerma', 'test': 'refstack_defcore'}
372 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
373 - {'tag': 'jerma', 'test': 'networking-sfc'}
374 - {'tag': 'jerma', 'test': 'patrole_admin'}
375 - {'tag': 'jerma', 'test': 'patrole_member'}
376 - {'tag': 'jerma', 'test': 'patrole_reader'}
377 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
378 - {'tag': 'iruya', 'test': 'refstack_defcore'}
379 - {'tag': 'iruya', 'test': 'patrole_admin'}
380 - {'tag': 'iruya', 'test': 'patrole_member'}
381 - {'tag': 'iruya', 'test': 'patrole_reader'}
382 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
383 - {'tag': 'hunter', 'test': 'refstack_compute'}
384 - {'tag': 'hunter', 'test': 'refstack_object'}
385 - {'tag': 'hunter', 'test': 'refstack_platform'}
386 - {'tag': 'hunter', 'test': 'tempest_octavia'}
387 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
388 - {'tag': 'hunter', 'test': 'patrole_admin'}
389 - {'tag': 'hunter', 'test': 'patrole_member'}
390 - {'tag': 'hunter', 'test': 'patrole_reader'}
391 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
393 - 'functest-{repo}-{container}-{tag}-{test}-run'
396 name: 'functest-opnfv-functest-smoke-cntt'
398 container: 'functest-smoke-cntt'
400 - tempest_neutron_cntt
401 - tempest_cinder_cntt
402 - tempest_keystone_cntt
406 - tempest_scenario_cntt
411 - 'functest-{repo}-{container}-{tag}-{test}-run'
414 name: 'functest-opnfv-functest-benchmarking'
416 container: 'functest-benchmarking'
425 - 'functest-{repo}-{container}-{tag}-{test}-run'
428 name: 'functest-opnfv-functest-benchmarking-cntt'
430 container: 'functest-benchmarking-cntt'
437 - 'functest-{repo}-{container}-{tag}-{test}-run'
440 name: 'functest-opnfv-functest-vnf'
442 container: 'functest-vnf'
452 - 'functest-{repo}-{container}-{tag}-{test}-run'
460 if [ "{repo}" = "_" ]; then
461 image={container}:{tag}
462 elif [ "{port}" = "None" ]; then
463 image={repo}/{container}:{tag}
465 image={repo}:{port}/{container}:{tag}
467 sudo docker run --rm \
468 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
469 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
470 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
471 -v /home/opnfv/functest/.boto:/root/.boto \
472 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
473 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
474 -e BUILD_TAG=$BUILD_TAG \
475 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
476 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
477 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
478 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
479 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
480 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
484 name: 'functest-{tag}-zip'
488 - functest-build_tag:
490 - functest-EXTERNAL_NETWORK:
491 EXTERNAL_NETWORK: public
492 - functest-VOLUME_DEVICE_NAME:
493 VOLUME_DEVICE_NAME: sdb
494 - functest-IMAGE_PROPERTIES:
495 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
498 <<: *functest-containers
501 name: 'functest-{tag}-zip'
503 container: 'functest-healthcheck'
505 - 'functest-{tag}-zip'
508 name: 'functest-{tag}-daily'
509 project-type: multijob
515 - functest-build_tag:
517 - functest-EXTERNAL_NETWORK:
518 EXTERNAL_NETWORK: public
519 - functest-VOLUME_DEVICE_NAME:
520 VOLUME_DEVICE_NAME: sdb
521 - functest-IMAGE_PROPERTIES:
522 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
525 use-build-blocker: true
526 blocking-level: 'NODE'
528 - '^functest-{tag}-(daily|docker|review)$'
531 name: remove former images
533 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
535 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
537 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
539 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
541 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
543 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
546 name: pull containers
548 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
550 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
552 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
554 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
556 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
558 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
561 name: opnfv/functest-healthcheck:{tag}
563 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
565 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
567 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
569 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
571 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
573 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
575 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
577 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
579 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
581 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
583 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
585 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
587 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
590 name: opnfv/functest-smoke:{tag}
592 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
594 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
602 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
604 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
606 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
608 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
610 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
612 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
614 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
616 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
618 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
620 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
622 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
624 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
626 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
628 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
630 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
632 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
634 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
637 name: opnfv/functest-smoke-cntt:{tag}
639 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
641 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
643 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
645 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
647 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
649 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
651 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
653 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
656 name: opnfv/functest-benchmarking:{tag}
658 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
660 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
662 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
667 name: opnfv/functest-benchmarking-cntt:{tag}
669 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
671 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
674 name: opnfv/functest-vnf:{tag}
676 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
678 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
680 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
682 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
684 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
687 name: dump all campaign data
689 - name: 'functest-{tag}-zip'
693 name: 'functest-daily'
696 - 'functest-{tag}-daily'
708 regex: ^functest-[a-z0-9]+-daily$
710 - functest-dep: &functest-dep
711 name: 'functest-containers'
715 dependency: '{dependency}'
718 name: functest-pull-dep-images
722 if [ "_" = "_" ]; then
723 image=alpine:{dependency}
724 elif [ "_" = "None" ]; then
725 image=_/alpine:{dependency}
727 image=_:/alpine{dependency}
729 sudo docker pull $image || true
732 name: functest-remove-dep-images
736 if [ "_" = "_" ]; then
737 image=alpine:{dependency}
738 elif [ "_" = "None" ]; then
739 image=_/alpine:{dependency}
741 image=_:/alpine{dependency}
743 sudo docker rmi $image || true
746 name: 'functest-{repo}-{tag}-dep-pull'
751 - functest-pull-dep-images:
755 name: 'functest-{repo}-{tag}-dep-pull'
758 - 'functest-{repo}-{tag}-dep-pull'
761 name: 'functest-{repo}-{tag}-dep-rmi'
766 - functest-remove-dep-images:
770 name: 'functest-{repo}-{tag}-dep-rmi'
773 - 'functest-{repo}-{tag}-dep-rmi'
780 sudo apt-get update && sudo apt-get install software-properties-common gpg -y
781 sudo add-apt-repository -y ppa:deadsnakes/ppa
782 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
783 python3.8-distutils \
784 python3.7 python3.7-dev python3.6 python3.6-dev \
785 python python-dev python3-pip enchant -y
786 sudo pip3 install tox tox-pip-version
790 name: 'functest-{tag}-tox'
795 - functest-patchset-created:
807 - 'functest-{tag}-tox'
810 name: functest-opnfv-functest-core-{tag}-gate
812 container: functest-core
816 - 'functest-{repo}-{container}-{tag}-gate'
819 name: functest-opnfv-functest-healthcheck-{tag}-gate
821 container: functest-healthcheck
823 path: docker/healthcheck
825 - 'functest-{repo}-{container}-{tag}-gate'
828 name: functest-opnfv-functest-smoke-{tag}-gate
830 container: functest-smoke
834 - 'functest-{repo}-{container}-{tag}-gate'
837 name: functest-opnfv-functest-benchmarking-{tag}-gate
839 container: functest-benchmarking
841 path: docker/benchmarking
843 - 'functest-{repo}-{container}-{tag}-gate'
846 name: functest-opnfv-functest-vnf-{tag}-gate
848 container: functest-vnf
852 - 'functest-{repo}-{container}-{tag}-gate'
855 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
857 container: functest-smoke-cntt
859 path: docker/smoke-cntt
861 - 'functest-{repo}-{container}-{tag}-gate'
864 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
866 container: functest-benchmarking-cntt
868 path: docker/benchmarking-cntt
870 - 'functest-{repo}-{container}-{tag}-gate'
874 name: 'functest-{repo}-{container}-{tag}-gate'
882 - functest-build-containers:
883 <<: *functest-build-containers
887 name: functest-patchset-created
891 - patchset-created-event
892 - comment-added-contains-event:
893 comment-contains-value: 'recheck'
894 - comment-added-contains-event:
895 comment-contains-value: 'reverify'
897 - project-compare-type: 'ANT'
898 project-pattern: 'functest'
900 - branch-compare-type: 'ANT'
901 branch-pattern: '**/{branch}'
904 name: 'functest-{tag}-review'
905 project-type: multijob
907 - functest-patchset-created:
912 - functest-build_tag:
914 - functest-EXTERNAL_NETWORK:
915 EXTERNAL_NETWORK: public
916 - functest-VOLUME_DEVICE_NAME:
917 VOLUME_DEVICE_NAME: sdb
918 - functest-IMAGE_PROPERTIES:
919 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
922 use-build-blocker: true
923 blocking-level: 'NODE'
925 - '^functest-{tag}-(daily|docker|review)$'
928 name: remove former images
930 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
932 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
934 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
936 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
938 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
940 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
943 name: remove dependency
945 - name: 'functest-{repo}-{tag}-dep-rmi'
948 name: pull dependency
950 - name: 'functest-{repo}-{tag}-dep-pull'
953 name: build opnfv/functest-core
955 - name: 'functest-opnfv-functest-core-{tag}-gate'
958 name: build containers
960 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
962 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
964 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
966 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
969 name: build cntt containers
971 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
973 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
976 name: opnfv/functest-healthcheck:{tag}
978 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
980 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
982 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
984 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
986 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
988 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
990 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
992 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
994 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
996 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
998 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1000 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1002 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1005 name: opnfv/functest-smoke:{tag}
1007 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1009 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1011 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1013 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1015 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1017 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1019 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1021 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1023 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1025 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1027 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1029 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1031 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1033 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1035 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1037 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1039 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1041 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1043 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1045 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1047 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1049 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1052 name: opnfv/functest-smoke-cntt:{tag}
1054 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1056 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1058 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1060 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1062 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1064 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1066 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1068 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1071 name: opnfv/functest-benchmarking:{tag}
1073 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1075 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1077 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1079 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1082 name: opnfv/functest-benchmarking-cntt:{tag}
1084 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1086 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1089 name: opnfv/functest-vnf:{tag}
1091 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1093 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1095 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1097 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1099 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1103 name: 'functest-review'
1104 <<: *functest-params
1106 - 'functest-{tag}-review'
1109 name: functest-review
1118 regex: ^functest-[a-z0-9]+-review$
1130 regex: ^functest-[a-z0-9]+-tox$
1133 name: functest-push-containers
1137 if [ "{repo}" = "_" ]; then
1138 image={container}:{tag}
1139 elif [ "{port}" = "None" ]; then
1140 image={repo}/{container}:{tag}
1142 image={repo}:{port}/{container}:{tag}
1144 sudo docker push $image
1147 name: functest-commit
1150 cron: "*/30 * * * *"
1153 name: 'functest-{repo}-{container}-{tag}-build'
1161 - functest-build-containers:
1162 <<: *functest-build-containers
1164 - functest-push-containers:
1165 <<: *functest-build-containers
1169 name: functest-opnfv-functest-core-{tag}-build
1170 <<: *functest-params
1171 container: functest-core
1175 - 'functest-{repo}-{container}-{tag}-build'
1178 name: functest-opnfv-functest-healthcheck-{tag}-build
1179 <<: *functest-params
1180 container: functest-healthcheck
1182 path: docker/healthcheck
1184 - 'functest-{repo}-{container}-{tag}-build'
1187 name: functest-opnfv-functest-smoke-{tag}-build
1188 <<: *functest-params
1189 container: functest-smoke
1193 - 'functest-{repo}-{container}-{tag}-build'
1196 name: functest-opnfv-functest-benchmarking-{tag}-build
1197 <<: *functest-params
1198 container: functest-benchmarking
1200 path: docker/benchmarking
1202 - 'functest-{repo}-{container}-{tag}-build'
1205 name: functest-opnfv-functest-vnf-{tag}-build
1206 <<: *functest-params
1207 container: functest-vnf
1211 - 'functest-{repo}-{container}-{tag}-build'
1214 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1215 <<: *functest-params
1216 container: functest-smoke-cntt
1218 path: docker/smoke-cntt
1220 - 'functest-{repo}-{container}-{tag}-build'
1223 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1224 <<: *functest-params
1225 container: functest-benchmarking-cntt
1227 path: docker/benchmarking-cntt
1229 - 'functest-{repo}-{container}-{tag}-build'
1233 name: 'functest-{tag}-docker'
1234 project-type: multijob
1245 use-build-blocker: true
1246 blocking-level: 'NODE'
1248 - '^functest-{tag}-(daily|docker|review)$'
1251 name: remove dependency
1253 - name: 'functest-{repo}-{tag}-dep-rmi'
1256 name: pull dependency
1258 - name: 'functest-{repo}-{tag}-dep-pull'
1261 name: build opnfv/functest-core
1263 - name: 'functest-opnfv-functest-core-{tag}-build'
1266 name: build containers
1268 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1270 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1272 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1274 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1277 name: build cntt containers
1279 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1281 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1285 name: functest-trivy
1288 sudo apt-get update && sudo apt-get install curl -y
1289 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1290 if [ "{repo}" = "_" ]; then
1291 image={container}:{tag}
1292 elif [ "{port}" = "None" ]; then
1293 image={repo}/{container}:{tag}
1295 image={repo}:{port}/{container}:{tag}
1297 ./trivy --exit-code 1 $image
1300 name: 'functest-{repo}-{container}-{tag}-trivy'
1308 <<: *functest-containers
1311 name: 'functest-opnfv-functest-healthcheck-trivy'
1312 <<: *functest-params
1313 container: 'functest-healthcheck'
1315 - 'functest-{repo}-{container}-{tag}-trivy'
1317 name: 'functest-opnfv-functest-smoke-trivy'
1318 <<: *functest-params
1319 container: 'functest-smoke'
1321 - 'functest-{repo}-{container}-{tag}-trivy'
1323 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1324 <<: *functest-params
1325 container: 'functest-smoke-cntt'
1327 - 'functest-{repo}-{container}-{tag}-trivy'
1329 name: 'functest-opnfv-functest-benchmarking-trivy'
1330 <<: *functest-params
1331 container: 'functest-benchmarking'
1333 - 'functest-{repo}-{container}-{tag}-trivy'
1335 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1336 <<: *functest-params
1337 container: 'functest-benchmarking-cntt'
1339 - 'functest-{repo}-{container}-{tag}-trivy'
1341 name: 'functest-opnfv-functest-vnf-trivy'
1342 <<: *functest-params
1343 container: 'functest-vnf'
1345 - 'functest-{repo}-{container}-{tag}-trivy'
1349 <<: *functest-params
1351 - 'functest-{tag}-docker'
1354 name: functest-docker
1363 regex: ^functest-[a-z0-9]+-docker$
1366 name: functest-trivy
1375 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9]+-trivy$