2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
18 DASHBOARD_URL: http://172.30.13.94
24 DASHBOARD_URL: http://172.30.13.94
30 DASHBOARD_URL: http://172.30.12.88
36 DASHBOARD_URL: http://172.30.12.83
42 DASHBOARD_URL: http://172.30.13.89
48 DASHBOARD_URL: http://172.30.13.91
51 - functest-jobs: &functest-jobs
53 current-parameters: true
63 name: functest-build_tag
69 name: functest-EXTERNAL_NETWORK
72 name: EXTERNAL_NETWORK
75 name: functest-VOLUME_DEVICE_NAME
78 name: VOLUME_DEVICE_NAME
81 name: functest-IMAGE_PROPERTIES
84 name: IMAGE_PROPERTIES
85 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
87 - functest-run-containers: &functest-run-containers
88 name: 'functest-run-containers'
89 <<: *functest-containers
91 privileged: '{privileged}'
93 DASHBOARD_URL: '{DASHBOARD_URL}'
96 name: functest-pull-containers
100 if [ "{repo}" = "_" ]; then
101 image={container}:{tag}
102 elif [ "{port}" = "None" ]; then
103 image={repo}/{container}:{tag}
105 image={repo}:{port}/{container}:{tag}
107 sudo docker pull $image
110 name: functest-run-containers
114 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
115 if [ "{repo}" = "_" ]; then
116 image={container}:{tag}
117 elif [ "{port}" = "None" ]; then
118 image={repo}/{container}:{tag}
120 image={repo}:{port}/{container}:{tag}
122 sudo docker run --rm \
123 --privileged={privileged} \
124 --network={network} \
125 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
126 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
127 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
128 -v /home/opnfv/functest/.boto:/root/.boto \
129 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
130 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
131 -e NODE_NAME=$slave \
132 -e BUILD_TAG=$BUILD_TAG \
133 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
134 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
135 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
136 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
137 -e DASHBOARD_URL={DASHBOARD_URL} \
138 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
139 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
140 $image run_tests -t {test} -p -r
143 name: functest-remove-images
147 if [ "{repo}" = "_" ]; then
148 image={container}:{tag}
149 elif [ "{port}" = "None" ]; then
150 image={repo}/{container}:{tag}
152 image={repo}:{port}/{container}:{tag}
154 sudo docker rmi $image || true
157 name: 'functest-{repo}-{container}-{tag}-pull'
162 - functest-pull-containers:
163 <<: *functest-containers
166 name: 'functest-opnfv-functest-healthcheck-pull'
168 container: 'functest-healthcheck'
170 - 'functest-{repo}-{container}-{tag}-pull'
173 name: 'functest-opnfv-functest-smoke-pull'
175 container: 'functest-smoke'
177 - 'functest-{repo}-{container}-{tag}-pull'
180 name: 'functest-opnfv-functest-smoke-cntt-pull'
182 container: 'functest-smoke-cntt'
184 - 'functest-{repo}-{container}-{tag}-pull'
187 name: 'functest-opnfv-functest-benchmarking-pull'
189 container: 'functest-benchmarking'
191 - 'functest-{repo}-{container}-{tag}-pull'
194 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
196 container: 'functest-benchmarking-cntt'
198 - 'functest-{repo}-{container}-{tag}-pull'
201 name: 'functest-opnfv-functest-vnf-pull'
203 container: 'functest-vnf'
205 - 'functest-{repo}-{container}-{tag}-pull'
208 name: 'functest-{repo}-{container}-{tag}-rmi'
213 - functest-remove-images:
214 <<: *functest-containers
217 name: 'functest-opnfv-functest-healthcheck-rmi'
219 container: 'functest-healthcheck'
221 - 'functest-{repo}-{container}-{tag}-rmi'
224 name: 'functest-opnfv-functest-smoke-rmi'
226 container: 'functest-smoke'
228 - 'functest-{repo}-{container}-{tag}-rmi'
231 name: 'functest-opnfv-functest-smoke-cntt-rmi'
233 container: 'functest-smoke-cntt'
235 - 'functest-{repo}-{container}-{tag}-rmi'
238 name: 'functest-opnfv-functest-benchmarking-rmi'
240 container: 'functest-benchmarking'
242 - 'functest-{repo}-{container}-{tag}-rmi'
245 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
247 container: 'functest-benchmarking-cntt'
249 - 'functest-{repo}-{container}-{tag}-rmi'
252 name: 'functest-opnfv-functest-vnf-rmi'
254 container: 'functest-vnf'
256 - 'functest-{repo}-{container}-{tag}-rmi'
259 name: 'functest-{repo}-{container}-{tag}-{test}-run'
263 - functest-build_tag:
265 - functest-EXTERNAL_NETWORK:
266 EXTERNAL_NETWORK: public
267 - functest-VOLUME_DEVICE_NAME:
268 VOLUME_DEVICE_NAME: sdb
269 - functest-IMAGE_PROPERTIES:
270 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
272 - functest-run-containers:
273 <<: *functest-run-containers
276 name: 'functest-opnfv-functest-healthcheck'
278 container: 'functest-healthcheck'
296 - 'functest-{repo}-{container}-{tag}-{test}-run'
299 name: 'functest-opnfv-functest-smoke'
301 container: 'functest-smoke'
328 - {'tag': 'latest', 'test': 'refstack_defcore'}
329 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
330 - {'tag': 'latest', 'test': 'networking-sfc'}
331 - {'tag': 'latest', 'test': 'patrole'}
332 - {'tag': 'leguer', 'test': 'refstack_defcore'}
333 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
334 - {'tag': 'leguer', 'test': 'networking-sfc'}
335 - {'tag': 'leguer', 'test': 'patrole'}
336 - {'tag': 'kali', 'test': 'refstack_defcore'}
337 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
338 - {'tag': 'kali', 'test': 'networking-sfc'}
339 - {'tag': 'kali', 'test': 'patrole_admin'}
340 - {'tag': 'kali', 'test': 'patrole_member'}
341 - {'tag': 'kali', 'test': 'patrole_reader'}
342 - {'tag': 'jerma', 'test': 'refstack_defcore'}
343 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
344 - {'tag': 'jerma', 'test': 'networking-sfc'}
345 - {'tag': 'jerma', 'test': 'patrole_admin'}
346 - {'tag': 'jerma', 'test': 'patrole_member'}
347 - {'tag': 'jerma', 'test': 'patrole_reader'}
348 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
349 - {'tag': 'iruya', 'test': 'refstack_defcore'}
350 - {'tag': 'iruya', 'test': 'patrole_admin'}
351 - {'tag': 'iruya', 'test': 'patrole_member'}
352 - {'tag': 'iruya', 'test': 'patrole_reader'}
353 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
354 - {'tag': 'hunter', 'test': 'refstack_compute'}
355 - {'tag': 'hunter', 'test': 'refstack_object'}
356 - {'tag': 'hunter', 'test': 'refstack_platform'}
357 - {'tag': 'hunter', 'test': 'tempest_octavia'}
358 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
359 - {'tag': 'hunter', 'test': 'patrole_admin'}
360 - {'tag': 'hunter', 'test': 'patrole_member'}
361 - {'tag': 'hunter', 'test': 'patrole_reader'}
362 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
364 - 'functest-{repo}-{container}-{tag}-{test}-run'
367 name: 'functest-opnfv-functest-smoke-cntt'
369 container: 'functest-smoke-cntt'
371 - tempest_neutron_cntt
372 - tempest_cinder_cntt
373 - tempest_keystone_cntt
377 - tempest_scenario_cntt
382 - 'functest-{repo}-{container}-{tag}-{test}-run'
385 name: 'functest-opnfv-functest-benchmarking'
387 container: 'functest-benchmarking'
396 - 'functest-{repo}-{container}-{tag}-{test}-run'
399 name: 'functest-opnfv-functest-benchmarking-cntt'
401 container: 'functest-benchmarking-cntt'
408 - 'functest-{repo}-{container}-{tag}-{test}-run'
411 name: 'functest-opnfv-functest-vnf'
413 container: 'functest-vnf'
423 - 'functest-{repo}-{container}-{tag}-{test}-run'
431 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
432 if [ "{repo}" = "_" ]; then
433 image={container}:{tag}
434 elif [ "{port}" = "None" ]; then
435 image={repo}/{container}:{tag}
437 image={repo}:{port}/{container}:{tag}
439 sudo docker run --rm \
440 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
441 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
442 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
443 -v /home/opnfv/functest/.boto:/root/.boto \
444 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
445 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
446 -e BUILD_TAG=$BUILD_TAG \
447 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
448 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
449 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
450 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
451 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
452 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
456 name: 'functest-{tag}-zip'
460 - functest-build_tag:
462 - functest-EXTERNAL_NETWORK:
463 EXTERNAL_NETWORK: public
464 - functest-VOLUME_DEVICE_NAME:
465 VOLUME_DEVICE_NAME: sdb
466 - functest-IMAGE_PROPERTIES:
467 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
470 <<: *functest-containers
473 name: 'functest-{tag}-zip'
475 container: 'functest-healthcheck'
477 - 'functest-{tag}-zip'
480 name: 'functest-{tag}-daily'
481 project-type: multijob
487 - functest-build_tag:
489 - functest-EXTERNAL_NETWORK:
490 EXTERNAL_NETWORK: public
491 - functest-VOLUME_DEVICE_NAME:
492 VOLUME_DEVICE_NAME: sdb
493 - functest-IMAGE_PROPERTIES:
494 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
497 use-build-blocker: true
498 blocking-level: 'NODE'
500 - '^functest-{tag}-(daily|docker|review)$'
503 name: remove former images
505 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
507 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
509 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
511 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
513 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
515 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
518 name: pull containers
520 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
522 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
524 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
526 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
528 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
530 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
533 name: opnfv/functest-healthcheck:{tag}
535 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
537 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
539 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
541 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
543 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
545 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
547 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
549 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
551 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
553 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
555 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
557 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
559 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
562 name: opnfv/functest-smoke:{tag}
564 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
566 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
568 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
570 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
572 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
574 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
576 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
578 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
580 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
582 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
584 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
586 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
588 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
590 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
592 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
594 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
602 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
604 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
606 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
609 name: opnfv/functest-smoke-cntt:{tag}
611 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
613 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
615 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
617 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
619 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
621 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
623 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
625 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
628 name: opnfv/functest-benchmarking:{tag}
630 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
632 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
634 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
636 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
639 name: opnfv/functest-benchmarking-cntt:{tag}
641 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
643 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
646 name: opnfv/functest-vnf:{tag}
648 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
650 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
652 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
654 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
656 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
659 name: dump all campaign data
661 - name: 'functest-{tag}-zip'
665 name: 'functest-daily'
668 - 'functest-{tag}-daily'
680 regex: ^functest-[a-z0-9.]+-daily$
682 - functest-build-containers: &functest-build-containers
683 name: 'functest-build-containers'
684 <<: *functest-containers
687 buildargs: '{buildargs}'
690 name: functest-build-containers
694 if [ "{repo}" = "_" ]; then
695 image={container}:{tag}
696 elif [ "{port}" = "None" ]; then
697 image={repo}/{container}:{tag}
699 image={repo}:{port}/{container}:{tag}
702 if [ "{buildargs}" != "None" ]; then
703 build_args="{buildargs} "
705 if [ "{ref_arg}" != "None" ]; then
706 build_args="--build-arg {ref_arg}={ref}"
709 sudo docker build $build_args \
710 --pull=false --no-cache --force-rm=true \
717 url: 'https://gerrit.opnfv.org/gerrit/functest'
718 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
722 - functest-dep: &functest-dep
723 name: 'functest-containers'
727 dependency: '{dependency}'
730 name: functest-pull-dep-images
734 if [ "_" = "_" ]; then
735 image=alpine:{dependency}
736 elif [ "_" = "None" ]; then
737 image=_/alpine:{dependency}
739 image=_:/alpine{dependency}
741 sudo docker pull $image || true
744 name: functest-remove-dep-images
748 if [ "_" = "_" ]; then
749 image=alpine:{dependency}
750 elif [ "_" = "None" ]; then
751 image=_/alpine:{dependency}
753 image=_:/alpine{dependency}
755 sudo docker rmi $image || true
758 name: 'functest-{repo}-{tag}-dep-pull'
763 - functest-pull-dep-images:
767 name: 'functest-{repo}-{tag}-dep-pull'
770 - 'functest-{repo}-{tag}-dep-pull'
773 name: 'functest-{repo}-{tag}-dep-rmi'
778 - functest-remove-dep-images:
782 name: 'functest-{repo}-{tag}-dep-rmi'
785 - 'functest-{repo}-{tag}-dep-rmi'
792 sudo apt-get update && sudo apt-get install software-properties-common gpg -y
793 sudo add-apt-repository -y ppa:deadsnakes/ppa
794 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
795 python3.8-distutils \
796 python3.7 python3.7-dev python3.6 python3.6-dev \
797 python python-dev python3-pip enchant -y
798 sudo pip3 install tox tox-pip-version
802 name: 'functest-{tag}-tox'
807 - functest-patchset-created:
819 - 'functest-{tag}-tox'
822 name: 'functest-{repo}-{container}-{tag}-gate'
830 - functest-build-containers:
831 <<: *functest-build-containers
833 buildargs: '{buildargs}'
836 name: functest-opnfv-functest-core-{tag}-gate
838 container: functest-core
842 - 'functest-{repo}-{container}-{tag}-gate'
845 name: functest-opnfv-functest-tempest-{tag}-gate
847 container: functest-tempest
856 - 'functest-{repo}-{container}-{tag}-gate'
859 name: functest-opnfv-functest-healthcheck-{tag}-gate
861 container: functest-healthcheck
863 path: docker/healthcheck
865 - 'functest-{repo}-{container}-{tag}-gate'
868 name: functest-opnfv-functest-smoke-{tag}-gate
870 container: functest-smoke
874 - 'functest-{repo}-{container}-{tag}-gate'
877 name: functest-opnfv-functest-benchmarking-{tag}-gate
879 container: functest-benchmarking
881 path: docker/benchmarking
883 - 'functest-{repo}-{container}-{tag}-gate'
886 name: functest-opnfv-functest-vnf-{tag}-gate
888 container: functest-vnf
892 - 'functest-{repo}-{container}-{tag}-gate'
895 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
897 container: functest-smoke-cntt
899 path: docker/smoke-cntt
901 - 'functest-{repo}-{container}-{tag}-gate'
904 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
906 container: functest-benchmarking-cntt
908 path: docker/benchmarking-cntt
910 - 'functest-{repo}-{container}-{tag}-gate'
914 name: functest-patchset-created
918 - patchset-created-event
919 - comment-added-contains-event:
920 comment-contains-value: 'recheck'
921 - comment-added-contains-event:
922 comment-contains-value: 'reverify'
924 - project-compare-type: 'ANT'
925 project-pattern: 'functest'
927 - branch-compare-type: 'ANT'
928 branch-pattern: '**/{branch}'
931 name: 'functest-{tag}-review'
932 project-type: multijob
934 - functest-patchset-created:
939 - functest-build_tag:
941 - functest-EXTERNAL_NETWORK:
942 EXTERNAL_NETWORK: public
943 - functest-VOLUME_DEVICE_NAME:
944 VOLUME_DEVICE_NAME: sdb
945 - functest-IMAGE_PROPERTIES:
946 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
949 use-build-blocker: true
950 blocking-level: 'NODE'
952 - '^functest-{tag}-(daily|docker|review)$'
955 name: remove former images
957 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
959 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
961 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
963 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
965 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
967 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
970 name: remove dependency
972 - name: 'functest-{repo}-{tag}-dep-rmi'
975 name: pull dependency
977 - name: 'functest-{repo}-{tag}-dep-pull'
980 name: build opnfv/functest-core
982 - name: 'functest-opnfv-functest-core-{tag}-gate'
985 name: build opnfv/functest-tempest
987 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
990 name: build containers
992 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
994 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
996 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
998 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1001 name: build cntt containers
1003 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1005 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1008 name: opnfv/functest-healthcheck:{tag}
1010 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1012 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1014 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1016 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1018 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1020 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1022 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1024 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1026 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1028 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1030 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1032 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1034 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1037 name: opnfv/functest-smoke:{tag}
1039 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1041 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1043 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1045 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1047 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1049 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1051 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1067 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1069 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1071 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1073 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1075 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1077 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1079 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1081 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1084 name: opnfv/functest-smoke-cntt:{tag}
1086 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1088 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1090 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1092 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1094 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1096 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1098 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1100 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1103 name: opnfv/functest-benchmarking:{tag}
1105 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1107 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1109 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1111 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1114 name: opnfv/functest-benchmarking-cntt:{tag}
1116 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1118 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1121 name: opnfv/functest-vnf:{tag}
1123 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1125 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1127 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1129 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1131 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1135 name: 'functest-review'
1136 <<: *functest-params
1138 - 'functest-{tag}-review'
1141 name: functest-review
1150 regex: ^functest-[a-z0-9.]+-review$
1162 regex: ^functest-[a-z0-9.]+-tox$
1165 name: functest-push-containers
1169 if [ "{repo}" = "_" ]; then
1170 image={container}:{tag}
1171 elif [ "{port}" = "None" ]; then
1172 image={repo}/{container}:{tag}
1174 image={repo}:{port}/{container}:{tag}
1176 sudo docker push $image
1179 name: functest-commit
1182 cron: "*/30 * * * *"
1185 name: 'functest-{repo}-{container}-{tag}-build'
1193 - functest-build-containers:
1194 <<: *functest-build-containers
1196 buildargs: '{buildargs}'
1197 - functest-push-containers:
1198 <<: *functest-build-containers
1202 name: functest-opnfv-functest-core-{tag}-build
1203 <<: *functest-params
1204 container: functest-core
1208 - 'functest-{repo}-{container}-{tag}-build'
1211 name: functest-opnfv-functest-tempest-{tag}-build
1212 <<: *functest-params
1213 container: functest-tempest
1215 path: docker/tempest
1222 - 'functest-{repo}-{container}-{tag}-build'
1225 name: functest-opnfv-functest-healthcheck-{tag}-build
1226 <<: *functest-params
1227 container: functest-healthcheck
1229 path: docker/healthcheck
1231 - 'functest-{repo}-{container}-{tag}-build'
1234 name: functest-opnfv-functest-smoke-{tag}-build
1235 <<: *functest-params
1236 container: functest-smoke
1240 - 'functest-{repo}-{container}-{tag}-build'
1243 name: functest-opnfv-functest-benchmarking-{tag}-build
1244 <<: *functest-params
1245 container: functest-benchmarking
1247 path: docker/benchmarking
1249 - 'functest-{repo}-{container}-{tag}-build'
1252 name: functest-opnfv-functest-vnf-{tag}-build
1253 <<: *functest-params
1254 container: functest-vnf
1258 - 'functest-{repo}-{container}-{tag}-build'
1261 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1262 <<: *functest-params
1263 container: functest-smoke-cntt
1265 path: docker/smoke-cntt
1267 - 'functest-{repo}-{container}-{tag}-build'
1270 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1271 <<: *functest-params
1272 container: functest-benchmarking-cntt
1274 path: docker/benchmarking-cntt
1276 - 'functest-{repo}-{container}-{tag}-build'
1280 name: 'functest-{tag}-docker'
1281 project-type: multijob
1292 use-build-blocker: true
1293 blocking-level: 'NODE'
1295 - '^functest-{tag}-(daily|docker|review)$'
1298 name: remove dependency
1300 - name: 'functest-{repo}-{tag}-dep-rmi'
1303 name: pull dependency
1305 - name: 'functest-{repo}-{tag}-dep-pull'
1308 name: build opnfv/functest-core
1310 - name: 'functest-opnfv-functest-core-{tag}-build'
1313 name: build opnfv/functest-tempest
1315 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1318 name: build containers
1320 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1322 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1324 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1326 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1329 name: build cntt containers
1331 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1333 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1337 name: functest-trivy
1340 sudo apt-get update && sudo apt-get install curl -y
1341 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1342 if [ "{repo}" = "_" ]; then
1343 image={container}:{tag}
1344 elif [ "{port}" = "None" ]; then
1345 image={repo}/{container}:{tag}
1347 image={repo}:{port}/{container}:{tag}
1349 ./trivy --exit-code 1 $image
1352 name: 'functest-{repo}-{container}-{tag}-trivy'
1360 <<: *functest-containers
1363 name: 'functest-opnfv-functest-healthcheck-trivy'
1364 <<: *functest-params
1365 container: 'functest-healthcheck'
1367 - 'functest-{repo}-{container}-{tag}-trivy'
1369 name: 'functest-opnfv-functest-smoke-trivy'
1370 <<: *functest-params
1371 container: 'functest-smoke'
1373 - 'functest-{repo}-{container}-{tag}-trivy'
1375 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1376 <<: *functest-params
1377 container: 'functest-smoke-cntt'
1379 - 'functest-{repo}-{container}-{tag}-trivy'
1381 name: 'functest-opnfv-functest-benchmarking-trivy'
1382 <<: *functest-params
1383 container: 'functest-benchmarking'
1385 - 'functest-{repo}-{container}-{tag}-trivy'
1387 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1388 <<: *functest-params
1389 container: 'functest-benchmarking-cntt'
1391 - 'functest-{repo}-{container}-{tag}-trivy'
1393 name: 'functest-opnfv-functest-vnf-trivy'
1394 <<: *functest-params
1395 container: 'functest-vnf'
1397 - 'functest-{repo}-{container}-{tag}-trivy'
1401 <<: *functest-params
1403 - 'functest-{tag}-docker'
1406 name: functest-docker
1415 regex: ^functest-[a-z0-9.]+-docker$
1418 name: functest-trivy
1427 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$