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.12.85
26 DASHBOARD_URL: http://172.30.12.85
31 branch: stable/wallaby
33 DASHBOARD_URL: http://172.30.13.91
40 DASHBOARD_URL: http://172.30.13.94
47 DASHBOARD_URL: http://172.30.12.88
54 DASHBOARD_URL: http://172.30.12.83
57 - functest-jobs: &functest-jobs
59 current-parameters: true
69 name: functest-build_tag
75 name: functest-EXTERNAL_NETWORK
78 name: EXTERNAL_NETWORK
82 name: functest-VOLUME_DEVICE_NAME
85 name: VOLUME_DEVICE_NAME
89 name: functest-IMAGE_PROPERTIES
92 name: IMAGE_PROPERTIES
93 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
95 - functest-run-containers: &functest-run-containers
96 name: 'functest-run-containers'
97 <<: *functest-containers
99 privileged: '{privileged}'
105 DASHBOARD_URL: '{DASHBOARD_URL}'
108 name: functest-pull-containers
112 if [ "{repo}" = "_" ]; then
113 image={container}:{tag}
114 elif [ "{port}" = "None" ]; then
115 image={repo}/{container}:{tag}
117 image={repo}:{port}/{container}:{tag}
119 sudo docker pull $image
122 name: functest-run-containers
127 if [ "{volumes}" != "None" ]; then
128 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
129 do volumes="-v $i $volumes"; done
132 if [ "{env}" != "None" ]; then
133 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
134 do env="-e $i $env"; done
136 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
137 if [ "{repo}" = "_" ]; then
138 image={container}:{tag}
139 elif [ "{port}" = "None" ]; then
140 image={repo}/{container}:{tag}
142 image={repo}:{port}/{container}:{tag}
144 sudo mkdir -p $WORKSPACE/results
145 sudo chown {uid}:{gid} $WORKSPACE/results
146 sudo docker run --rm \
147 --privileged={privileged} \
148 --network={network} \
151 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
152 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
153 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
154 -v /home/opnfv/functest/.boto:/root/.boto \
155 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
156 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
157 -e NODE_NAME=$slave \
158 -e BUILD_TAG=$BUILD_TAG \
159 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
160 -e DASHBOARD_URL={DASHBOARD_URL} \
161 $image run_tests -t {test} -p -r
164 name: functest-remove-images
168 if [ "{repo}" = "_" ]; then
169 image={container}:{tag}
170 elif [ "{port}" = "None" ]; then
171 image={repo}/{container}:{tag}
173 image={repo}:{port}/{container}:{tag}
175 sudo docker rmi $image || true
178 name: 'functest-{repo}-{container}-{tag}-pull'
183 - functest-pull-containers:
184 <<: *functest-containers
187 name: 'functest-opnfv-functest-healthcheck-pull'
189 container: 'functest-healthcheck'
191 - 'functest-{repo}-{container}-{tag}-pull'
194 name: 'functest-opnfv-functest-smoke-pull'
196 container: 'functest-smoke'
198 - 'functest-{repo}-{container}-{tag}-pull'
201 name: 'functest-opnfv-functest-smoke-cntt-pull'
203 container: 'functest-smoke-cntt'
205 - 'functest-{repo}-{container}-{tag}-pull'
208 name: 'functest-opnfv-functest-benchmarking-pull'
210 container: 'functest-benchmarking'
212 - 'functest-{repo}-{container}-{tag}-pull'
215 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
217 container: 'functest-benchmarking-cntt'
219 - 'functest-{repo}-{container}-{tag}-pull'
222 name: 'functest-opnfv-functest-vnf-pull'
224 container: 'functest-vnf'
226 - 'functest-{repo}-{container}-{tag}-pull'
229 name: 'functest-{repo}-{container}-{tag}-rmi'
234 - functest-remove-images:
235 <<: *functest-containers
238 name: 'functest-opnfv-functest-healthcheck-rmi'
240 container: 'functest-healthcheck'
242 - 'functest-{repo}-{container}-{tag}-rmi'
245 name: 'functest-opnfv-functest-smoke-rmi'
247 container: 'functest-smoke'
249 - 'functest-{repo}-{container}-{tag}-rmi'
252 name: 'functest-opnfv-functest-smoke-cntt-rmi'
254 container: 'functest-smoke-cntt'
256 - 'functest-{repo}-{container}-{tag}-rmi'
259 name: 'functest-opnfv-functest-benchmarking-rmi'
261 container: 'functest-benchmarking'
263 - 'functest-{repo}-{container}-{tag}-rmi'
266 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
268 container: 'functest-benchmarking-cntt'
270 - 'functest-{repo}-{container}-{tag}-rmi'
273 name: 'functest-opnfv-functest-vnf-rmi'
275 container: 'functest-vnf'
277 - 'functest-{repo}-{container}-{tag}-rmi'
280 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
284 - functest-build_tag:
286 - functest-EXTERNAL_NETWORK:
287 EXTERNAL_NETWORK: public
288 - functest-VOLUME_DEVICE_NAME:
289 VOLUME_DEVICE_NAME: sdb
290 - functest-IMAGE_PROPERTIES:
291 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
293 - functest-run-containers:
294 <<: *functest-run-containers
297 name: 'functest-opnfv-functest-healthcheck'
300 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
301 - /home/opnfv/functest/images:/home/opnfv/functest/images
303 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
304 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
305 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
306 container: 'functest-healthcheck'
326 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
329 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
333 - functest-build_tag:
335 - functest-EXTERNAL_NETWORK:
336 EXTERNAL_NETWORK: public
337 - functest-VOLUME_DEVICE_NAME:
338 VOLUME_DEVICE_NAME: sdb
339 - functest-IMAGE_PROPERTIES:
340 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
342 - functest-run-containers:
343 <<: *functest-run-containers
346 name: 'functest-opnfv-functest-smoke'
349 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
350 - /home/opnfv/functest/images:/home/opnfv/functest/images
352 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
353 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
354 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
355 container: 'functest-smoke'
385 test: refstack_defcore
387 test: networking-bgpvpn
393 test: refstack_defcore
395 test: networking-bgpvpn
401 test: refstack_defcore
403 test: networking-bgpvpn
409 test: refstack_defcore
411 test: networking-bgpvpn
417 test: refstack_defcore
419 test: networking-bgpvpn
429 test: refstack_defcore
431 test: networking-bgpvpn
443 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
446 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
450 - functest-build_tag:
452 - functest-EXTERNAL_NETWORK:
453 EXTERNAL_NETWORK: public
454 - functest-VOLUME_DEVICE_NAME:
455 VOLUME_DEVICE_NAME: sdb
456 - functest-IMAGE_PROPERTIES:
457 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
459 - functest-run-containers:
460 <<: *functest-run-containers
463 name: 'functest-opnfv-functest-smoke-cntt'
466 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
467 - /home/opnfv/functest/images:/home/opnfv/functest/images
469 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
470 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
471 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
472 container: 'functest-smoke-cntt'
474 - tempest_neutron_cntt
475 - tempest_cinder_cntt
476 - tempest_keystone_cntt
480 - tempest_scenario_cntt
487 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
490 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
494 - functest-build_tag:
496 - functest-EXTERNAL_NETWORK:
497 EXTERNAL_NETWORK: public
498 - functest-VOLUME_DEVICE_NAME:
499 VOLUME_DEVICE_NAME: sdb
500 - functest-IMAGE_PROPERTIES:
501 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
503 - functest-run-containers:
504 <<: *functest-run-containers
507 name: 'functest-opnfv-functest-benchmarking'
510 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
511 - /home/opnfv/functest/images:/home/opnfv/functest/images
513 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
514 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
515 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
516 container: 'functest-benchmarking'
527 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
530 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
534 - functest-build_tag:
536 - functest-EXTERNAL_NETWORK:
537 EXTERNAL_NETWORK: public
538 - functest-VOLUME_DEVICE_NAME:
539 VOLUME_DEVICE_NAME: sdb
540 - functest-IMAGE_PROPERTIES:
541 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
543 - functest-run-containers:
544 <<: *functest-run-containers
547 name: 'functest-opnfv-functest-benchmarking-cntt'
550 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
551 - /home/opnfv/functest/images:/home/opnfv/functest/images
553 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
554 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
555 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
556 container: 'functest-benchmarking-cntt'
565 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
568 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
572 - functest-build_tag:
574 - functest-EXTERNAL_NETWORK:
575 EXTERNAL_NETWORK: public
576 - functest-VOLUME_DEVICE_NAME:
577 VOLUME_DEVICE_NAME: sdb
578 - functest-IMAGE_PROPERTIES:
579 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
581 - functest-run-containers:
582 <<: *functest-run-containers
585 name: 'functest-opnfv-functest-vnf'
588 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
589 - /home/opnfv/functest/images:/home/opnfv/functest/images
591 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
592 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
593 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
594 container: 'functest-vnf'
606 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
614 if [ "{volumes}" != "None" ]; then
615 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
616 do volumes="-v $i $volumes"; done
619 if [ "{env}" != "None" ]; then
620 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
621 do env="-e $i $env"; done
623 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
624 if [ "{repo}" = "_" ]; then
625 image={container}:{tag}
626 elif [ "{port}" = "None" ]; then
627 image={repo}/{container}:{tag}
629 image={repo}:{port}/{container}:{tag}
631 sudo docker run --rm \
634 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
635 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
636 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
637 -v /home/opnfv/functest/.boto:/root/.boto \
638 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
639 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
640 -e BUILD_TAG=$BUILD_TAG \
641 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
645 name: 'functest-{tag}-zip'
649 - functest-build_tag:
651 - functest-EXTERNAL_NETWORK:
652 EXTERNAL_NETWORK: public
653 - functest-VOLUME_DEVICE_NAME:
654 VOLUME_DEVICE_NAME: sdb
655 - functest-IMAGE_PROPERTIES:
656 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
659 <<: *functest-containers
664 name: 'functest-{tag}-zip'
667 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
668 - /home/opnfv/functest/images:/home/opnfv/functest/images
670 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
671 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
672 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
673 container: 'functest-healthcheck'
675 - 'functest-{tag}-zip'
678 name: 'functest-{tag}-daily'
679 project-type: multijob
685 - functest-build_tag:
687 - functest-EXTERNAL_NETWORK:
688 EXTERNAL_NETWORK: public
689 - functest-VOLUME_DEVICE_NAME:
690 VOLUME_DEVICE_NAME: sdb
691 - functest-IMAGE_PROPERTIES:
692 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
693 # PyYAML and yamllint differ here
694 # see https://github.com/yaml/pyyaml/issues/234
695 # yamllint disable rule:indentation
699 - ^functest-(pi-)*{tag}-(daily|docker|review)$
700 # yamllint enable rule:indentation
703 name: remove former images
705 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
707 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
709 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
711 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
713 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
715 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
718 name: pull containers
720 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
722 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
724 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
726 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
728 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
730 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
733 name: opnfv/functest-healthcheck:{tag}
735 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
737 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
739 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
741 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
743 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
745 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
747 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
749 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
751 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
753 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
755 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
757 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
759 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
762 name: opnfv/functest-smoke:{tag}
764 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
766 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
768 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
770 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
772 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
774 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
776 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
778 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
780 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
782 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
784 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
786 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
788 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
790 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
792 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
794 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
796 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
798 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
800 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
802 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
804 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
806 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
809 name: opnfv/functest-smoke-cntt:{tag}
811 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
813 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
815 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
817 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
819 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
821 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
823 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
825 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
828 name: opnfv/functest-benchmarking:{tag}
830 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
832 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
834 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
836 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
839 name: opnfv/functest-benchmarking-cntt:{tag}
841 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
843 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
846 name: opnfv/functest-vnf:{tag}
848 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
850 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
852 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
854 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
856 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
859 name: dump all campaign data
861 - name: 'functest-{tag}-zip'
868 recipients: cedric.ollivier@orange.com
871 name: 'functest-daily'
874 - 'functest-{tag}-daily'
886 regex: ^functest-[a-z0-9.]+-daily$
888 - functest-build-containers: &functest-build-containers
889 name: 'functest-build-containers'
890 <<: *functest-containers
893 build_args: '{build_args}'
897 name: functest-build-containers
901 if [ "{repo}" = "_" ]; then
902 image={container}:{tag}
903 elif [ "{port}" = "None" ]; then
904 image={repo}/{container}:{tag}
906 image={repo}:{port}/{container}:{tag}
909 if [ "{build_args}" != "None" ]; then
910 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
911 do build_args="--build-arg $i $build_args"; done
913 if [ "{ref_arg}" != "None" ]; then
914 build_args="$build_args --build-arg {ref_arg}={ref}"
917 if [ "{from}" != "None" ]; then
918 sed -i {from} Dockerfile
920 sudo docker build $build_args \
921 --pull=false --no-cache --force-rm=true \
928 url: 'https://gerrit.opnfv.org/gerrit/functest'
929 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
933 - functest-dep: &functest-dep
934 name: 'functest-containers'
938 dependency: '{dependency}'
941 name: functest-pull-dep-images
945 if [ "_" = "_" ]; then
946 image=alpine:{dependency}
947 elif [ "None" = "None" ]; then
948 image=_/alpine:{dependency}
950 image=_:/alpine:{dependency}
952 sudo docker pull $image || true
955 name: functest-remove-dep-images
959 if [ "_" = "_" ]; then
960 image=alpine:{dependency}
961 elif [ "" = "None" ]; then
962 image=_/alpine:{dependency}
964 image=_:/alpine:{dependency}
966 sudo docker rmi $image || true
969 name: 'functest-{repo}-{tag}-dep-pull'
974 - functest-pull-dep-images:
978 name: 'functest-{repo}-{tag}-dep-pull'
981 - 'functest-{repo}-{tag}-dep-pull'
984 name: 'functest-{repo}-{tag}-dep-rmi'
989 - functest-remove-dep-images:
993 name: 'functest-{repo}-{tag}-dep-rmi'
996 - 'functest-{repo}-{tag}-dep-rmi'
1003 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1004 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1005 -o DPkg::Lock::Timeout=300 dist-upgrade -y
1006 sudo DEBIAN_FRONTEND=noninteractive \
1007 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
1008 sudo add-apt-repository -y ppa:deadsnakes/ppa
1009 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1010 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1011 -o DPkg::Lock::Timeout=300 install \
1012 python3.9 python3.9-dev python3.9-distutils \
1013 python3.8 python3.8-dev python3.8-distutils \
1014 python3.7 python3.7-dev python3.6 python3.6-dev \
1015 python python-dev python3-pip enchant -y
1016 sudo pip3 install tox tox-pip-version
1021 name: 'functest-{tag}-tox'
1024 ref: $GERRIT_REFSPEC
1026 - functest-patchset-created:
1036 <<: *functest-params
1038 - 'functest-{tag}-tox'
1041 name: 'functest-{repo}-{container}-{tag}-gate'
1047 ref: $GERRIT_REFSPEC
1049 - functest-build-containers:
1050 <<: *functest-build-containers
1051 ref: $GERRIT_REFSPEC
1052 build_args: '{build_args}'
1055 name: functest-opnfv-functest-core-{tag}-gate
1056 <<: *functest-params
1057 container: functest-core
1061 - 'functest-{repo}-{container}-{tag}-gate'
1064 name: functest-opnfv-functest-tempest-{tag}-gate
1065 <<: *functest-params
1066 container: functest-tempest
1068 path: docker/tempest
1072 - {'tag': 'wallaby'}
1077 - 'functest-{repo}-{container}-{tag}-gate'
1080 name: functest-opnfv-functest-healthcheck-{tag}-gate
1081 <<: *functest-params
1082 container: functest-healthcheck
1084 path: docker/healthcheck
1086 - 'functest-{repo}-{container}-{tag}-gate'
1089 name: functest-opnfv-functest-smoke-{tag}-gate
1090 <<: *functest-params
1091 container: functest-smoke
1095 - 'functest-{repo}-{container}-{tag}-gate'
1098 name: functest-opnfv-functest-benchmarking-{tag}-gate
1099 <<: *functest-params
1100 container: functest-benchmarking
1102 path: docker/benchmarking
1104 - 'functest-{repo}-{container}-{tag}-gate'
1107 name: functest-opnfv-functest-vnf-{tag}-gate
1108 <<: *functest-params
1109 container: functest-vnf
1113 - 'functest-{repo}-{container}-{tag}-gate'
1116 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1117 <<: *functest-params
1118 container: functest-smoke-cntt
1120 path: docker/smoke-cntt
1122 - 'functest-{repo}-{container}-{tag}-gate'
1125 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1126 <<: *functest-params
1127 container: functest-benchmarking-cntt
1129 path: docker/benchmarking-cntt
1131 - 'functest-{repo}-{container}-{tag}-gate'
1134 name: functest-patchset-created
1138 - patchset-created-event
1139 - comment-added-contains-event:
1140 comment-contains-value: 'recheck'
1141 - comment-added-contains-event:
1142 comment-contains-value: 'reverify'
1144 - project-compare-type: 'ANT'
1145 project-pattern: 'functest'
1147 - branch-compare-type: 'ANT'
1148 branch-pattern: '**/{branch}'
1151 name: 'functest-{tag}-review'
1152 project-type: multijob
1154 - functest-patchset-created:
1159 - functest-build_tag:
1161 - functest-EXTERNAL_NETWORK:
1162 EXTERNAL_NETWORK: public
1163 - functest-VOLUME_DEVICE_NAME:
1164 VOLUME_DEVICE_NAME: sdb
1165 - functest-IMAGE_PROPERTIES:
1166 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1167 # PyYAML and yamllint differ here
1168 # see https://github.com/yaml/pyyaml/issues/234
1169 # yamllint disable rule:indentation
1173 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1174 # yamllint enable rule:indentation
1177 name: remove former images
1179 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1181 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1183 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1185 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1187 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1189 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1192 name: remove dependency
1194 - name: 'functest-{repo}-{tag}-dep-rmi'
1197 name: pull dependency
1199 - name: 'functest-{repo}-{tag}-dep-pull'
1202 name: build opnfv/functest-core
1204 - name: 'functest-opnfv-functest-core-{tag}-gate'
1207 name: build opnfv/functest-tempest
1209 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1212 name: build containers
1214 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1216 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1218 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1220 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1223 name: build cntt containers
1225 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1227 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1230 name: opnfv/functest-healthcheck:{tag}
1232 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1234 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1236 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1238 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1240 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1242 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1244 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1246 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1248 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1250 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1252 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1254 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1256 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1259 name: opnfv/functest-smoke:{tag}
1261 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1263 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1265 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1267 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1269 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1271 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1273 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1275 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1277 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1279 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1281 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1283 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1285 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1287 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1289 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1291 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1293 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1295 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1297 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1299 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1301 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1303 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1306 name: opnfv/functest-smoke-cntt:{tag}
1308 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1310 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1312 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1314 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1316 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1318 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1320 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1322 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1325 name: opnfv/functest-benchmarking:{tag}
1327 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1329 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1331 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1333 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1336 name: opnfv/functest-benchmarking-cntt:{tag}
1338 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1340 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1343 name: opnfv/functest-vnf:{tag}
1345 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1347 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1349 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1351 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1353 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1360 recipients: cedric.ollivier@orange.com
1363 name: 'functest-review'
1364 <<: *functest-params
1366 - 'functest-{tag}-review'
1369 name: functest-review
1378 regex: ^functest-[a-z0-9.]+-review$
1390 regex: ^functest-[a-z0-9.]+-tox$
1393 name: functest-push-containers
1397 if [ "{repo}" = "_" ]; then
1398 image={container}:{tag}
1399 elif [ "{port}" = "None" ]; then
1400 image={repo}/{container}:{tag}
1402 image={repo}:{port}/{container}:{tag}
1404 sudo docker push $image
1407 name: functest-commit
1410 cron: "*/30 * * * *"
1413 name: 'functest-{repo}-{container}-{tag}-build'
1421 - functest-build-containers:
1422 <<: *functest-build-containers
1424 build_args: '{build_args}'
1425 - functest-push-containers:
1426 <<: *functest-build-containers
1430 name: functest-opnfv-functest-core-{tag}-build
1431 <<: *functest-params
1432 container: functest-core
1436 - 'functest-{repo}-{container}-{tag}-build'
1439 name: functest-opnfv-functest-tempest-{tag}-build
1440 <<: *functest-params
1441 container: functest-tempest
1443 path: docker/tempest
1447 - {'tag': 'wallaby'}
1452 - 'functest-{repo}-{container}-{tag}-build'
1455 name: functest-opnfv-functest-healthcheck-{tag}-build
1456 <<: *functest-params
1457 container: functest-healthcheck
1459 path: docker/healthcheck
1461 - 'functest-{repo}-{container}-{tag}-build'
1464 name: functest-opnfv-functest-smoke-{tag}-build
1465 <<: *functest-params
1466 container: functest-smoke
1470 - 'functest-{repo}-{container}-{tag}-build'
1473 name: functest-opnfv-functest-benchmarking-{tag}-build
1474 <<: *functest-params
1475 container: functest-benchmarking
1477 path: docker/benchmarking
1479 - 'functest-{repo}-{container}-{tag}-build'
1482 name: functest-opnfv-functest-vnf-{tag}-build
1483 <<: *functest-params
1484 container: functest-vnf
1488 - 'functest-{repo}-{container}-{tag}-build'
1491 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1492 <<: *functest-params
1493 container: functest-smoke-cntt
1495 path: docker/smoke-cntt
1497 - 'functest-{repo}-{container}-{tag}-build'
1500 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1501 <<: *functest-params
1502 container: functest-benchmarking-cntt
1504 path: docker/benchmarking-cntt
1506 - 'functest-{repo}-{container}-{tag}-build'
1509 name: 'functest-{tag}-docker'
1510 project-type: multijob
1519 # PyYAML and yamllint differ here
1520 # see https://github.com/yaml/pyyaml/issues/234
1521 # yamllint disable rule:indentation
1525 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1526 # yamllint enable rule:indentation
1529 name: remove dependency
1531 - name: 'functest-{repo}-{tag}-dep-rmi'
1534 name: pull dependency
1536 - name: 'functest-{repo}-{tag}-dep-pull'
1539 name: build opnfv/functest-core
1541 - name: 'functest-opnfv-functest-core-{tag}-build'
1544 name: build opnfv/functest-tempest
1546 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1549 name: build containers
1551 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1553 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1555 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1557 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1560 name: build cntt containers
1562 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1564 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1571 recipients: cedric.ollivier@orange.com
1574 name: functest-trivy
1577 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1578 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1579 -o DPkg::Lock::Timeout=300 install curl -y
1581 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1582 if [ "{repo}" = "_" ]; then
1583 image={container}:{tag}
1584 elif [ "{port}" = "None" ]; then
1585 image={repo}/{container}:{tag}
1587 image={repo}:{port}/{container}:{tag}
1589 ./trivy --exit-code 1 $image
1592 name: 'functest-{repo}-{container}-{tag}-trivy'
1600 <<: *functest-containers
1606 recipients: cedric.ollivier@orange.com
1609 name: 'functest-opnfv-functest-core-trivy'
1610 <<: *functest-params
1611 container: 'functest-core'
1613 - 'functest-{repo}-{container}-{tag}-trivy'
1616 name: 'functest-opnfv-functest-tempest-trivy'
1617 <<: *functest-params
1618 container: 'functest-tempest'
1620 - 'functest-{repo}-{container}-{tag}-trivy'
1623 name: 'functest-opnfv-functest-healthcheck-trivy'
1624 <<: *functest-params
1625 container: 'functest-healthcheck'
1627 - 'functest-{repo}-{container}-{tag}-trivy'
1630 name: 'functest-opnfv-functest-smoke-trivy'
1631 <<: *functest-params
1632 container: 'functest-smoke'
1634 - 'functest-{repo}-{container}-{tag}-trivy'
1637 name: 'functest-opnfv-functest-benchmarking-trivy'
1638 <<: *functest-params
1639 container: 'functest-benchmarking'
1641 - 'functest-{repo}-{container}-{tag}-trivy'
1644 name: 'functest-opnfv-functest-vnf-trivy'
1645 <<: *functest-params
1646 container: 'functest-vnf'
1648 - 'functest-{repo}-{container}-{tag}-trivy'
1651 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1652 <<: *functest-params
1653 container: 'functest-smoke-cntt'
1655 - 'functest-{repo}-{container}-{tag}-trivy'
1658 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1659 <<: *functest-params
1660 container: 'functest-benchmarking-cntt'
1662 - 'functest-{repo}-{container}-{tag}-trivy'
1665 name: functest-grype
1668 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1669 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1670 -o DPkg::Lock::Timeout=300 install curl -y
1672 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1673 if [ "{repo}" = "_" ]; then
1674 image={container}:{tag}
1675 elif [ "{port}" = "None" ]; then
1676 image={repo}/{container}:{tag}
1678 image={repo}:{port}/{container}:{tag}
1683 name: 'functest-{repo}-{container}-{tag}-grype'
1691 <<: *functest-containers
1697 recipients: cedric.ollivier@orange.com
1700 name: 'functest-opnfv-functest-core-grype'
1701 <<: *functest-params
1702 container: 'functest-core'
1704 - 'functest-{repo}-{container}-{tag}-grype'
1707 name: 'functest-opnfv-functest-tempest-grype'
1708 <<: *functest-params
1709 container: 'functest-tempest'
1711 - 'functest-{repo}-{container}-{tag}-grype'
1714 name: 'functest-opnfv-functest-healthcheck-grype'
1715 <<: *functest-params
1716 container: 'functest-healthcheck'
1718 - 'functest-{repo}-{container}-{tag}-grype'
1721 name: 'functest-opnfv-functest-smoke-grype'
1722 <<: *functest-params
1723 container: 'functest-smoke'
1725 - 'functest-{repo}-{container}-{tag}-grype'
1728 name: 'functest-opnfv-functest-benchmarking-grype'
1729 <<: *functest-params
1730 container: 'functest-benchmarking'
1732 - 'functest-{repo}-{container}-{tag}-grype'
1735 name: 'functest-opnfv-functest-vnf-grype'
1736 <<: *functest-params
1737 container: 'functest-vnf'
1739 - 'functest-{repo}-{container}-{tag}-grype'
1742 name: 'functest-opnfv-functest-smoke-cntt-grype'
1743 <<: *functest-params
1744 container: 'functest-smoke-cntt'
1746 - 'functest-{repo}-{container}-{tag}-grype'
1749 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1750 <<: *functest-params
1751 container: 'functest-benchmarking-cntt'
1753 - 'functest-{repo}-{container}-{tag}-grype'
1757 <<: *functest-params
1759 - 'functest-{tag}-docker'
1762 name: functest-docker
1771 regex: ^functest-[a-z0-9.]+-docker$
1774 name: functest-trivy
1783 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1786 name: functest-grype
1795 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$