2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
19 DASHBOARD_URL: http://172.30.13.94
26 DASHBOARD_URL: http://172.30.13.94
33 DASHBOARD_URL: http://172.30.12.88
40 DASHBOARD_URL: http://172.30.12.83
47 DASHBOARD_URL: http://172.30.13.89
54 DASHBOARD_URL: http://172.30.13.91
57 - functest-jobs: &functest-jobs
59 current-parameters: true
69 name: functest-build_tag
75 name: functest-EXTERNAL_NETWORK
78 name: EXTERNAL_NETWORK
81 name: functest-VOLUME_DEVICE_NAME
84 name: VOLUME_DEVICE_NAME
87 name: functest-IMAGE_PROPERTIES
90 name: IMAGE_PROPERTIES
91 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
93 - functest-run-containers: &functest-run-containers
94 name: 'functest-run-containers'
95 <<: *functest-containers
97 privileged: '{privileged}'
99 DASHBOARD_URL: '{DASHBOARD_URL}'
102 name: functest-pull-containers
106 if [ "{repo}" = "_" ]; then
107 image={container}:{tag}
108 elif [ "{port}" = "None" ]; then
109 image={repo}/{container}:{tag}
111 image={repo}:{port}/{container}:{tag}
113 sudo docker pull $image
116 name: functest-run-containers
120 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
121 if [ "{repo}" = "_" ]; then
122 image={container}:{tag}
123 elif [ "{port}" = "None" ]; then
124 image={repo}/{container}:{tag}
126 image={repo}:{port}/{container}:{tag}
128 sudo docker run --rm \
129 --privileged={privileged} \
130 --network={network} \
131 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
132 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
133 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
134 -v /home/opnfv/functest/.boto:/root/.boto \
135 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
136 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
137 -e NODE_NAME=$slave \
138 -e BUILD_TAG=$BUILD_TAG \
139 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
140 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
141 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
142 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
143 -e DASHBOARD_URL={DASHBOARD_URL} \
144 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
145 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
146 $image run_tests -t {test} -p -r
149 name: functest-remove-images
153 if [ "{repo}" = "_" ]; then
154 image={container}:{tag}
155 elif [ "{port}" = "None" ]; then
156 image={repo}/{container}:{tag}
158 image={repo}:{port}/{container}:{tag}
160 sudo docker rmi $image || true
163 name: 'functest-{repo}-{container}-{tag}-pull'
168 - functest-pull-containers:
169 <<: *functest-containers
172 name: 'functest-opnfv-functest-healthcheck-pull'
174 container: 'functest-healthcheck'
176 - 'functest-{repo}-{container}-{tag}-pull'
179 name: 'functest-opnfv-functest-smoke-pull'
181 container: 'functest-smoke'
183 - 'functest-{repo}-{container}-{tag}-pull'
186 name: 'functest-opnfv-functest-smoke-cntt-pull'
188 container: 'functest-smoke-cntt'
190 - 'functest-{repo}-{container}-{tag}-pull'
193 name: 'functest-opnfv-functest-benchmarking-pull'
195 container: 'functest-benchmarking'
197 - 'functest-{repo}-{container}-{tag}-pull'
200 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
202 container: 'functest-benchmarking-cntt'
204 - 'functest-{repo}-{container}-{tag}-pull'
207 name: 'functest-opnfv-functest-vnf-pull'
209 container: 'functest-vnf'
211 - 'functest-{repo}-{container}-{tag}-pull'
214 name: 'functest-{repo}-{container}-{tag}-rmi'
219 - functest-remove-images:
220 <<: *functest-containers
223 name: 'functest-opnfv-functest-healthcheck-rmi'
225 container: 'functest-healthcheck'
227 - 'functest-{repo}-{container}-{tag}-rmi'
230 name: 'functest-opnfv-functest-smoke-rmi'
232 container: 'functest-smoke'
234 - 'functest-{repo}-{container}-{tag}-rmi'
237 name: 'functest-opnfv-functest-smoke-cntt-rmi'
239 container: 'functest-smoke-cntt'
241 - 'functest-{repo}-{container}-{tag}-rmi'
244 name: 'functest-opnfv-functest-benchmarking-rmi'
246 container: 'functest-benchmarking'
248 - 'functest-{repo}-{container}-{tag}-rmi'
251 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
253 container: 'functest-benchmarking-cntt'
255 - 'functest-{repo}-{container}-{tag}-rmi'
258 name: 'functest-opnfv-functest-vnf-rmi'
260 container: 'functest-vnf'
262 - 'functest-{repo}-{container}-{tag}-rmi'
265 name: 'functest-{repo}-{container}-{tag}-{test}-run'
269 - functest-build_tag:
271 - functest-EXTERNAL_NETWORK:
272 EXTERNAL_NETWORK: public
273 - functest-VOLUME_DEVICE_NAME:
274 VOLUME_DEVICE_NAME: sdb
275 - functest-IMAGE_PROPERTIES:
276 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
278 - functest-run-containers:
279 <<: *functest-run-containers
282 name: 'functest-opnfv-functest-healthcheck'
284 container: 'functest-healthcheck'
302 - 'functest-{repo}-{container}-{tag}-{test}-run'
305 name: 'functest-opnfv-functest-smoke'
307 container: 'functest-smoke'
334 - {'tag': 'latest', 'test': 'refstack_defcore'}
335 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
336 - {'tag': 'latest', 'test': 'networking-sfc'}
337 - {'tag': 'latest', 'test': 'patrole'}
338 - {'tag': 'leguer', 'test': 'refstack_defcore'}
339 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
340 - {'tag': 'leguer', 'test': 'networking-sfc'}
341 - {'tag': 'leguer', 'test': 'patrole'}
342 - {'tag': 'kali', 'test': 'refstack_defcore'}
343 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
344 - {'tag': 'kali', 'test': 'networking-sfc'}
345 - {'tag': 'kali', 'test': 'patrole_admin'}
346 - {'tag': 'kali', 'test': 'patrole_member'}
347 - {'tag': 'kali', 'test': 'patrole_reader'}
348 - {'tag': 'jerma', 'test': 'refstack_defcore'}
349 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
350 - {'tag': 'jerma', 'test': 'networking-sfc'}
351 - {'tag': 'jerma', 'test': 'patrole_admin'}
352 - {'tag': 'jerma', 'test': 'patrole_member'}
353 - {'tag': 'jerma', 'test': 'patrole_reader'}
354 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
355 - {'tag': 'iruya', 'test': 'refstack_defcore'}
356 - {'tag': 'iruya', 'test': 'patrole_admin'}
357 - {'tag': 'iruya', 'test': 'patrole_member'}
358 - {'tag': 'iruya', 'test': 'patrole_reader'}
359 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
360 - {'tag': 'hunter', 'test': 'refstack_compute'}
361 - {'tag': 'hunter', 'test': 'refstack_object'}
362 - {'tag': 'hunter', 'test': 'refstack_platform'}
363 - {'tag': 'hunter', 'test': 'tempest_octavia'}
364 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
365 - {'tag': 'hunter', 'test': 'patrole_admin'}
366 - {'tag': 'hunter', 'test': 'patrole_member'}
367 - {'tag': 'hunter', 'test': 'patrole_reader'}
368 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
370 - 'functest-{repo}-{container}-{tag}-{test}-run'
373 name: 'functest-opnfv-functest-smoke-cntt'
375 container: 'functest-smoke-cntt'
377 - tempest_neutron_cntt
378 - tempest_cinder_cntt
379 - tempest_keystone_cntt
383 - tempest_scenario_cntt
388 - 'functest-{repo}-{container}-{tag}-{test}-run'
391 name: 'functest-opnfv-functest-benchmarking'
393 container: 'functest-benchmarking'
402 - 'functest-{repo}-{container}-{tag}-{test}-run'
405 name: 'functest-opnfv-functest-benchmarking-cntt'
407 container: 'functest-benchmarking-cntt'
414 - 'functest-{repo}-{container}-{tag}-{test}-run'
417 name: 'functest-opnfv-functest-vnf'
419 container: 'functest-vnf'
429 - 'functest-{repo}-{container}-{tag}-{test}-run'
437 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
438 if [ "{repo}" = "_" ]; then
439 image={container}:{tag}
440 elif [ "{port}" = "None" ]; then
441 image={repo}/{container}:{tag}
443 image={repo}:{port}/{container}:{tag}
445 sudo docker run --rm \
446 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
447 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
448 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
449 -v /home/opnfv/functest/.boto:/root/.boto \
450 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
451 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
452 -e BUILD_TAG=$BUILD_TAG \
453 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
454 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
455 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
456 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
457 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
458 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
462 name: 'functest-{tag}-zip'
466 - functest-build_tag:
468 - functest-EXTERNAL_NETWORK:
469 EXTERNAL_NETWORK: public
470 - functest-VOLUME_DEVICE_NAME:
471 VOLUME_DEVICE_NAME: sdb
472 - functest-IMAGE_PROPERTIES:
473 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
476 <<: *functest-containers
479 name: 'functest-{tag}-zip'
481 container: 'functest-healthcheck'
483 - 'functest-{tag}-zip'
486 name: 'functest-{tag}-daily'
487 project-type: multijob
493 - functest-build_tag:
495 - functest-EXTERNAL_NETWORK:
496 EXTERNAL_NETWORK: public
497 - functest-VOLUME_DEVICE_NAME:
498 VOLUME_DEVICE_NAME: sdb
499 - functest-IMAGE_PROPERTIES:
500 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
503 use-build-blocker: true
504 blocking-level: 'NODE'
506 - '^functest-{tag}-(daily|docker|review)$'
509 name: remove former images
511 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
513 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
515 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
517 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
519 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
521 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
524 name: pull containers
526 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
528 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
530 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
532 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
534 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
536 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
539 name: opnfv/functest-healthcheck:{tag}
541 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
543 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
545 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
547 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
549 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
551 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
553 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
555 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
557 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
559 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
561 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
563 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
565 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
568 name: opnfv/functest-smoke:{tag}
570 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
572 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
574 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
576 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
578 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
580 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
582 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
584 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
586 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
588 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
590 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
592 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
594 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
602 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
604 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
606 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
608 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
610 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
612 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
615 name: opnfv/functest-smoke-cntt:{tag}
617 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
619 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
621 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
623 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
625 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
627 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
629 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
631 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
634 name: opnfv/functest-benchmarking:{tag}
636 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
638 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
640 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
642 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
645 name: opnfv/functest-benchmarking-cntt:{tag}
647 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
649 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
652 name: opnfv/functest-vnf:{tag}
654 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
656 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
658 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
660 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
662 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
665 name: dump all campaign data
667 - name: 'functest-{tag}-zip'
671 name: 'functest-daily'
674 - 'functest-{tag}-daily'
686 regex: ^functest-[a-z0-9.]+-daily$
688 - functest-build-containers: &functest-build-containers
689 name: 'functest-build-containers'
690 <<: *functest-containers
693 buildargs: '{buildargs}'
697 name: functest-build-containers
701 if [ "{repo}" = "_" ]; then
702 image={container}:{tag}
703 elif [ "{port}" = "None" ]; then
704 image={repo}/{container}:{tag}
706 image={repo}:{port}/{container}:{tag}
709 if [ "{buildargs}" != "None" ]; then
710 build_args="{buildargs}"
712 if [ "{ref_arg}" != "None" ]; then
713 build_args="$build_args --build-arg {ref_arg}={ref}"
716 if [ "{from}" != "None" ]; then
717 sed -i {from} Dockerfile
719 sudo docker build $build_args \
720 --pull=false --no-cache --force-rm=true \
727 url: 'https://gerrit.opnfv.org/gerrit/functest'
728 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
732 - functest-dep: &functest-dep
733 name: 'functest-containers'
737 dependency: '{dependency}'
740 name: functest-pull-dep-images
744 if [ "_" = "_" ]; then
745 image=alpine:{dependency}
746 elif [ "None" = "None" ]; then
747 image=_/alpine:{dependency}
749 image=_:/alpine:{dependency}
751 sudo docker pull $image || true
754 name: functest-remove-dep-images
758 if [ "_" = "_" ]; then
759 image=alpine:{dependency}
760 elif [ "" = "None" ]; then
761 image=_/alpine:{dependency}
763 image=_:/alpine:{dependency}
765 sudo docker rmi $image || true
768 name: 'functest-{repo}-{tag}-dep-pull'
773 - functest-pull-dep-images:
777 name: 'functest-{repo}-{tag}-dep-pull'
780 - 'functest-{repo}-{tag}-dep-pull'
783 name: 'functest-{repo}-{tag}-dep-rmi'
788 - functest-remove-dep-images:
792 name: 'functest-{repo}-{tag}-dep-rmi'
795 - 'functest-{repo}-{tag}-dep-rmi'
802 sudo apt-get update && sudo apt-get install \
803 software-properties-common gpg -y
804 sudo add-apt-repository -y ppa:deadsnakes/ppa
805 sudo apt-get update && sudo apt-get install python3.8 \
806 python3.8-dev python3.8-distutils \
807 python3.7 python3.7-dev python3.6 python3.6-dev \
808 python python-dev python3-pip enchant -y
809 sudo pip3 install tox tox-pip-version
814 name: 'functest-{tag}-tox'
819 - functest-patchset-created:
831 - 'functest-{tag}-tox'
834 name: 'functest-{repo}-{container}-{tag}-gate'
842 - functest-build-containers:
843 <<: *functest-build-containers
845 buildargs: '{buildargs}'
848 name: functest-opnfv-functest-core-{tag}-gate
850 container: functest-core
854 - 'functest-{repo}-{container}-{tag}-gate'
857 name: functest-opnfv-functest-tempest-{tag}-gate
859 container: functest-tempest
868 - 'functest-{repo}-{container}-{tag}-gate'
871 name: functest-opnfv-functest-healthcheck-{tag}-gate
873 container: functest-healthcheck
875 path: docker/healthcheck
877 - 'functest-{repo}-{container}-{tag}-gate'
880 name: functest-opnfv-functest-smoke-{tag}-gate
882 container: functest-smoke
886 - 'functest-{repo}-{container}-{tag}-gate'
889 name: functest-opnfv-functest-benchmarking-{tag}-gate
891 container: functest-benchmarking
893 path: docker/benchmarking
895 - 'functest-{repo}-{container}-{tag}-gate'
898 name: functest-opnfv-functest-vnf-{tag}-gate
900 container: functest-vnf
904 - 'functest-{repo}-{container}-{tag}-gate'
907 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
909 container: functest-smoke-cntt
911 path: docker/smoke-cntt
913 - 'functest-{repo}-{container}-{tag}-gate'
916 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
918 container: functest-benchmarking-cntt
920 path: docker/benchmarking-cntt
922 - 'functest-{repo}-{container}-{tag}-gate'
926 name: functest-patchset-created
930 - patchset-created-event
931 - comment-added-contains-event:
932 comment-contains-value: 'recheck'
933 - comment-added-contains-event:
934 comment-contains-value: 'reverify'
936 - project-compare-type: 'ANT'
937 project-pattern: 'functest'
939 - branch-compare-type: 'ANT'
940 branch-pattern: '**/{branch}'
943 name: 'functest-{tag}-review'
944 project-type: multijob
946 - functest-patchset-created:
951 - functest-build_tag:
953 - functest-EXTERNAL_NETWORK:
954 EXTERNAL_NETWORK: public
955 - functest-VOLUME_DEVICE_NAME:
956 VOLUME_DEVICE_NAME: sdb
957 - functest-IMAGE_PROPERTIES:
958 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
961 use-build-blocker: true
962 blocking-level: 'NODE'
964 - '^functest-{tag}-(daily|docker|review)$'
967 name: remove former images
969 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
971 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
973 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
975 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
977 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
979 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
982 name: remove dependency
984 - name: 'functest-{repo}-{tag}-dep-rmi'
987 name: pull dependency
989 - name: 'functest-{repo}-{tag}-dep-pull'
992 name: build opnfv/functest-core
994 - name: 'functest-opnfv-functest-core-{tag}-gate'
997 name: build opnfv/functest-tempest
999 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1002 name: build containers
1004 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1006 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1008 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1010 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1013 name: build cntt containers
1015 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1017 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1020 name: opnfv/functest-healthcheck:{tag}
1022 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1024 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1026 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1028 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1030 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1032 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1034 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1036 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1038 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1040 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1042 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1044 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1046 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1049 name: opnfv/functest-smoke:{tag}
1051 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1067 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1069 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1071 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1073 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1075 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1077 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1079 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1081 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1083 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1085 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1087 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1089 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1091 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1093 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1096 name: opnfv/functest-smoke-cntt:{tag}
1098 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1100 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1102 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1104 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1106 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1108 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1110 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1112 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1115 name: opnfv/functest-benchmarking:{tag}
1117 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1119 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1121 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1123 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1126 name: opnfv/functest-benchmarking-cntt:{tag}
1128 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1130 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1133 name: opnfv/functest-vnf:{tag}
1135 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1137 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1139 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1141 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1143 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1147 name: 'functest-review'
1148 <<: *functest-params
1150 - 'functest-{tag}-review'
1153 name: functest-review
1162 regex: ^functest-[a-z0-9.]+-review$
1174 regex: ^functest-[a-z0-9.]+-tox$
1177 name: functest-push-containers
1181 if [ "{repo}" = "_" ]; then
1182 image={container}:{tag}
1183 elif [ "{port}" = "None" ]; then
1184 image={repo}/{container}:{tag}
1186 image={repo}:{port}/{container}:{tag}
1188 sudo docker push $image
1191 name: functest-commit
1194 cron: "*/30 * * * *"
1197 name: 'functest-{repo}-{container}-{tag}-build'
1205 - functest-build-containers:
1206 <<: *functest-build-containers
1208 buildargs: '{buildargs}'
1209 - functest-push-containers:
1210 <<: *functest-build-containers
1214 name: functest-opnfv-functest-core-{tag}-build
1215 <<: *functest-params
1216 container: functest-core
1220 - 'functest-{repo}-{container}-{tag}-build'
1223 name: functest-opnfv-functest-tempest-{tag}-build
1224 <<: *functest-params
1225 container: functest-tempest
1227 path: docker/tempest
1234 - 'functest-{repo}-{container}-{tag}-build'
1237 name: functest-opnfv-functest-healthcheck-{tag}-build
1238 <<: *functest-params
1239 container: functest-healthcheck
1241 path: docker/healthcheck
1243 - 'functest-{repo}-{container}-{tag}-build'
1246 name: functest-opnfv-functest-smoke-{tag}-build
1247 <<: *functest-params
1248 container: functest-smoke
1252 - 'functest-{repo}-{container}-{tag}-build'
1255 name: functest-opnfv-functest-benchmarking-{tag}-build
1256 <<: *functest-params
1257 container: functest-benchmarking
1259 path: docker/benchmarking
1261 - 'functest-{repo}-{container}-{tag}-build'
1264 name: functest-opnfv-functest-vnf-{tag}-build
1265 <<: *functest-params
1266 container: functest-vnf
1270 - 'functest-{repo}-{container}-{tag}-build'
1273 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1274 <<: *functest-params
1275 container: functest-smoke-cntt
1277 path: docker/smoke-cntt
1279 - 'functest-{repo}-{container}-{tag}-build'
1282 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1283 <<: *functest-params
1284 container: functest-benchmarking-cntt
1286 path: docker/benchmarking-cntt
1288 - 'functest-{repo}-{container}-{tag}-build'
1292 name: 'functest-{tag}-docker'
1293 project-type: multijob
1304 use-build-blocker: true
1305 blocking-level: 'NODE'
1307 - '^functest-{tag}-(daily|docker|review)$'
1310 name: remove dependency
1312 - name: 'functest-{repo}-{tag}-dep-rmi'
1315 name: pull dependency
1317 - name: 'functest-{repo}-{tag}-dep-pull'
1320 name: build opnfv/functest-core
1322 - name: 'functest-opnfv-functest-core-{tag}-build'
1325 name: build opnfv/functest-tempest
1327 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1330 name: build containers
1332 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1334 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1336 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1338 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1341 name: build cntt containers
1343 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1345 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1349 name: functest-trivy
1352 sudo apt-get update && sudo apt-get install curl -y
1354 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1355 if [ "{repo}" = "_" ]; then
1356 image={container}:{tag}
1357 elif [ "{port}" = "None" ]; then
1358 image={repo}/{container}:{tag}
1360 image={repo}:{port}/{container}:{tag}
1362 ./trivy --exit-code 1 $image
1365 name: 'functest-{repo}-{container}-{tag}-trivy'
1373 <<: *functest-containers
1376 name: 'functest-opnfv-functest-core-trivy'
1377 <<: *functest-params
1378 container: 'functest-core'
1380 - 'functest-{repo}-{container}-{tag}-trivy'
1383 name: 'functest-opnfv-functest-tempest-trivy'
1384 <<: *functest-params
1385 container: 'functest-tempest'
1387 - 'functest-{repo}-{container}-{tag}-trivy'
1390 name: 'functest-opnfv-functest-healthcheck-trivy'
1391 <<: *functest-params
1392 container: 'functest-healthcheck'
1394 - 'functest-{repo}-{container}-{tag}-trivy'
1397 name: 'functest-opnfv-functest-smoke-trivy'
1398 <<: *functest-params
1399 container: 'functest-smoke'
1401 - 'functest-{repo}-{container}-{tag}-trivy'
1404 name: 'functest-opnfv-functest-benchmarking-trivy'
1405 <<: *functest-params
1406 container: 'functest-benchmarking'
1408 - 'functest-{repo}-{container}-{tag}-trivy'
1411 name: 'functest-opnfv-functest-vnf-trivy'
1412 <<: *functest-params
1413 container: 'functest-vnf'
1415 - 'functest-{repo}-{container}-{tag}-trivy'
1418 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1419 <<: *functest-params
1420 container: 'functest-smoke-cntt'
1422 - 'functest-{repo}-{container}-{tag}-trivy'
1425 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1426 <<: *functest-params
1427 container: 'functest-benchmarking-cntt'
1429 - 'functest-{repo}-{container}-{tag}-trivy'
1433 <<: *functest-params
1435 - 'functest-{tag}-docker'
1438 name: functest-docker
1447 regex: ^functest-[a-z0-9.]+-docker$
1450 name: functest-trivy
1459 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$