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
24 branch: stable/wallaby
26 DASHBOARD_URL: http://172.30.13.91
33 DASHBOARD_URL: http://172.30.13.94
40 DASHBOARD_URL: http://172.30.12.88
47 DASHBOARD_URL: http://172.30.12.83
50 - functest-jobs: &functest-jobs
52 current-parameters: true
62 name: functest-build_tag
68 name: functest-EXTERNAL_NETWORK
71 name: EXTERNAL_NETWORK
74 name: functest-VOLUME_DEVICE_NAME
77 name: VOLUME_DEVICE_NAME
80 name: functest-IMAGE_PROPERTIES
83 name: IMAGE_PROPERTIES
84 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
86 - functest-run-containers: &functest-run-containers
87 name: 'functest-run-containers'
88 <<: *functest-containers
90 privileged: '{privileged}'
92 DASHBOARD_URL: '{DASHBOARD_URL}'
95 name: functest-pull-containers
99 if [ "{repo}" = "_" ]; then
100 image={container}:{tag}
101 elif [ "{port}" = "None" ]; then
102 image={repo}/{container}:{tag}
104 image={repo}:{port}/{container}:{tag}
106 sudo docker pull $image
109 name: functest-run-containers
113 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
114 if [ "{repo}" = "_" ]; then
115 image={container}:{tag}
116 elif [ "{port}" = "None" ]; then
117 image={repo}/{container}:{tag}
119 image={repo}:{port}/{container}:{tag}
121 sudo docker run --rm \
122 --privileged={privileged} \
123 --network={network} \
124 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
125 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
126 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
127 -v /home/opnfv/functest/.boto:/root/.boto \
128 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
129 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
130 -e NODE_NAME=$slave \
131 -e BUILD_TAG=$BUILD_TAG \
132 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
133 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
134 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
135 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
136 -e DASHBOARD_URL={DASHBOARD_URL} \
137 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
138 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
139 $image run_tests -t {test} -p -r
142 name: functest-remove-images
146 if [ "{repo}" = "_" ]; then
147 image={container}:{tag}
148 elif [ "{port}" = "None" ]; then
149 image={repo}/{container}:{tag}
151 image={repo}:{port}/{container}:{tag}
153 sudo docker rmi $image || true
156 name: 'functest-{repo}-{container}-{tag}-pull'
161 - functest-pull-containers:
162 <<: *functest-containers
165 name: 'functest-opnfv-functest-healthcheck-pull'
167 container: 'functest-healthcheck'
169 - 'functest-{repo}-{container}-{tag}-pull'
172 name: 'functest-opnfv-functest-smoke-pull'
174 container: 'functest-smoke'
176 - 'functest-{repo}-{container}-{tag}-pull'
179 name: 'functest-opnfv-functest-smoke-cntt-pull'
181 container: 'functest-smoke-cntt'
183 - 'functest-{repo}-{container}-{tag}-pull'
186 name: 'functest-opnfv-functest-benchmarking-pull'
188 container: 'functest-benchmarking'
190 - 'functest-{repo}-{container}-{tag}-pull'
193 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
195 container: 'functest-benchmarking-cntt'
197 - 'functest-{repo}-{container}-{tag}-pull'
200 name: 'functest-opnfv-functest-vnf-pull'
202 container: 'functest-vnf'
204 - 'functest-{repo}-{container}-{tag}-pull'
207 name: 'functest-{repo}-{container}-{tag}-rmi'
212 - functest-remove-images:
213 <<: *functest-containers
216 name: 'functest-opnfv-functest-healthcheck-rmi'
218 container: 'functest-healthcheck'
220 - 'functest-{repo}-{container}-{tag}-rmi'
223 name: 'functest-opnfv-functest-smoke-rmi'
225 container: 'functest-smoke'
227 - 'functest-{repo}-{container}-{tag}-rmi'
230 name: 'functest-opnfv-functest-smoke-cntt-rmi'
232 container: 'functest-smoke-cntt'
234 - 'functest-{repo}-{container}-{tag}-rmi'
237 name: 'functest-opnfv-functest-benchmarking-rmi'
239 container: 'functest-benchmarking'
241 - 'functest-{repo}-{container}-{tag}-rmi'
244 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
246 container: 'functest-benchmarking-cntt'
248 - 'functest-{repo}-{container}-{tag}-rmi'
251 name: 'functest-opnfv-functest-vnf-rmi'
253 container: 'functest-vnf'
255 - 'functest-{repo}-{container}-{tag}-rmi'
258 name: 'functest-{repo}-{container}-{tag}-{test}-run'
262 - functest-build_tag:
264 - functest-EXTERNAL_NETWORK:
265 EXTERNAL_NETWORK: public
266 - functest-VOLUME_DEVICE_NAME:
267 VOLUME_DEVICE_NAME: sdb
268 - functest-IMAGE_PROPERTIES:
269 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
271 - functest-run-containers:
272 <<: *functest-run-containers
275 name: 'functest-opnfv-functest-healthcheck'
277 container: 'functest-healthcheck'
295 - 'functest-{repo}-{container}-{tag}-{test}-run'
298 name: 'functest-opnfv-functest-smoke'
300 container: 'functest-smoke'
327 - {'tag': 'latest', 'test': 'refstack_defcore'}
328 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
329 - {'tag': 'latest', 'test': 'networking-sfc'}
330 - {'tag': 'latest', 'test': 'patrole'}
331 - {'tag': 'wallaby', 'test': 'refstack_defcore'}
332 - {'tag': 'wallaby', 'test': 'networking-bgpvpn'}
333 - {'tag': 'wallaby', 'test': 'networking-sfc'}
334 - {'tag': 'wallaby', 'test': 'patrole'}
335 - {'tag': 'leguer', 'test': 'refstack_defcore'}
336 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
337 - {'tag': 'leguer', 'test': 'networking-sfc'}
338 - {'tag': 'leguer', 'test': 'patrole'}
339 - {'tag': 'kali', 'test': 'refstack_defcore'}
340 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
341 - {'tag': 'kali', 'test': 'networking-sfc'}
342 - {'tag': 'kali', 'test': 'patrole_admin'}
343 - {'tag': 'kali', 'test': 'patrole_member'}
344 - {'tag': 'kali', 'test': 'patrole_reader'}
345 - {'tag': 'jerma', 'test': 'refstack_defcore'}
346 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
347 - {'tag': 'jerma', 'test': 'networking-sfc'}
348 - {'tag': 'jerma', 'test': 'patrole_admin'}
349 - {'tag': 'jerma', 'test': 'patrole_member'}
350 - {'tag': 'jerma', 'test': 'patrole_reader'}
351 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
353 - 'functest-{repo}-{container}-{tag}-{test}-run'
356 name: 'functest-opnfv-functest-smoke-cntt'
358 container: 'functest-smoke-cntt'
360 - tempest_neutron_cntt
361 - tempest_cinder_cntt
362 - tempest_keystone_cntt
366 - tempest_scenario_cntt
371 - 'functest-{repo}-{container}-{tag}-{test}-run'
374 name: 'functest-opnfv-functest-benchmarking'
376 container: 'functest-benchmarking'
385 - 'functest-{repo}-{container}-{tag}-{test}-run'
388 name: 'functest-opnfv-functest-benchmarking-cntt'
390 container: 'functest-benchmarking-cntt'
397 - 'functest-{repo}-{container}-{tag}-{test}-run'
400 name: 'functest-opnfv-functest-vnf'
402 container: 'functest-vnf'
412 - 'functest-{repo}-{container}-{tag}-{test}-run'
420 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
421 if [ "{repo}" = "_" ]; then
422 image={container}:{tag}
423 elif [ "{port}" = "None" ]; then
424 image={repo}/{container}:{tag}
426 image={repo}:{port}/{container}:{tag}
428 sudo docker run --rm \
429 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
430 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
431 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
432 -v /home/opnfv/functest/.boto:/root/.boto \
433 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
434 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
435 -e BUILD_TAG=$BUILD_TAG \
436 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
437 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
438 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
439 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
440 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
441 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
445 name: 'functest-{tag}-zip'
449 - functest-build_tag:
451 - functest-EXTERNAL_NETWORK:
452 EXTERNAL_NETWORK: public
453 - functest-VOLUME_DEVICE_NAME:
454 VOLUME_DEVICE_NAME: sdb
455 - functest-IMAGE_PROPERTIES:
456 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
459 <<: *functest-containers
462 name: 'functest-{tag}-zip'
464 container: 'functest-healthcheck'
466 - 'functest-{tag}-zip'
469 name: 'functest-{tag}-daily'
470 project-type: multijob
476 - functest-build_tag:
478 - functest-EXTERNAL_NETWORK:
479 EXTERNAL_NETWORK: public
480 - functest-VOLUME_DEVICE_NAME:
481 VOLUME_DEVICE_NAME: sdb
482 - functest-IMAGE_PROPERTIES:
483 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
486 use-build-blocker: true
487 blocking-level: 'NODE'
489 - '^functest-{tag}-(daily|docker|review)$'
492 name: remove former images
494 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
496 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
498 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
500 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
502 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
504 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
507 name: pull containers
509 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
511 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
513 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
515 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
517 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
519 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
522 name: opnfv/functest-healthcheck:{tag}
524 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
526 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
528 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
530 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
532 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
534 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
536 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
538 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
540 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
542 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
544 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
546 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
548 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
551 name: opnfv/functest-smoke:{tag}
553 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
555 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
557 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
559 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
561 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
563 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
565 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
567 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
569 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
571 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
573 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
575 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
577 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
579 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
581 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
583 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
585 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
587 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
589 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
591 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
593 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
595 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
598 name: opnfv/functest-smoke-cntt:{tag}
600 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
602 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
604 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
606 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
608 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
610 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
612 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
614 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
617 name: opnfv/functest-benchmarking:{tag}
619 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
621 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
623 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
625 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
628 name: opnfv/functest-benchmarking-cntt:{tag}
630 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
632 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
635 name: opnfv/functest-vnf:{tag}
637 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
639 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
641 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
643 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
645 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
648 name: dump all campaign data
650 - name: 'functest-{tag}-zip'
654 name: 'functest-daily'
657 - 'functest-{tag}-daily'
669 regex: ^functest-[a-z0-9.]+-daily$
671 - functest-build-containers: &functest-build-containers
672 name: 'functest-build-containers'
673 <<: *functest-containers
676 buildargs: '{buildargs}'
680 name: functest-build-containers
684 if [ "{repo}" = "_" ]; then
685 image={container}:{tag}
686 elif [ "{port}" = "None" ]; then
687 image={repo}/{container}:{tag}
689 image={repo}:{port}/{container}:{tag}
692 if [ "{buildargs}" != "None" ]; then
693 build_args="{buildargs}"
695 if [ "{ref_arg}" != "None" ]; then
696 build_args="$build_args --build-arg {ref_arg}={ref}"
699 if [ "{from}" != "None" ]; then
700 sed -i {from} Dockerfile
702 sudo docker build $build_args \
703 --pull=false --no-cache --force-rm=true \
710 url: 'https://gerrit.opnfv.org/gerrit/functest'
711 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
715 - functest-dep: &functest-dep
716 name: 'functest-containers'
720 dependency: '{dependency}'
723 name: functest-pull-dep-images
727 if [ "_" = "_" ]; then
728 image=alpine:{dependency}
729 elif [ "None" = "None" ]; then
730 image=_/alpine:{dependency}
732 image=_:/alpine:{dependency}
734 sudo docker pull $image || true
737 name: functest-remove-dep-images
741 if [ "_" = "_" ]; then
742 image=alpine:{dependency}
743 elif [ "" = "None" ]; then
744 image=_/alpine:{dependency}
746 image=_:/alpine:{dependency}
748 sudo docker rmi $image || true
751 name: 'functest-{repo}-{tag}-dep-pull'
756 - functest-pull-dep-images:
760 name: 'functest-{repo}-{tag}-dep-pull'
763 - 'functest-{repo}-{tag}-dep-pull'
766 name: 'functest-{repo}-{tag}-dep-rmi'
771 - functest-remove-dep-images:
775 name: 'functest-{repo}-{tag}-dep-rmi'
778 - 'functest-{repo}-{tag}-dep-rmi'
785 sudo apt-get update && sudo apt-get install \
786 software-properties-common gpg -y
787 sudo add-apt-repository -y ppa:deadsnakes/ppa
788 sudo apt-get update && sudo apt-get install python3.8 \
789 python3.8-dev python3.8-distutils \
790 python3.7 python3.7-dev python3.6 python3.6-dev \
791 python python-dev python3-pip enchant -y
792 sudo pip3 install tox tox-pip-version
797 name: 'functest-{tag}-tox'
802 - functest-patchset-created:
814 - 'functest-{tag}-tox'
817 name: 'functest-{repo}-{container}-{tag}-gate'
825 - functest-build-containers:
826 <<: *functest-build-containers
828 buildargs: '{buildargs}'
831 name: functest-opnfv-functest-core-{tag}-gate
833 container: functest-core
837 - 'functest-{repo}-{container}-{tag}-gate'
840 name: functest-opnfv-functest-tempest-{tag}-gate
842 container: functest-tempest
852 - 'functest-{repo}-{container}-{tag}-gate'
855 name: functest-opnfv-functest-healthcheck-{tag}-gate
857 container: functest-healthcheck
859 path: docker/healthcheck
861 - 'functest-{repo}-{container}-{tag}-gate'
864 name: functest-opnfv-functest-smoke-{tag}-gate
866 container: functest-smoke
870 - 'functest-{repo}-{container}-{tag}-gate'
873 name: functest-opnfv-functest-benchmarking-{tag}-gate
875 container: functest-benchmarking
877 path: docker/benchmarking
879 - 'functest-{repo}-{container}-{tag}-gate'
882 name: functest-opnfv-functest-vnf-{tag}-gate
884 container: functest-vnf
888 - 'functest-{repo}-{container}-{tag}-gate'
891 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
893 container: functest-smoke-cntt
895 path: docker/smoke-cntt
897 - 'functest-{repo}-{container}-{tag}-gate'
900 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
902 container: functest-benchmarking-cntt
904 path: docker/benchmarking-cntt
906 - 'functest-{repo}-{container}-{tag}-gate'
910 name: functest-patchset-created
914 - patchset-created-event
915 - comment-added-contains-event:
916 comment-contains-value: 'recheck'
917 - comment-added-contains-event:
918 comment-contains-value: 'reverify'
920 - project-compare-type: 'ANT'
921 project-pattern: 'functest'
923 - branch-compare-type: 'ANT'
924 branch-pattern: '**/{branch}'
927 name: 'functest-{tag}-review'
928 project-type: multijob
930 - functest-patchset-created:
935 - functest-build_tag:
937 - functest-EXTERNAL_NETWORK:
938 EXTERNAL_NETWORK: public
939 - functest-VOLUME_DEVICE_NAME:
940 VOLUME_DEVICE_NAME: sdb
941 - functest-IMAGE_PROPERTIES:
942 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
945 use-build-blocker: true
946 blocking-level: 'NODE'
948 - '^functest-{tag}-(daily|docker|review)$'
951 name: remove former images
953 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
955 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
957 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
959 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
961 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
963 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
966 name: remove dependency
968 - name: 'functest-{repo}-{tag}-dep-rmi'
971 name: pull dependency
973 - name: 'functest-{repo}-{tag}-dep-pull'
976 name: build opnfv/functest-core
978 - name: 'functest-opnfv-functest-core-{tag}-gate'
981 name: build opnfv/functest-tempest
983 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
986 name: build containers
988 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
990 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
992 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
994 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
997 name: build cntt containers
999 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1001 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1004 name: opnfv/functest-healthcheck:{tag}
1006 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1008 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1010 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1012 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1014 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1016 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1018 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1020 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1022 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1024 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1026 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1028 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1030 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1033 name: opnfv/functest-smoke:{tag}
1035 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1037 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1039 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1041 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1043 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1045 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1047 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1049 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1051 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1067 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1069 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1071 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1073 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1075 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1077 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1080 name: opnfv/functest-smoke-cntt:{tag}
1082 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1084 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1086 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1088 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1090 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1092 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1094 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1096 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1099 name: opnfv/functest-benchmarking:{tag}
1101 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1103 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1105 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1107 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1110 name: opnfv/functest-benchmarking-cntt:{tag}
1112 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1114 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1117 name: opnfv/functest-vnf:{tag}
1119 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1121 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1123 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1125 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1127 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1131 name: 'functest-review'
1132 <<: *functest-params
1134 - 'functest-{tag}-review'
1137 name: functest-review
1146 regex: ^functest-[a-z0-9.]+-review$
1158 regex: ^functest-[a-z0-9.]+-tox$
1161 name: functest-push-containers
1165 if [ "{repo}" = "_" ]; then
1166 image={container}:{tag}
1167 elif [ "{port}" = "None" ]; then
1168 image={repo}/{container}:{tag}
1170 image={repo}:{port}/{container}:{tag}
1172 sudo docker push $image
1175 name: functest-commit
1178 cron: "*/30 * * * *"
1181 name: 'functest-{repo}-{container}-{tag}-build'
1189 - functest-build-containers:
1190 <<: *functest-build-containers
1192 buildargs: '{buildargs}'
1193 - functest-push-containers:
1194 <<: *functest-build-containers
1198 name: functest-opnfv-functest-core-{tag}-build
1199 <<: *functest-params
1200 container: functest-core
1204 - 'functest-{repo}-{container}-{tag}-build'
1207 name: functest-opnfv-functest-tempest-{tag}-build
1208 <<: *functest-params
1209 container: functest-tempest
1211 path: docker/tempest
1214 - {'tag': 'wallaby'}
1219 - 'functest-{repo}-{container}-{tag}-build'
1222 name: functest-opnfv-functest-healthcheck-{tag}-build
1223 <<: *functest-params
1224 container: functest-healthcheck
1226 path: docker/healthcheck
1228 - 'functest-{repo}-{container}-{tag}-build'
1231 name: functest-opnfv-functest-smoke-{tag}-build
1232 <<: *functest-params
1233 container: functest-smoke
1237 - 'functest-{repo}-{container}-{tag}-build'
1240 name: functest-opnfv-functest-benchmarking-{tag}-build
1241 <<: *functest-params
1242 container: functest-benchmarking
1244 path: docker/benchmarking
1246 - 'functest-{repo}-{container}-{tag}-build'
1249 name: functest-opnfv-functest-vnf-{tag}-build
1250 <<: *functest-params
1251 container: functest-vnf
1255 - 'functest-{repo}-{container}-{tag}-build'
1258 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1259 <<: *functest-params
1260 container: functest-smoke-cntt
1262 path: docker/smoke-cntt
1264 - 'functest-{repo}-{container}-{tag}-build'
1267 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1268 <<: *functest-params
1269 container: functest-benchmarking-cntt
1271 path: docker/benchmarking-cntt
1273 - 'functest-{repo}-{container}-{tag}-build'
1277 name: 'functest-{tag}-docker'
1278 project-type: multijob
1289 use-build-blocker: true
1290 blocking-level: 'NODE'
1292 - '^functest-{tag}-(daily|docker|review)$'
1295 name: remove dependency
1297 - name: 'functest-{repo}-{tag}-dep-rmi'
1300 name: pull dependency
1302 - name: 'functest-{repo}-{tag}-dep-pull'
1305 name: build opnfv/functest-core
1307 - name: 'functest-opnfv-functest-core-{tag}-build'
1310 name: build opnfv/functest-tempest
1312 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1315 name: build containers
1317 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1319 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1321 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1323 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1326 name: build cntt containers
1328 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1330 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1334 name: functest-trivy
1337 sudo apt-get update && sudo apt-get install curl -y
1339 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1340 if [ "{repo}" = "_" ]; then
1341 image={container}:{tag}
1342 elif [ "{port}" = "None" ]; then
1343 image={repo}/{container}:{tag}
1345 image={repo}:{port}/{container}:{tag}
1347 ./trivy --exit-code 1 $image
1350 name: 'functest-{repo}-{container}-{tag}-trivy'
1358 <<: *functest-containers
1361 name: 'functest-opnfv-functest-core-trivy'
1362 <<: *functest-params
1363 container: 'functest-core'
1365 - 'functest-{repo}-{container}-{tag}-trivy'
1368 name: 'functest-opnfv-functest-tempest-trivy'
1369 <<: *functest-params
1370 container: 'functest-tempest'
1372 - 'functest-{repo}-{container}-{tag}-trivy'
1375 name: 'functest-opnfv-functest-healthcheck-trivy'
1376 <<: *functest-params
1377 container: 'functest-healthcheck'
1379 - 'functest-{repo}-{container}-{tag}-trivy'
1382 name: 'functest-opnfv-functest-smoke-trivy'
1383 <<: *functest-params
1384 container: 'functest-smoke'
1386 - 'functest-{repo}-{container}-{tag}-trivy'
1389 name: 'functest-opnfv-functest-benchmarking-trivy'
1390 <<: *functest-params
1391 container: 'functest-benchmarking'
1393 - 'functest-{repo}-{container}-{tag}-trivy'
1396 name: 'functest-opnfv-functest-vnf-trivy'
1397 <<: *functest-params
1398 container: 'functest-vnf'
1400 - 'functest-{repo}-{container}-{tag}-trivy'
1403 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1404 <<: *functest-params
1405 container: 'functest-smoke-cntt'
1407 - 'functest-{repo}-{container}-{tag}-trivy'
1410 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1411 <<: *functest-params
1412 container: 'functest-benchmarking-cntt'
1414 - 'functest-{repo}-{container}-{tag}-trivy'
1418 <<: *functest-params
1420 - 'functest-{tag}-docker'
1423 name: functest-docker
1432 regex: ^functest-[a-z0-9.]+-docker$
1435 name: functest-trivy
1444 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$