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" ]; 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 software-properties-common gpg -y
803 sudo add-apt-repository -y ppa:deadsnakes/ppa
804 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
805 python3.8-distutils \
806 python3.7 python3.7-dev python3.6 python3.6-dev \
807 python python-dev python3-pip enchant -y
808 sudo pip3 install tox tox-pip-version
812 name: 'functest-{tag}-tox'
817 - functest-patchset-created:
829 - 'functest-{tag}-tox'
832 name: 'functest-{repo}-{container}-{tag}-gate'
840 - functest-build-containers:
841 <<: *functest-build-containers
843 buildargs: '{buildargs}'
846 name: functest-opnfv-functest-core-{tag}-gate
848 container: functest-core
852 - 'functest-{repo}-{container}-{tag}-gate'
855 name: functest-opnfv-functest-tempest-{tag}-gate
857 container: functest-tempest
866 - 'functest-{repo}-{container}-{tag}-gate'
869 name: functest-opnfv-functest-healthcheck-{tag}-gate
871 container: functest-healthcheck
873 path: docker/healthcheck
875 - 'functest-{repo}-{container}-{tag}-gate'
878 name: functest-opnfv-functest-smoke-{tag}-gate
880 container: functest-smoke
884 - 'functest-{repo}-{container}-{tag}-gate'
887 name: functest-opnfv-functest-benchmarking-{tag}-gate
889 container: functest-benchmarking
891 path: docker/benchmarking
893 - 'functest-{repo}-{container}-{tag}-gate'
896 name: functest-opnfv-functest-vnf-{tag}-gate
898 container: functest-vnf
902 - 'functest-{repo}-{container}-{tag}-gate'
905 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
907 container: functest-smoke-cntt
909 path: docker/smoke-cntt
911 - 'functest-{repo}-{container}-{tag}-gate'
914 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
916 container: functest-benchmarking-cntt
918 path: docker/benchmarking-cntt
920 - 'functest-{repo}-{container}-{tag}-gate'
924 name: functest-patchset-created
928 - patchset-created-event
929 - comment-added-contains-event:
930 comment-contains-value: 'recheck'
931 - comment-added-contains-event:
932 comment-contains-value: 'reverify'
934 - project-compare-type: 'ANT'
935 project-pattern: 'functest'
937 - branch-compare-type: 'ANT'
938 branch-pattern: '**/{branch}'
941 name: 'functest-{tag}-review'
942 project-type: multijob
944 - functest-patchset-created:
949 - functest-build_tag:
951 - functest-EXTERNAL_NETWORK:
952 EXTERNAL_NETWORK: public
953 - functest-VOLUME_DEVICE_NAME:
954 VOLUME_DEVICE_NAME: sdb
955 - functest-IMAGE_PROPERTIES:
956 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
959 use-build-blocker: true
960 blocking-level: 'NODE'
962 - '^functest-{tag}-(daily|docker|review)$'
965 name: remove former images
967 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
969 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
971 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
973 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
975 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
977 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
980 name: remove dependency
982 - name: 'functest-{repo}-{tag}-dep-rmi'
985 name: pull dependency
987 - name: 'functest-{repo}-{tag}-dep-pull'
990 name: build opnfv/functest-core
992 - name: 'functest-opnfv-functest-core-{tag}-gate'
995 name: build opnfv/functest-tempest
997 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1000 name: build containers
1002 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1004 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1006 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1008 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1011 name: build cntt containers
1013 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1015 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1018 name: opnfv/functest-healthcheck:{tag}
1020 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1022 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1024 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1026 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1028 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1030 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1032 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1034 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1036 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1038 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1040 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1042 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1044 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1047 name: opnfv/functest-smoke:{tag}
1049 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1051 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1067 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1069 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1071 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1073 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1075 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1077 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1079 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1081 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1083 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1085 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1087 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1089 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1091 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1094 name: opnfv/functest-smoke-cntt:{tag}
1096 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1098 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1100 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1102 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1104 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1106 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1108 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1110 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1113 name: opnfv/functest-benchmarking:{tag}
1115 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1117 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1119 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1121 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1124 name: opnfv/functest-benchmarking-cntt:{tag}
1126 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1128 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1131 name: opnfv/functest-vnf:{tag}
1133 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1135 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1137 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1139 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1141 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1145 name: 'functest-review'
1146 <<: *functest-params
1148 - 'functest-{tag}-review'
1151 name: functest-review
1160 regex: ^functest-[a-z0-9.]+-review$
1172 regex: ^functest-[a-z0-9.]+-tox$
1175 name: functest-push-containers
1179 if [ "{repo}" = "_" ]; then
1180 image={container}:{tag}
1181 elif [ "{port}" = "None" ]; then
1182 image={repo}/{container}:{tag}
1184 image={repo}:{port}/{container}:{tag}
1186 sudo docker push $image
1189 name: functest-commit
1192 cron: "*/30 * * * *"
1195 name: 'functest-{repo}-{container}-{tag}-build'
1203 - functest-build-containers:
1204 <<: *functest-build-containers
1206 buildargs: '{buildargs}'
1207 - functest-push-containers:
1208 <<: *functest-build-containers
1212 name: functest-opnfv-functest-core-{tag}-build
1213 <<: *functest-params
1214 container: functest-core
1218 - 'functest-{repo}-{container}-{tag}-build'
1221 name: functest-opnfv-functest-tempest-{tag}-build
1222 <<: *functest-params
1223 container: functest-tempest
1225 path: docker/tempest
1232 - 'functest-{repo}-{container}-{tag}-build'
1235 name: functest-opnfv-functest-healthcheck-{tag}-build
1236 <<: *functest-params
1237 container: functest-healthcheck
1239 path: docker/healthcheck
1241 - 'functest-{repo}-{container}-{tag}-build'
1244 name: functest-opnfv-functest-smoke-{tag}-build
1245 <<: *functest-params
1246 container: functest-smoke
1250 - 'functest-{repo}-{container}-{tag}-build'
1253 name: functest-opnfv-functest-benchmarking-{tag}-build
1254 <<: *functest-params
1255 container: functest-benchmarking
1257 path: docker/benchmarking
1259 - 'functest-{repo}-{container}-{tag}-build'
1262 name: functest-opnfv-functest-vnf-{tag}-build
1263 <<: *functest-params
1264 container: functest-vnf
1268 - 'functest-{repo}-{container}-{tag}-build'
1271 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1272 <<: *functest-params
1273 container: functest-smoke-cntt
1275 path: docker/smoke-cntt
1277 - 'functest-{repo}-{container}-{tag}-build'
1280 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1281 <<: *functest-params
1282 container: functest-benchmarking-cntt
1284 path: docker/benchmarking-cntt
1286 - 'functest-{repo}-{container}-{tag}-build'
1290 name: 'functest-{tag}-docker'
1291 project-type: multijob
1302 use-build-blocker: true
1303 blocking-level: 'NODE'
1305 - '^functest-{tag}-(daily|docker|review)$'
1308 name: remove dependency
1310 - name: 'functest-{repo}-{tag}-dep-rmi'
1313 name: pull dependency
1315 - name: 'functest-{repo}-{tag}-dep-pull'
1318 name: build opnfv/functest-core
1320 - name: 'functest-opnfv-functest-core-{tag}-build'
1323 name: build opnfv/functest-tempest
1325 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1328 name: build containers
1330 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1332 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1334 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1336 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1339 name: build cntt containers
1341 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1343 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1347 name: functest-trivy
1350 sudo apt-get update && sudo apt-get install curl -y
1351 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1352 if [ "{repo}" = "_" ]; then
1353 image={container}:{tag}
1354 elif [ "{port}" = "None" ]; then
1355 image={repo}/{container}:{tag}
1357 image={repo}:{port}/{container}:{tag}
1359 ./trivy --exit-code 1 $image
1362 name: 'functest-{repo}-{container}-{tag}-trivy'
1370 <<: *functest-containers
1373 name: 'functest-opnfv-functest-core-trivy'
1374 <<: *functest-params
1375 container: 'functest-core'
1377 - 'functest-{repo}-{container}-{tag}-trivy'
1380 name: 'functest-opnfv-functest-tempest-trivy'
1381 <<: *functest-params
1382 container: 'functest-tempest'
1384 - 'functest-{repo}-{container}-{tag}-trivy'
1387 name: 'functest-opnfv-functest-healthcheck-trivy'
1388 <<: *functest-params
1389 container: 'functest-healthcheck'
1391 - 'functest-{repo}-{container}-{tag}-trivy'
1394 name: 'functest-opnfv-functest-smoke-trivy'
1395 <<: *functest-params
1396 container: 'functest-smoke'
1398 - 'functest-{repo}-{container}-{tag}-trivy'
1401 name: 'functest-opnfv-functest-benchmarking-trivy'
1402 <<: *functest-params
1403 container: 'functest-benchmarking'
1405 - 'functest-{repo}-{container}-{tag}-trivy'
1408 name: 'functest-opnfv-functest-vnf-trivy'
1409 <<: *functest-params
1410 container: 'functest-vnf'
1412 - 'functest-{repo}-{container}-{tag}-trivy'
1415 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1416 <<: *functest-params
1417 container: 'functest-smoke-cntt'
1419 - 'functest-{repo}-{container}-{tag}-trivy'
1422 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1423 <<: *functest-params
1424 container: 'functest-benchmarking-cntt'
1426 - 'functest-{repo}-{container}-{tag}-trivy'
1430 <<: *functest-params
1432 - 'functest-{tag}-docker'
1435 name: functest-docker
1444 regex: ^functest-[a-z0-9.]+-docker$
1447 name: functest-trivy
1456 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$