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}'
103 DASHBOARD_URL: '{DASHBOARD_URL}'
106 name: functest-pull-containers
110 if [ "{repo}" = "_" ]; then
111 image={container}:{tag}
112 elif [ "{port}" = "None" ]; then
113 image={repo}/{container}:{tag}
115 image={repo}:{port}/{container}:{tag}
117 sudo docker pull $image
120 name: functest-run-containers
125 if [ "{volumes}" != "None" ]; then
126 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
127 do volumes="-v $i $volumes"; done
130 if [ "{env}" != "None" ]; then
131 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
132 do env="-e $i $env"; done
134 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
135 if [ "{repo}" = "_" ]; then
136 image={container}:{tag}
137 elif [ "{port}" = "None" ]; then
138 image={repo}/{container}:{tag}
140 image={repo}:{port}/{container}:{tag}
142 sudo docker run --rm \
143 --privileged={privileged} \
144 --network={network} \
147 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
148 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
149 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
150 -v /home/opnfv/functest/.boto:/root/.boto \
151 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
152 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
153 -e NODE_NAME=$slave \
154 -e BUILD_TAG=$BUILD_TAG \
155 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
156 -e DASHBOARD_URL={DASHBOARD_URL} \
157 $image run_tests -t {test} -p -r
160 name: functest-remove-images
164 if [ "{repo}" = "_" ]; then
165 image={container}:{tag}
166 elif [ "{port}" = "None" ]; then
167 image={repo}/{container}:{tag}
169 image={repo}:{port}/{container}:{tag}
171 sudo docker rmi $image || true
174 name: 'functest-{repo}-{container}-{tag}-pull'
179 - functest-pull-containers:
180 <<: *functest-containers
183 name: 'functest-opnfv-functest-healthcheck-pull'
185 container: 'functest-healthcheck'
187 - 'functest-{repo}-{container}-{tag}-pull'
190 name: 'functest-opnfv-functest-smoke-pull'
192 container: 'functest-smoke'
194 - 'functest-{repo}-{container}-{tag}-pull'
197 name: 'functest-opnfv-functest-smoke-cntt-pull'
199 container: 'functest-smoke-cntt'
201 - 'functest-{repo}-{container}-{tag}-pull'
204 name: 'functest-opnfv-functest-benchmarking-pull'
206 container: 'functest-benchmarking'
208 - 'functest-{repo}-{container}-{tag}-pull'
211 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
213 container: 'functest-benchmarking-cntt'
215 - 'functest-{repo}-{container}-{tag}-pull'
218 name: 'functest-opnfv-functest-vnf-pull'
220 container: 'functest-vnf'
222 - 'functest-{repo}-{container}-{tag}-pull'
225 name: 'functest-{repo}-{container}-{tag}-rmi'
230 - functest-remove-images:
231 <<: *functest-containers
234 name: 'functest-opnfv-functest-healthcheck-rmi'
236 container: 'functest-healthcheck'
238 - 'functest-{repo}-{container}-{tag}-rmi'
241 name: 'functest-opnfv-functest-smoke-rmi'
243 container: 'functest-smoke'
245 - 'functest-{repo}-{container}-{tag}-rmi'
248 name: 'functest-opnfv-functest-smoke-cntt-rmi'
250 container: 'functest-smoke-cntt'
252 - 'functest-{repo}-{container}-{tag}-rmi'
255 name: 'functest-opnfv-functest-benchmarking-rmi'
257 container: 'functest-benchmarking'
259 - 'functest-{repo}-{container}-{tag}-rmi'
262 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
264 container: 'functest-benchmarking-cntt'
266 - 'functest-{repo}-{container}-{tag}-rmi'
269 name: 'functest-opnfv-functest-vnf-rmi'
271 container: 'functest-vnf'
273 - 'functest-{repo}-{container}-{tag}-rmi'
276 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
280 - functest-build_tag:
282 - functest-EXTERNAL_NETWORK:
283 EXTERNAL_NETWORK: public
284 - functest-VOLUME_DEVICE_NAME:
285 VOLUME_DEVICE_NAME: sdb
286 - functest-IMAGE_PROPERTIES:
287 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
289 - functest-run-containers:
290 <<: *functest-run-containers
293 name: 'functest-opnfv-functest-healthcheck'
296 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
297 - /home/opnfv/functest/images:/home/opnfv/functest/images
299 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
300 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
301 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
302 container: 'functest-healthcheck'
320 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
323 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
327 - functest-build_tag:
329 - functest-EXTERNAL_NETWORK:
330 EXTERNAL_NETWORK: public
331 - functest-VOLUME_DEVICE_NAME:
332 VOLUME_DEVICE_NAME: sdb
333 - functest-IMAGE_PROPERTIES:
334 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
336 - functest-run-containers:
337 <<: *functest-run-containers
340 name: 'functest-opnfv-functest-smoke'
343 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
344 - /home/opnfv/functest/images:/home/opnfv/functest/images
346 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
347 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
348 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
349 container: 'functest-smoke'
377 test: refstack_defcore
379 test: networking-bgpvpn
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
421 test: refstack_defcore
423 test: networking-bgpvpn
435 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
438 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
442 - functest-build_tag:
444 - functest-EXTERNAL_NETWORK:
445 EXTERNAL_NETWORK: public
446 - functest-VOLUME_DEVICE_NAME:
447 VOLUME_DEVICE_NAME: sdb
448 - functest-IMAGE_PROPERTIES:
449 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
451 - functest-run-containers:
452 <<: *functest-run-containers
455 name: 'functest-opnfv-functest-smoke-cntt'
458 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
459 - /home/opnfv/functest/images:/home/opnfv/functest/images
461 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
462 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
463 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
464 container: 'functest-smoke-cntt'
466 - tempest_neutron_cntt
467 - tempest_cinder_cntt
468 - tempest_keystone_cntt
472 - tempest_scenario_cntt
477 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
480 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
484 - functest-build_tag:
486 - functest-EXTERNAL_NETWORK:
487 EXTERNAL_NETWORK: public
488 - functest-VOLUME_DEVICE_NAME:
489 VOLUME_DEVICE_NAME: sdb
490 - functest-IMAGE_PROPERTIES:
491 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
493 - functest-run-containers:
494 <<: *functest-run-containers
497 name: 'functest-opnfv-functest-benchmarking'
500 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
501 - /home/opnfv/functest/images:/home/opnfv/functest/images
503 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
504 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
505 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
506 container: 'functest-benchmarking'
515 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
518 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
522 - functest-build_tag:
524 - functest-EXTERNAL_NETWORK:
525 EXTERNAL_NETWORK: public
526 - functest-VOLUME_DEVICE_NAME:
527 VOLUME_DEVICE_NAME: sdb
528 - functest-IMAGE_PROPERTIES:
529 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
531 - functest-run-containers:
532 <<: *functest-run-containers
535 name: 'functest-opnfv-functest-benchmarking-cntt'
538 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
539 - /home/opnfv/functest/images:/home/opnfv/functest/images
541 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
542 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
543 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
544 container: 'functest-benchmarking-cntt'
551 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
554 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
558 - functest-build_tag:
560 - functest-EXTERNAL_NETWORK:
561 EXTERNAL_NETWORK: public
562 - functest-VOLUME_DEVICE_NAME:
563 VOLUME_DEVICE_NAME: sdb
564 - functest-IMAGE_PROPERTIES:
565 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
567 - functest-run-containers:
568 <<: *functest-run-containers
571 name: 'functest-opnfv-functest-vnf'
574 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
575 - /home/opnfv/functest/images:/home/opnfv/functest/images
577 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
578 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
579 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
580 container: 'functest-vnf'
590 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
598 if [ "{volumes}" != "None" ]; then
599 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
600 do volumes="-v $i $volumes"; done
603 if [ "{env}" != "None" ]; then
604 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
605 do env="-e $i $env"; done
607 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
608 if [ "{repo}" = "_" ]; then
609 image={container}:{tag}
610 elif [ "{port}" = "None" ]; then
611 image={repo}/{container}:{tag}
613 image={repo}:{port}/{container}:{tag}
615 sudo docker run --rm \
618 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
619 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
620 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
621 -v /home/opnfv/functest/.boto:/root/.boto \
622 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
623 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
624 -e BUILD_TAG=$BUILD_TAG \
625 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
629 name: 'functest-{tag}-zip'
633 - functest-build_tag:
635 - functest-EXTERNAL_NETWORK:
636 EXTERNAL_NETWORK: public
637 - functest-VOLUME_DEVICE_NAME:
638 VOLUME_DEVICE_NAME: sdb
639 - functest-IMAGE_PROPERTIES:
640 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
643 <<: *functest-containers
648 name: 'functest-{tag}-zip'
651 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
652 - /home/opnfv/functest/images:/home/opnfv/functest/images
654 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
655 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
656 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
657 container: 'functest-healthcheck'
659 - 'functest-{tag}-zip'
662 name: 'functest-{tag}-daily'
663 project-type: multijob
669 - functest-build_tag:
671 - functest-EXTERNAL_NETWORK:
672 EXTERNAL_NETWORK: public
673 - functest-VOLUME_DEVICE_NAME:
674 VOLUME_DEVICE_NAME: sdb
675 - functest-IMAGE_PROPERTIES:
676 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
677 # PyYAML and yamllint differ here
678 # see https://github.com/yaml/pyyaml/issues/234
679 # yamllint disable rule:indentation
683 - ^functest-(pi-)*{tag}-(daily|docker|review)$
684 # yamllint enable rule:indentation
687 name: remove former images
689 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
691 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
693 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
695 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
697 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
699 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
702 name: pull containers
704 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
706 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
708 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
710 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
712 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
714 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
717 name: opnfv/functest-healthcheck:{tag}
719 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
721 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
723 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
725 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
727 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
729 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
731 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
733 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
735 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
737 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
739 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
741 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
743 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
746 name: opnfv/functest-smoke:{tag}
748 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
750 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
752 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
754 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
756 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
758 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
760 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
762 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
764 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
766 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
768 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
770 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
772 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
774 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
776 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
778 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
780 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
782 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
784 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
786 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
788 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
790 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
793 name: opnfv/functest-smoke-cntt:{tag}
795 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
797 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
799 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
801 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
803 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
805 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
807 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
809 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
812 name: opnfv/functest-benchmarking:{tag}
814 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
816 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
818 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
820 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
823 name: opnfv/functest-benchmarking-cntt:{tag}
825 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
827 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
830 name: opnfv/functest-vnf:{tag}
832 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
834 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
836 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
838 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
840 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
843 name: dump all campaign data
845 - name: 'functest-{tag}-zip'
849 recipients: cedric.ollivier@orange.com
852 name: 'functest-daily'
855 - 'functest-{tag}-daily'
867 regex: ^functest-[a-z0-9.]+-daily$
869 - functest-build-containers: &functest-build-containers
870 name: 'functest-build-containers'
871 <<: *functest-containers
874 build_args: '{build_args}'
878 name: functest-build-containers
882 if [ "{repo}" = "_" ]; then
883 image={container}:{tag}
884 elif [ "{port}" = "None" ]; then
885 image={repo}/{container}:{tag}
887 image={repo}:{port}/{container}:{tag}
890 if [ "{build_args}" != "None" ]; then
891 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
892 do build_args="--build-arg $i $build_args"; done
894 if [ "{ref_arg}" != "None" ]; then
895 build_args="$build_args --build-arg {ref_arg}={ref}"
898 if [ "{from}" != "None" ]; then
899 sed -i {from} Dockerfile
901 sudo docker build $build_args \
902 --pull=false --no-cache --force-rm=true \
909 url: 'https://gerrit.opnfv.org/gerrit/functest'
910 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
914 - functest-dep: &functest-dep
915 name: 'functest-containers'
919 dependency: '{dependency}'
922 name: functest-pull-dep-images
926 if [ "_" = "_" ]; then
927 image=alpine:{dependency}
928 elif [ "None" = "None" ]; then
929 image=_/alpine:{dependency}
931 image=_:/alpine:{dependency}
933 sudo docker pull $image || true
936 name: functest-remove-dep-images
940 if [ "_" = "_" ]; then
941 image=alpine:{dependency}
942 elif [ "" = "None" ]; then
943 image=_/alpine:{dependency}
945 image=_:/alpine:{dependency}
947 sudo docker rmi $image || true
950 name: 'functest-{repo}-{tag}-dep-pull'
955 - functest-pull-dep-images:
959 name: 'functest-{repo}-{tag}-dep-pull'
962 - 'functest-{repo}-{tag}-dep-pull'
965 name: 'functest-{repo}-{tag}-dep-rmi'
970 - functest-remove-dep-images:
974 name: 'functest-{repo}-{tag}-dep-rmi'
977 - 'functest-{repo}-{tag}-dep-rmi'
984 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
985 sudo DEBIAN_FRONTEND=noninteractive apt-get \
986 -o DPkg::Lock::Timeout=300 dist-upgrade -y
987 sudo DEBIAN_FRONTEND=noninteractive \
988 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
989 sudo add-apt-repository -y ppa:deadsnakes/ppa
990 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
991 sudo DEBIAN_FRONTEND=noninteractive apt-get \
992 -o DPkg::Lock::Timeout=300 install \
993 python3.9 python3.9-dev python3.9-distutils \
994 python3.8 python3.8-dev python3.8-distutils \
995 python3.7 python3.7-dev python3.6 python3.6-dev \
996 python python-dev python3-pip enchant -y
997 sudo pip3 install tox tox-pip-version
1002 name: 'functest-{tag}-tox'
1005 ref: $GERRIT_REFSPEC
1007 - functest-patchset-created:
1017 <<: *functest-params
1019 - 'functest-{tag}-tox'
1022 name: 'functest-{repo}-{container}-{tag}-gate'
1028 ref: $GERRIT_REFSPEC
1030 - functest-build-containers:
1031 <<: *functest-build-containers
1032 ref: $GERRIT_REFSPEC
1033 build_args: '{build_args}'
1036 name: functest-opnfv-functest-core-{tag}-gate
1037 <<: *functest-params
1038 container: functest-core
1042 - 'functest-{repo}-{container}-{tag}-gate'
1045 name: functest-opnfv-functest-tempest-{tag}-gate
1046 <<: *functest-params
1047 container: functest-tempest
1049 path: docker/tempest
1053 - {'tag': 'wallaby'}
1058 - 'functest-{repo}-{container}-{tag}-gate'
1061 name: functest-opnfv-functest-healthcheck-{tag}-gate
1062 <<: *functest-params
1063 container: functest-healthcheck
1065 path: docker/healthcheck
1067 - 'functest-{repo}-{container}-{tag}-gate'
1070 name: functest-opnfv-functest-smoke-{tag}-gate
1071 <<: *functest-params
1072 container: functest-smoke
1076 - 'functest-{repo}-{container}-{tag}-gate'
1079 name: functest-opnfv-functest-benchmarking-{tag}-gate
1080 <<: *functest-params
1081 container: functest-benchmarking
1083 path: docker/benchmarking
1085 - 'functest-{repo}-{container}-{tag}-gate'
1088 name: functest-opnfv-functest-vnf-{tag}-gate
1089 <<: *functest-params
1090 container: functest-vnf
1094 - 'functest-{repo}-{container}-{tag}-gate'
1097 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1098 <<: *functest-params
1099 container: functest-smoke-cntt
1101 path: docker/smoke-cntt
1103 - 'functest-{repo}-{container}-{tag}-gate'
1106 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1107 <<: *functest-params
1108 container: functest-benchmarking-cntt
1110 path: docker/benchmarking-cntt
1112 - 'functest-{repo}-{container}-{tag}-gate'
1115 name: functest-patchset-created
1119 - patchset-created-event
1120 - comment-added-contains-event:
1121 comment-contains-value: 'recheck'
1122 - comment-added-contains-event:
1123 comment-contains-value: 'reverify'
1125 - project-compare-type: 'ANT'
1126 project-pattern: 'functest'
1128 - branch-compare-type: 'ANT'
1129 branch-pattern: '**/{branch}'
1132 name: 'functest-{tag}-review'
1133 project-type: multijob
1135 - functest-patchset-created:
1140 - functest-build_tag:
1142 - functest-EXTERNAL_NETWORK:
1143 EXTERNAL_NETWORK: public
1144 - functest-VOLUME_DEVICE_NAME:
1145 VOLUME_DEVICE_NAME: sdb
1146 - functest-IMAGE_PROPERTIES:
1147 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1148 # PyYAML and yamllint differ here
1149 # see https://github.com/yaml/pyyaml/issues/234
1150 # yamllint disable rule:indentation
1154 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1155 # yamllint enable rule:indentation
1158 name: remove former images
1160 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1162 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1164 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1166 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1168 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1170 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1173 name: remove dependency
1175 - name: 'functest-{repo}-{tag}-dep-rmi'
1178 name: pull dependency
1180 - name: 'functest-{repo}-{tag}-dep-pull'
1183 name: build opnfv/functest-core
1185 - name: 'functest-opnfv-functest-core-{tag}-gate'
1188 name: build opnfv/functest-tempest
1190 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1193 name: build containers
1195 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1197 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1199 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1201 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1204 name: build cntt containers
1206 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1208 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1211 name: opnfv/functest-healthcheck:{tag}
1213 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1215 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1217 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1219 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1221 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1223 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1225 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1227 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1229 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1231 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1233 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1235 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1237 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1240 name: opnfv/functest-smoke:{tag}
1242 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1244 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1246 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1248 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1250 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1252 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1254 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1256 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1258 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1260 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1262 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1264 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1266 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1268 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1270 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1272 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1274 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1276 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1278 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1280 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1282 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1284 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1287 name: opnfv/functest-smoke-cntt:{tag}
1289 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1291 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1293 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1295 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1297 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1299 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1301 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1303 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1306 name: opnfv/functest-benchmarking:{tag}
1308 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1310 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1312 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1314 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1317 name: opnfv/functest-benchmarking-cntt:{tag}
1319 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1321 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1324 name: opnfv/functest-vnf:{tag}
1326 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1328 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1330 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1332 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1334 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1338 recipients: cedric.ollivier@orange.com
1341 name: 'functest-review'
1342 <<: *functest-params
1344 - 'functest-{tag}-review'
1347 name: functest-review
1356 regex: ^functest-[a-z0-9.]+-review$
1368 regex: ^functest-[a-z0-9.]+-tox$
1371 name: functest-push-containers
1375 if [ "{repo}" = "_" ]; then
1376 image={container}:{tag}
1377 elif [ "{port}" = "None" ]; then
1378 image={repo}/{container}:{tag}
1380 image={repo}:{port}/{container}:{tag}
1382 sudo docker push $image
1385 name: functest-commit
1388 cron: "*/30 * * * *"
1391 name: 'functest-{repo}-{container}-{tag}-build'
1399 - functest-build-containers:
1400 <<: *functest-build-containers
1402 build_args: '{build_args}'
1403 - functest-push-containers:
1404 <<: *functest-build-containers
1408 name: functest-opnfv-functest-core-{tag}-build
1409 <<: *functest-params
1410 container: functest-core
1414 - 'functest-{repo}-{container}-{tag}-build'
1417 name: functest-opnfv-functest-tempest-{tag}-build
1418 <<: *functest-params
1419 container: functest-tempest
1421 path: docker/tempest
1425 - {'tag': 'wallaby'}
1430 - 'functest-{repo}-{container}-{tag}-build'
1433 name: functest-opnfv-functest-healthcheck-{tag}-build
1434 <<: *functest-params
1435 container: functest-healthcheck
1437 path: docker/healthcheck
1439 - 'functest-{repo}-{container}-{tag}-build'
1442 name: functest-opnfv-functest-smoke-{tag}-build
1443 <<: *functest-params
1444 container: functest-smoke
1448 - 'functest-{repo}-{container}-{tag}-build'
1451 name: functest-opnfv-functest-benchmarking-{tag}-build
1452 <<: *functest-params
1453 container: functest-benchmarking
1455 path: docker/benchmarking
1457 - 'functest-{repo}-{container}-{tag}-build'
1460 name: functest-opnfv-functest-vnf-{tag}-build
1461 <<: *functest-params
1462 container: functest-vnf
1466 - 'functest-{repo}-{container}-{tag}-build'
1469 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1470 <<: *functest-params
1471 container: functest-smoke-cntt
1473 path: docker/smoke-cntt
1475 - 'functest-{repo}-{container}-{tag}-build'
1478 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1479 <<: *functest-params
1480 container: functest-benchmarking-cntt
1482 path: docker/benchmarking-cntt
1484 - 'functest-{repo}-{container}-{tag}-build'
1487 name: 'functest-{tag}-docker'
1488 project-type: multijob
1497 # PyYAML and yamllint differ here
1498 # see https://github.com/yaml/pyyaml/issues/234
1499 # yamllint disable rule:indentation
1503 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1504 # yamllint enable rule:indentation
1507 name: remove dependency
1509 - name: 'functest-{repo}-{tag}-dep-rmi'
1512 name: pull dependency
1514 - name: 'functest-{repo}-{tag}-dep-pull'
1517 name: build opnfv/functest-core
1519 - name: 'functest-opnfv-functest-core-{tag}-build'
1522 name: build opnfv/functest-tempest
1524 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1527 name: build containers
1529 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1531 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1533 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1535 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1538 name: build cntt containers
1540 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1542 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1546 recipients: cedric.ollivier@orange.com
1549 name: functest-trivy
1552 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1553 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1554 -o DPkg::Lock::Timeout=300 install curl -y
1556 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1557 if [ "{repo}" = "_" ]; then
1558 image={container}:{tag}
1559 elif [ "{port}" = "None" ]; then
1560 image={repo}/{container}:{tag}
1562 image={repo}:{port}/{container}:{tag}
1564 ./trivy --exit-code 1 $image
1567 name: 'functest-{repo}-{container}-{tag}-trivy'
1575 <<: *functest-containers
1578 recipients: cedric.ollivier@orange.com
1581 name: 'functest-opnfv-functest-core-trivy'
1582 <<: *functest-params
1583 container: 'functest-core'
1585 - 'functest-{repo}-{container}-{tag}-trivy'
1588 name: 'functest-opnfv-functest-tempest-trivy'
1589 <<: *functest-params
1590 container: 'functest-tempest'
1592 - 'functest-{repo}-{container}-{tag}-trivy'
1595 name: 'functest-opnfv-functest-healthcheck-trivy'
1596 <<: *functest-params
1597 container: 'functest-healthcheck'
1599 - 'functest-{repo}-{container}-{tag}-trivy'
1602 name: 'functest-opnfv-functest-smoke-trivy'
1603 <<: *functest-params
1604 container: 'functest-smoke'
1606 - 'functest-{repo}-{container}-{tag}-trivy'
1609 name: 'functest-opnfv-functest-benchmarking-trivy'
1610 <<: *functest-params
1611 container: 'functest-benchmarking'
1613 - 'functest-{repo}-{container}-{tag}-trivy'
1616 name: 'functest-opnfv-functest-vnf-trivy'
1617 <<: *functest-params
1618 container: 'functest-vnf'
1620 - 'functest-{repo}-{container}-{tag}-trivy'
1623 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1624 <<: *functest-params
1625 container: 'functest-smoke-cntt'
1627 - 'functest-{repo}-{container}-{tag}-trivy'
1630 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1631 <<: *functest-params
1632 container: 'functest-benchmarking-cntt'
1634 - 'functest-{repo}-{container}-{tag}-trivy'
1638 <<: *functest-params
1640 - 'functest-{tag}-docker'
1643 name: functest-docker
1652 regex: ^functest-[a-z0-9.]+-docker$
1655 name: functest-trivy
1664 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$