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
851 - 'functest-{repo}-{container}-{tag}-gate'
854 name: functest-opnfv-functest-healthcheck-{tag}-gate
856 container: functest-healthcheck
858 path: docker/healthcheck
860 - 'functest-{repo}-{container}-{tag}-gate'
863 name: functest-opnfv-functest-smoke-{tag}-gate
865 container: functest-smoke
869 - 'functest-{repo}-{container}-{tag}-gate'
872 name: functest-opnfv-functest-benchmarking-{tag}-gate
874 container: functest-benchmarking
876 path: docker/benchmarking
878 - 'functest-{repo}-{container}-{tag}-gate'
881 name: functest-opnfv-functest-vnf-{tag}-gate
883 container: functest-vnf
887 - 'functest-{repo}-{container}-{tag}-gate'
890 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
892 container: functest-smoke-cntt
894 path: docker/smoke-cntt
896 - 'functest-{repo}-{container}-{tag}-gate'
899 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
901 container: functest-benchmarking-cntt
903 path: docker/benchmarking-cntt
905 - 'functest-{repo}-{container}-{tag}-gate'
909 name: functest-patchset-created
913 - patchset-created-event
914 - comment-added-contains-event:
915 comment-contains-value: 'recheck'
916 - comment-added-contains-event:
917 comment-contains-value: 'reverify'
919 - project-compare-type: 'ANT'
920 project-pattern: 'functest'
922 - branch-compare-type: 'ANT'
923 branch-pattern: '**/{branch}'
926 name: 'functest-{tag}-review'
927 project-type: multijob
929 - functest-patchset-created:
934 - functest-build_tag:
936 - functest-EXTERNAL_NETWORK:
937 EXTERNAL_NETWORK: public
938 - functest-VOLUME_DEVICE_NAME:
939 VOLUME_DEVICE_NAME: sdb
940 - functest-IMAGE_PROPERTIES:
941 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
944 use-build-blocker: true
945 blocking-level: 'NODE'
947 - '^functest-{tag}-(daily|docker|review)$'
950 name: remove former images
952 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
954 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
956 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
958 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
960 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
962 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
965 name: remove dependency
967 - name: 'functest-{repo}-{tag}-dep-rmi'
970 name: pull dependency
972 - name: 'functest-{repo}-{tag}-dep-pull'
975 name: build opnfv/functest-core
977 - name: 'functest-opnfv-functest-core-{tag}-gate'
980 name: build opnfv/functest-tempest
982 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
985 name: build containers
987 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
989 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
991 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
993 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
996 name: build cntt containers
998 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1000 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1003 name: opnfv/functest-healthcheck:{tag}
1005 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1007 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1009 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1011 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1013 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1015 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1017 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1019 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1021 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1023 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1025 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1027 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1029 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1032 name: opnfv/functest-smoke:{tag}
1034 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1036 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1038 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1040 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1042 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1044 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1046 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1048 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1050 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1052 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1054 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1056 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1058 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1060 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1062 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1064 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1066 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1068 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1070 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1072 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1074 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1076 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1079 name: opnfv/functest-smoke-cntt:{tag}
1081 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1083 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1085 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1087 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1089 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1091 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1093 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1095 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1098 name: opnfv/functest-benchmarking:{tag}
1100 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1102 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1104 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1106 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1109 name: opnfv/functest-benchmarking-cntt:{tag}
1111 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1113 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1116 name: opnfv/functest-vnf:{tag}
1118 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1120 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1122 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1124 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1126 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1130 name: 'functest-review'
1131 <<: *functest-params
1133 - 'functest-{tag}-review'
1136 name: functest-review
1145 regex: ^functest-[a-z0-9.]+-review$
1157 regex: ^functest-[a-z0-9.]+-tox$
1160 name: functest-push-containers
1164 if [ "{repo}" = "_" ]; then
1165 image={container}:{tag}
1166 elif [ "{port}" = "None" ]; then
1167 image={repo}/{container}:{tag}
1169 image={repo}:{port}/{container}:{tag}
1171 sudo docker push $image
1174 name: functest-commit
1177 cron: "*/30 * * * *"
1180 name: 'functest-{repo}-{container}-{tag}-build'
1188 - functest-build-containers:
1189 <<: *functest-build-containers
1191 buildargs: '{buildargs}'
1192 - functest-push-containers:
1193 <<: *functest-build-containers
1197 name: functest-opnfv-functest-core-{tag}-build
1198 <<: *functest-params
1199 container: functest-core
1203 - 'functest-{repo}-{container}-{tag}-build'
1206 name: functest-opnfv-functest-tempest-{tag}-build
1207 <<: *functest-params
1208 container: functest-tempest
1210 path: docker/tempest
1217 - 'functest-{repo}-{container}-{tag}-build'
1220 name: functest-opnfv-functest-healthcheck-{tag}-build
1221 <<: *functest-params
1222 container: functest-healthcheck
1224 path: docker/healthcheck
1226 - 'functest-{repo}-{container}-{tag}-build'
1229 name: functest-opnfv-functest-smoke-{tag}-build
1230 <<: *functest-params
1231 container: functest-smoke
1235 - 'functest-{repo}-{container}-{tag}-build'
1238 name: functest-opnfv-functest-benchmarking-{tag}-build
1239 <<: *functest-params
1240 container: functest-benchmarking
1242 path: docker/benchmarking
1244 - 'functest-{repo}-{container}-{tag}-build'
1247 name: functest-opnfv-functest-vnf-{tag}-build
1248 <<: *functest-params
1249 container: functest-vnf
1253 - 'functest-{repo}-{container}-{tag}-build'
1256 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1257 <<: *functest-params
1258 container: functest-smoke-cntt
1260 path: docker/smoke-cntt
1262 - 'functest-{repo}-{container}-{tag}-build'
1265 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1266 <<: *functest-params
1267 container: functest-benchmarking-cntt
1269 path: docker/benchmarking-cntt
1271 - 'functest-{repo}-{container}-{tag}-build'
1275 name: 'functest-{tag}-docker'
1276 project-type: multijob
1287 use-build-blocker: true
1288 blocking-level: 'NODE'
1290 - '^functest-{tag}-(daily|docker|review)$'
1293 name: remove dependency
1295 - name: 'functest-{repo}-{tag}-dep-rmi'
1298 name: pull dependency
1300 - name: 'functest-{repo}-{tag}-dep-pull'
1303 name: build opnfv/functest-core
1305 - name: 'functest-opnfv-functest-core-{tag}-build'
1308 name: build opnfv/functest-tempest
1310 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1313 name: build containers
1315 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1317 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1319 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1321 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1324 name: build cntt containers
1326 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1328 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1332 name: functest-trivy
1335 sudo apt-get update && sudo apt-get install curl -y
1337 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1338 if [ "{repo}" = "_" ]; then
1339 image={container}:{tag}
1340 elif [ "{port}" = "None" ]; then
1341 image={repo}/{container}:{tag}
1343 image={repo}:{port}/{container}:{tag}
1345 ./trivy --exit-code 1 $image
1348 name: 'functest-{repo}-{container}-{tag}-trivy'
1356 <<: *functest-containers
1359 name: 'functest-opnfv-functest-core-trivy'
1360 <<: *functest-params
1361 container: 'functest-core'
1363 - 'functest-{repo}-{container}-{tag}-trivy'
1366 name: 'functest-opnfv-functest-tempest-trivy'
1367 <<: *functest-params
1368 container: 'functest-tempest'
1370 - 'functest-{repo}-{container}-{tag}-trivy'
1373 name: 'functest-opnfv-functest-healthcheck-trivy'
1374 <<: *functest-params
1375 container: 'functest-healthcheck'
1377 - 'functest-{repo}-{container}-{tag}-trivy'
1380 name: 'functest-opnfv-functest-smoke-trivy'
1381 <<: *functest-params
1382 container: 'functest-smoke'
1384 - 'functest-{repo}-{container}-{tag}-trivy'
1387 name: 'functest-opnfv-functest-benchmarking-trivy'
1388 <<: *functest-params
1389 container: 'functest-benchmarking'
1391 - 'functest-{repo}-{container}-{tag}-trivy'
1394 name: 'functest-opnfv-functest-vnf-trivy'
1395 <<: *functest-params
1396 container: 'functest-vnf'
1398 - 'functest-{repo}-{container}-{tag}-trivy'
1401 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1402 <<: *functest-params
1403 container: 'functest-smoke-cntt'
1405 - 'functest-{repo}-{container}-{tag}-trivy'
1408 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1409 <<: *functest-params
1410 container: 'functest-benchmarking-cntt'
1412 - 'functest-{repo}-{container}-{tag}-trivy'
1416 <<: *functest-params
1418 - 'functest-{tag}-docker'
1421 name: functest-docker
1430 regex: ^functest-[a-z0-9.]+-docker$
1433 name: functest-trivy
1442 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$