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'
852 recipients: cedric.ollivier@orange.com
855 name: 'functest-daily'
858 - 'functest-{tag}-daily'
870 regex: ^functest-[a-z0-9.]+-daily$
872 - functest-build-containers: &functest-build-containers
873 name: 'functest-build-containers'
874 <<: *functest-containers
877 build_args: '{build_args}'
881 name: functest-build-containers
885 if [ "{repo}" = "_" ]; then
886 image={container}:{tag}
887 elif [ "{port}" = "None" ]; then
888 image={repo}/{container}:{tag}
890 image={repo}:{port}/{container}:{tag}
893 if [ "{build_args}" != "None" ]; then
894 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
895 do build_args="--build-arg $i $build_args"; done
897 if [ "{ref_arg}" != "None" ]; then
898 build_args="$build_args --build-arg {ref_arg}={ref}"
901 if [ "{from}" != "None" ]; then
902 sed -i {from} Dockerfile
904 sudo docker build $build_args \
905 --pull=false --no-cache --force-rm=true \
912 url: 'https://gerrit.opnfv.org/gerrit/functest'
913 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
917 - functest-dep: &functest-dep
918 name: 'functest-containers'
922 dependency: '{dependency}'
925 name: functest-pull-dep-images
929 if [ "_" = "_" ]; then
930 image=alpine:{dependency}
931 elif [ "None" = "None" ]; then
932 image=_/alpine:{dependency}
934 image=_:/alpine:{dependency}
936 sudo docker pull $image || true
939 name: functest-remove-dep-images
943 if [ "_" = "_" ]; then
944 image=alpine:{dependency}
945 elif [ "" = "None" ]; then
946 image=_/alpine:{dependency}
948 image=_:/alpine:{dependency}
950 sudo docker rmi $image || true
953 name: 'functest-{repo}-{tag}-dep-pull'
958 - functest-pull-dep-images:
962 name: 'functest-{repo}-{tag}-dep-pull'
965 - 'functest-{repo}-{tag}-dep-pull'
968 name: 'functest-{repo}-{tag}-dep-rmi'
973 - functest-remove-dep-images:
977 name: 'functest-{repo}-{tag}-dep-rmi'
980 - 'functest-{repo}-{tag}-dep-rmi'
987 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
988 sudo DEBIAN_FRONTEND=noninteractive apt-get \
989 -o DPkg::Lock::Timeout=300 dist-upgrade -y
990 sudo DEBIAN_FRONTEND=noninteractive \
991 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
992 sudo add-apt-repository -y ppa:deadsnakes/ppa
993 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
994 sudo DEBIAN_FRONTEND=noninteractive apt-get \
995 -o DPkg::Lock::Timeout=300 install \
996 python3.9 python3.9-dev python3.9-distutils \
997 python3.8 python3.8-dev python3.8-distutils \
998 python3.7 python3.7-dev python3.6 python3.6-dev \
999 python python-dev python3-pip enchant -y
1000 sudo pip3 install tox tox-pip-version
1005 name: 'functest-{tag}-tox'
1008 ref: $GERRIT_REFSPEC
1010 - functest-patchset-created:
1020 <<: *functest-params
1022 - 'functest-{tag}-tox'
1025 name: 'functest-{repo}-{container}-{tag}-gate'
1031 ref: $GERRIT_REFSPEC
1033 - functest-build-containers:
1034 <<: *functest-build-containers
1035 ref: $GERRIT_REFSPEC
1036 build_args: '{build_args}'
1039 name: functest-opnfv-functest-core-{tag}-gate
1040 <<: *functest-params
1041 container: functest-core
1045 - 'functest-{repo}-{container}-{tag}-gate'
1048 name: functest-opnfv-functest-tempest-{tag}-gate
1049 <<: *functest-params
1050 container: functest-tempest
1052 path: docker/tempest
1056 - {'tag': 'wallaby'}
1061 - 'functest-{repo}-{container}-{tag}-gate'
1064 name: functest-opnfv-functest-healthcheck-{tag}-gate
1065 <<: *functest-params
1066 container: functest-healthcheck
1068 path: docker/healthcheck
1070 - 'functest-{repo}-{container}-{tag}-gate'
1073 name: functest-opnfv-functest-smoke-{tag}-gate
1074 <<: *functest-params
1075 container: functest-smoke
1079 - 'functest-{repo}-{container}-{tag}-gate'
1082 name: functest-opnfv-functest-benchmarking-{tag}-gate
1083 <<: *functest-params
1084 container: functest-benchmarking
1086 path: docker/benchmarking
1088 - 'functest-{repo}-{container}-{tag}-gate'
1091 name: functest-opnfv-functest-vnf-{tag}-gate
1092 <<: *functest-params
1093 container: functest-vnf
1097 - 'functest-{repo}-{container}-{tag}-gate'
1100 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1101 <<: *functest-params
1102 container: functest-smoke-cntt
1104 path: docker/smoke-cntt
1106 - 'functest-{repo}-{container}-{tag}-gate'
1109 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1110 <<: *functest-params
1111 container: functest-benchmarking-cntt
1113 path: docker/benchmarking-cntt
1115 - 'functest-{repo}-{container}-{tag}-gate'
1118 name: functest-patchset-created
1122 - patchset-created-event
1123 - comment-added-contains-event:
1124 comment-contains-value: 'recheck'
1125 - comment-added-contains-event:
1126 comment-contains-value: 'reverify'
1128 - project-compare-type: 'ANT'
1129 project-pattern: 'functest'
1131 - branch-compare-type: 'ANT'
1132 branch-pattern: '**/{branch}'
1135 name: 'functest-{tag}-review'
1136 project-type: multijob
1138 - functest-patchset-created:
1143 - functest-build_tag:
1145 - functest-EXTERNAL_NETWORK:
1146 EXTERNAL_NETWORK: public
1147 - functest-VOLUME_DEVICE_NAME:
1148 VOLUME_DEVICE_NAME: sdb
1149 - functest-IMAGE_PROPERTIES:
1150 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1151 # PyYAML and yamllint differ here
1152 # see https://github.com/yaml/pyyaml/issues/234
1153 # yamllint disable rule:indentation
1157 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1158 # yamllint enable rule:indentation
1161 name: remove former images
1163 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1165 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1167 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1169 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1171 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1173 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1176 name: remove dependency
1178 - name: 'functest-{repo}-{tag}-dep-rmi'
1181 name: pull dependency
1183 - name: 'functest-{repo}-{tag}-dep-pull'
1186 name: build opnfv/functest-core
1188 - name: 'functest-opnfv-functest-core-{tag}-gate'
1191 name: build opnfv/functest-tempest
1193 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1196 name: build containers
1198 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1200 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1202 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1204 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1207 name: build cntt containers
1209 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1211 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1214 name: opnfv/functest-healthcheck:{tag}
1216 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1218 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1220 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1222 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1224 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1226 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1228 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1230 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1232 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1234 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1236 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1238 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1240 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1243 name: opnfv/functest-smoke:{tag}
1245 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1247 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1249 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1251 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1253 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1255 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1257 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1259 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1261 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1263 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1265 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1267 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1269 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1271 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1273 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1275 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1277 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1279 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1281 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1283 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1285 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1287 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1290 name: opnfv/functest-smoke-cntt:{tag}
1292 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1294 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1296 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1298 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1300 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1302 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1304 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1306 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1309 name: opnfv/functest-benchmarking:{tag}
1311 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1313 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1315 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1317 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1320 name: opnfv/functest-benchmarking-cntt:{tag}
1322 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1324 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1327 name: opnfv/functest-vnf:{tag}
1329 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1331 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1333 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1335 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1337 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1344 recipients: cedric.ollivier@orange.com
1347 name: 'functest-review'
1348 <<: *functest-params
1350 - 'functest-{tag}-review'
1353 name: functest-review
1362 regex: ^functest-[a-z0-9.]+-review$
1374 regex: ^functest-[a-z0-9.]+-tox$
1377 name: functest-push-containers
1381 if [ "{repo}" = "_" ]; then
1382 image={container}:{tag}
1383 elif [ "{port}" = "None" ]; then
1384 image={repo}/{container}:{tag}
1386 image={repo}:{port}/{container}:{tag}
1388 sudo docker push $image
1391 name: functest-commit
1394 cron: "*/30 * * * *"
1397 name: 'functest-{repo}-{container}-{tag}-build'
1405 - functest-build-containers:
1406 <<: *functest-build-containers
1408 build_args: '{build_args}'
1409 - functest-push-containers:
1410 <<: *functest-build-containers
1414 name: functest-opnfv-functest-core-{tag}-build
1415 <<: *functest-params
1416 container: functest-core
1420 - 'functest-{repo}-{container}-{tag}-build'
1423 name: functest-opnfv-functest-tempest-{tag}-build
1424 <<: *functest-params
1425 container: functest-tempest
1427 path: docker/tempest
1431 - {'tag': 'wallaby'}
1436 - 'functest-{repo}-{container}-{tag}-build'
1439 name: functest-opnfv-functest-healthcheck-{tag}-build
1440 <<: *functest-params
1441 container: functest-healthcheck
1443 path: docker/healthcheck
1445 - 'functest-{repo}-{container}-{tag}-build'
1448 name: functest-opnfv-functest-smoke-{tag}-build
1449 <<: *functest-params
1450 container: functest-smoke
1454 - 'functest-{repo}-{container}-{tag}-build'
1457 name: functest-opnfv-functest-benchmarking-{tag}-build
1458 <<: *functest-params
1459 container: functest-benchmarking
1461 path: docker/benchmarking
1463 - 'functest-{repo}-{container}-{tag}-build'
1466 name: functest-opnfv-functest-vnf-{tag}-build
1467 <<: *functest-params
1468 container: functest-vnf
1472 - 'functest-{repo}-{container}-{tag}-build'
1475 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1476 <<: *functest-params
1477 container: functest-smoke-cntt
1479 path: docker/smoke-cntt
1481 - 'functest-{repo}-{container}-{tag}-build'
1484 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1485 <<: *functest-params
1486 container: functest-benchmarking-cntt
1488 path: docker/benchmarking-cntt
1490 - 'functest-{repo}-{container}-{tag}-build'
1493 name: 'functest-{tag}-docker'
1494 project-type: multijob
1503 # PyYAML and yamllint differ here
1504 # see https://github.com/yaml/pyyaml/issues/234
1505 # yamllint disable rule:indentation
1509 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1510 # yamllint enable rule:indentation
1513 name: remove dependency
1515 - name: 'functest-{repo}-{tag}-dep-rmi'
1518 name: pull dependency
1520 - name: 'functest-{repo}-{tag}-dep-pull'
1523 name: build opnfv/functest-core
1525 - name: 'functest-opnfv-functest-core-{tag}-build'
1528 name: build opnfv/functest-tempest
1530 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1533 name: build containers
1535 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1537 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1539 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1541 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1544 name: build cntt containers
1546 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1548 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1555 recipients: cedric.ollivier@orange.com
1558 name: functest-trivy
1561 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1562 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1563 -o DPkg::Lock::Timeout=300 install curl -y
1565 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1566 if [ "{repo}" = "_" ]; then
1567 image={container}:{tag}
1568 elif [ "{port}" = "None" ]; then
1569 image={repo}/{container}:{tag}
1571 image={repo}:{port}/{container}:{tag}
1573 ./trivy --exit-code 1 $image
1576 name: 'functest-{repo}-{container}-{tag}-trivy'
1584 <<: *functest-containers
1590 recipients: cedric.ollivier@orange.com
1593 name: 'functest-opnfv-functest-core-trivy'
1594 <<: *functest-params
1595 container: 'functest-core'
1597 - 'functest-{repo}-{container}-{tag}-trivy'
1600 name: 'functest-opnfv-functest-tempest-trivy'
1601 <<: *functest-params
1602 container: 'functest-tempest'
1604 - 'functest-{repo}-{container}-{tag}-trivy'
1607 name: 'functest-opnfv-functest-healthcheck-trivy'
1608 <<: *functest-params
1609 container: 'functest-healthcheck'
1611 - 'functest-{repo}-{container}-{tag}-trivy'
1614 name: 'functest-opnfv-functest-smoke-trivy'
1615 <<: *functest-params
1616 container: 'functest-smoke'
1618 - 'functest-{repo}-{container}-{tag}-trivy'
1621 name: 'functest-opnfv-functest-benchmarking-trivy'
1622 <<: *functest-params
1623 container: 'functest-benchmarking'
1625 - 'functest-{repo}-{container}-{tag}-trivy'
1628 name: 'functest-opnfv-functest-vnf-trivy'
1629 <<: *functest-params
1630 container: 'functest-vnf'
1632 - 'functest-{repo}-{container}-{tag}-trivy'
1635 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1636 <<: *functest-params
1637 container: 'functest-smoke-cntt'
1639 - 'functest-{repo}-{container}-{tag}-trivy'
1642 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1643 <<: *functest-params
1644 container: 'functest-benchmarking-cntt'
1646 - 'functest-{repo}-{container}-{tag}-trivy'
1649 name: functest-docker-scan
1652 apt-get -o DPkg::Lock::Timeout=300 update && \
1653 DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::Lock::Timeout=300 install \
1656 mkdir -p ~/.docker/cli-plugins && \
1657 curl https://github.com/docker/scan-cli-plugin/releases/latest/download/docker-scan_linux_amd64 \
1658 -L -s -S -o ~/.docker/cli-plugins/docker-scan &&\
1659 chmod +x ~/.docker/cli-plugins/docker-scan
1660 if [ "{repo}" = "_" ]; then
1661 image={container}:{tag}
1662 elif [ "{port}" = "None" ]; then
1663 image={repo}/{container}:{tag}
1665 image={repo}:{port}/{container}:{tag}
1670 name: 'functest-{repo}-{container}-{tag}-docker-scan'
1677 - functest-docker-scan:
1678 <<: *functest-containers
1684 recipients: cedric.ollivier@orange.com
1687 name: 'functest-opnfv-functest-core-docker-scan'
1688 <<: *functest-params
1689 container: 'functest-core'
1691 - 'functest-{repo}-{container}-{tag}-docker-scan'
1694 name: 'functest-opnfv-functest-tempest-docker-scan'
1695 <<: *functest-params
1696 container: 'functest-tempest'
1698 - 'functest-{repo}-{container}-{tag}-docker-scan'
1701 name: 'functest-opnfv-functest-healthcheck-docker-scan'
1702 <<: *functest-params
1703 container: 'functest-healthcheck'
1705 - 'functest-{repo}-{container}-{tag}-docker-scan'
1708 name: 'functest-opnfv-functest-smoke-docker-scan'
1709 <<: *functest-params
1710 container: 'functest-smoke'
1712 - 'functest-{repo}-{container}-{tag}-docker-scan'
1715 name: 'functest-opnfv-functest-benchmarking-docker-scan'
1716 <<: *functest-params
1717 container: 'functest-benchmarking'
1719 - 'functest-{repo}-{container}-{tag}-docker-scan'
1722 name: 'functest-opnfv-functest-vnf-docker-scan'
1723 <<: *functest-params
1724 container: 'functest-vnf'
1726 - 'functest-{repo}-{container}-{tag}-docker-scan'
1729 name: 'functest-opnfv-functest-smoke-cntt-docker-scan'
1730 <<: *functest-params
1731 container: 'functest-smoke-cntt'
1733 - 'functest-{repo}-{container}-{tag}-docker-scan'
1736 name: 'functest-opnfv-functest-benchmarking-cntt-docker-scan'
1737 <<: *functest-params
1738 container: 'functest-benchmarking-cntt'
1740 - 'functest-{repo}-{container}-{tag}-docker-scan'
1744 <<: *functest-params
1746 - 'functest-{tag}-docker'
1749 name: functest-docker
1758 regex: ^functest-[a-z0-9.]+-docker$
1761 name: functest-trivy
1770 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1773 name: functest-docker-scan
1782 regex: ^functest-[a-z0-9.]+-docker-scan$