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 mkdir -p $WORKSPACE/results
143 chown 1000:1000 $WORKSPACE/results
144 sudo docker run --rm \
145 --privileged={privileged} \
146 --network={network} \
149 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
150 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
151 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
152 -v /home/opnfv/functest/.boto:/root/.boto \
153 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
154 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
155 -e NODE_NAME=$slave \
156 -e BUILD_TAG=$BUILD_TAG \
157 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
158 -e DASHBOARD_URL={DASHBOARD_URL} \
159 $image run_tests -t {test} -p -r
162 name: functest-remove-images
166 if [ "{repo}" = "_" ]; then
167 image={container}:{tag}
168 elif [ "{port}" = "None" ]; then
169 image={repo}/{container}:{tag}
171 image={repo}:{port}/{container}:{tag}
173 sudo docker rmi $image || true
176 name: 'functest-{repo}-{container}-{tag}-pull'
181 - functest-pull-containers:
182 <<: *functest-containers
185 name: 'functest-opnfv-functest-healthcheck-pull'
187 container: 'functest-healthcheck'
189 - 'functest-{repo}-{container}-{tag}-pull'
192 name: 'functest-opnfv-functest-smoke-pull'
194 container: 'functest-smoke'
196 - 'functest-{repo}-{container}-{tag}-pull'
199 name: 'functest-opnfv-functest-smoke-cntt-pull'
201 container: 'functest-smoke-cntt'
203 - 'functest-{repo}-{container}-{tag}-pull'
206 name: 'functest-opnfv-functest-benchmarking-pull'
208 container: 'functest-benchmarking'
210 - 'functest-{repo}-{container}-{tag}-pull'
213 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
215 container: 'functest-benchmarking-cntt'
217 - 'functest-{repo}-{container}-{tag}-pull'
220 name: 'functest-opnfv-functest-vnf-pull'
222 container: 'functest-vnf'
224 - 'functest-{repo}-{container}-{tag}-pull'
227 name: 'functest-{repo}-{container}-{tag}-rmi'
232 - functest-remove-images:
233 <<: *functest-containers
236 name: 'functest-opnfv-functest-healthcheck-rmi'
238 container: 'functest-healthcheck'
240 - 'functest-{repo}-{container}-{tag}-rmi'
243 name: 'functest-opnfv-functest-smoke-rmi'
245 container: 'functest-smoke'
247 - 'functest-{repo}-{container}-{tag}-rmi'
250 name: 'functest-opnfv-functest-smoke-cntt-rmi'
252 container: 'functest-smoke-cntt'
254 - 'functest-{repo}-{container}-{tag}-rmi'
257 name: 'functest-opnfv-functest-benchmarking-rmi'
259 container: 'functest-benchmarking'
261 - 'functest-{repo}-{container}-{tag}-rmi'
264 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
266 container: 'functest-benchmarking-cntt'
268 - 'functest-{repo}-{container}-{tag}-rmi'
271 name: 'functest-opnfv-functest-vnf-rmi'
273 container: 'functest-vnf'
275 - 'functest-{repo}-{container}-{tag}-rmi'
278 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
282 - functest-build_tag:
284 - functest-EXTERNAL_NETWORK:
285 EXTERNAL_NETWORK: public
286 - functest-VOLUME_DEVICE_NAME:
287 VOLUME_DEVICE_NAME: sdb
288 - functest-IMAGE_PROPERTIES:
289 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
291 - functest-run-containers:
292 <<: *functest-run-containers
295 name: 'functest-opnfv-functest-healthcheck'
298 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
299 - /home/opnfv/functest/images:/home/opnfv/functest/images
301 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
302 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
303 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
304 container: 'functest-healthcheck'
322 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
325 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
329 - functest-build_tag:
331 - functest-EXTERNAL_NETWORK:
332 EXTERNAL_NETWORK: public
333 - functest-VOLUME_DEVICE_NAME:
334 VOLUME_DEVICE_NAME: sdb
335 - functest-IMAGE_PROPERTIES:
336 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
338 - functest-run-containers:
339 <<: *functest-run-containers
342 name: 'functest-opnfv-functest-smoke'
345 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
346 - /home/opnfv/functest/images:/home/opnfv/functest/images
348 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
349 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
350 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
351 container: 'functest-smoke'
379 test: refstack_defcore
381 test: networking-bgpvpn
387 test: refstack_defcore
389 test: networking-bgpvpn
395 test: refstack_defcore
397 test: networking-bgpvpn
403 test: refstack_defcore
405 test: networking-bgpvpn
411 test: refstack_defcore
413 test: networking-bgpvpn
423 test: refstack_defcore
425 test: networking-bgpvpn
437 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
440 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
444 - functest-build_tag:
446 - functest-EXTERNAL_NETWORK:
447 EXTERNAL_NETWORK: public
448 - functest-VOLUME_DEVICE_NAME:
449 VOLUME_DEVICE_NAME: sdb
450 - functest-IMAGE_PROPERTIES:
451 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
453 - functest-run-containers:
454 <<: *functest-run-containers
457 name: 'functest-opnfv-functest-smoke-cntt'
460 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
461 - /home/opnfv/functest/images:/home/opnfv/functest/images
463 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
464 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
465 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
466 container: 'functest-smoke-cntt'
468 - tempest_neutron_cntt
469 - tempest_cinder_cntt
470 - tempest_keystone_cntt
474 - tempest_scenario_cntt
479 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
482 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
486 - functest-build_tag:
488 - functest-EXTERNAL_NETWORK:
489 EXTERNAL_NETWORK: public
490 - functest-VOLUME_DEVICE_NAME:
491 VOLUME_DEVICE_NAME: sdb
492 - functest-IMAGE_PROPERTIES:
493 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
495 - functest-run-containers:
496 <<: *functest-run-containers
499 name: 'functest-opnfv-functest-benchmarking'
502 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
503 - /home/opnfv/functest/images:/home/opnfv/functest/images
505 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
506 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
507 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
508 container: 'functest-benchmarking'
517 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
520 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
524 - functest-build_tag:
526 - functest-EXTERNAL_NETWORK:
527 EXTERNAL_NETWORK: public
528 - functest-VOLUME_DEVICE_NAME:
529 VOLUME_DEVICE_NAME: sdb
530 - functest-IMAGE_PROPERTIES:
531 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
533 - functest-run-containers:
534 <<: *functest-run-containers
537 name: 'functest-opnfv-functest-benchmarking-cntt'
540 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
541 - /home/opnfv/functest/images:/home/opnfv/functest/images
543 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
544 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
545 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
546 container: 'functest-benchmarking-cntt'
553 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
556 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
560 - functest-build_tag:
562 - functest-EXTERNAL_NETWORK:
563 EXTERNAL_NETWORK: public
564 - functest-VOLUME_DEVICE_NAME:
565 VOLUME_DEVICE_NAME: sdb
566 - functest-IMAGE_PROPERTIES:
567 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
569 - functest-run-containers:
570 <<: *functest-run-containers
573 name: 'functest-opnfv-functest-vnf'
576 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
577 - /home/opnfv/functest/images:/home/opnfv/functest/images
579 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
580 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
581 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
582 container: 'functest-vnf'
592 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
600 if [ "{volumes}" != "None" ]; then
601 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
602 do volumes="-v $i $volumes"; done
605 if [ "{env}" != "None" ]; then
606 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
607 do env="-e $i $env"; done
609 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
610 if [ "{repo}" = "_" ]; then
611 image={container}:{tag}
612 elif [ "{port}" = "None" ]; then
613 image={repo}/{container}:{tag}
615 image={repo}:{port}/{container}:{tag}
617 sudo docker run --rm \
620 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
621 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
622 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
623 -v /home/opnfv/functest/.boto:/root/.boto \
624 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
625 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
626 -e BUILD_TAG=$BUILD_TAG \
627 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
631 name: 'functest-{tag}-zip'
635 - functest-build_tag:
637 - functest-EXTERNAL_NETWORK:
638 EXTERNAL_NETWORK: public
639 - functest-VOLUME_DEVICE_NAME:
640 VOLUME_DEVICE_NAME: sdb
641 - functest-IMAGE_PROPERTIES:
642 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
645 <<: *functest-containers
650 name: 'functest-{tag}-zip'
653 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
654 - /home/opnfv/functest/images:/home/opnfv/functest/images
656 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
657 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
658 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
659 container: 'functest-healthcheck'
661 - 'functest-{tag}-zip'
664 name: 'functest-{tag}-daily'
665 project-type: multijob
671 - functest-build_tag:
673 - functest-EXTERNAL_NETWORK:
674 EXTERNAL_NETWORK: public
675 - functest-VOLUME_DEVICE_NAME:
676 VOLUME_DEVICE_NAME: sdb
677 - functest-IMAGE_PROPERTIES:
678 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
679 # PyYAML and yamllint differ here
680 # see https://github.com/yaml/pyyaml/issues/234
681 # yamllint disable rule:indentation
685 - ^functest-(pi-)*{tag}-(daily|docker|review)$
686 # yamllint enable rule:indentation
689 name: remove former images
691 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
693 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
695 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
697 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
699 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
701 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
704 name: pull containers
706 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
708 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
710 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
712 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
714 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
716 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
719 name: opnfv/functest-healthcheck:{tag}
721 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
723 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
725 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
727 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
729 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
731 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
733 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
735 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
737 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
739 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
741 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
743 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
745 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
748 name: opnfv/functest-smoke:{tag}
750 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
752 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
754 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
756 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
758 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
760 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
762 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
764 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
766 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
768 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
770 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
772 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
774 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
776 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
778 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
780 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
782 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
784 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
786 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
788 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
790 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
792 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
795 name: opnfv/functest-smoke-cntt:{tag}
797 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
799 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
801 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
803 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
805 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
807 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
809 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
811 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
814 name: opnfv/functest-benchmarking:{tag}
816 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
818 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
820 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
822 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
825 name: opnfv/functest-benchmarking-cntt:{tag}
827 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
829 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
832 name: opnfv/functest-vnf:{tag}
834 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
836 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
838 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
840 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
842 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
845 name: dump all campaign data
847 - name: 'functest-{tag}-zip'
854 recipients: cedric.ollivier@orange.com
857 name: 'functest-daily'
860 - 'functest-{tag}-daily'
872 regex: ^functest-[a-z0-9.]+-daily$
874 - functest-build-containers: &functest-build-containers
875 name: 'functest-build-containers'
876 <<: *functest-containers
879 build_args: '{build_args}'
883 name: functest-build-containers
887 if [ "{repo}" = "_" ]; then
888 image={container}:{tag}
889 elif [ "{port}" = "None" ]; then
890 image={repo}/{container}:{tag}
892 image={repo}:{port}/{container}:{tag}
895 if [ "{build_args}" != "None" ]; then
896 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
897 do build_args="--build-arg $i $build_args"; done
899 if [ "{ref_arg}" != "None" ]; then
900 build_args="$build_args --build-arg {ref_arg}={ref}"
903 if [ "{from}" != "None" ]; then
904 sed -i {from} Dockerfile
906 sudo docker build $build_args \
907 --pull=false --no-cache --force-rm=true \
914 url: 'https://gerrit.opnfv.org/gerrit/functest'
915 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
919 - functest-dep: &functest-dep
920 name: 'functest-containers'
924 dependency: '{dependency}'
927 name: functest-pull-dep-images
931 if [ "_" = "_" ]; then
932 image=alpine:{dependency}
933 elif [ "None" = "None" ]; then
934 image=_/alpine:{dependency}
936 image=_:/alpine:{dependency}
938 sudo docker pull $image || true
941 name: functest-remove-dep-images
945 if [ "_" = "_" ]; then
946 image=alpine:{dependency}
947 elif [ "" = "None" ]; then
948 image=_/alpine:{dependency}
950 image=_:/alpine:{dependency}
952 sudo docker rmi $image || true
955 name: 'functest-{repo}-{tag}-dep-pull'
960 - functest-pull-dep-images:
964 name: 'functest-{repo}-{tag}-dep-pull'
967 - 'functest-{repo}-{tag}-dep-pull'
970 name: 'functest-{repo}-{tag}-dep-rmi'
975 - functest-remove-dep-images:
979 name: 'functest-{repo}-{tag}-dep-rmi'
982 - 'functest-{repo}-{tag}-dep-rmi'
989 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
990 sudo DEBIAN_FRONTEND=noninteractive apt-get \
991 -o DPkg::Lock::Timeout=300 dist-upgrade -y
992 sudo DEBIAN_FRONTEND=noninteractive \
993 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
994 sudo add-apt-repository -y ppa:deadsnakes/ppa
995 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
996 sudo DEBIAN_FRONTEND=noninteractive apt-get \
997 -o DPkg::Lock::Timeout=300 install \
998 python3.9 python3.9-dev python3.9-distutils \
999 python3.8 python3.8-dev python3.8-distutils \
1000 python3.7 python3.7-dev python3.6 python3.6-dev \
1001 python python-dev python3-pip enchant -y
1002 sudo pip3 install tox tox-pip-version
1007 name: 'functest-{tag}-tox'
1010 ref: $GERRIT_REFSPEC
1012 - functest-patchset-created:
1022 <<: *functest-params
1024 - 'functest-{tag}-tox'
1027 name: 'functest-{repo}-{container}-{tag}-gate'
1033 ref: $GERRIT_REFSPEC
1035 - functest-build-containers:
1036 <<: *functest-build-containers
1037 ref: $GERRIT_REFSPEC
1038 build_args: '{build_args}'
1041 name: functest-opnfv-functest-core-{tag}-gate
1042 <<: *functest-params
1043 container: functest-core
1047 - 'functest-{repo}-{container}-{tag}-gate'
1050 name: functest-opnfv-functest-tempest-{tag}-gate
1051 <<: *functest-params
1052 container: functest-tempest
1054 path: docker/tempest
1058 - {'tag': 'wallaby'}
1063 - 'functest-{repo}-{container}-{tag}-gate'
1066 name: functest-opnfv-functest-healthcheck-{tag}-gate
1067 <<: *functest-params
1068 container: functest-healthcheck
1070 path: docker/healthcheck
1072 - 'functest-{repo}-{container}-{tag}-gate'
1075 name: functest-opnfv-functest-smoke-{tag}-gate
1076 <<: *functest-params
1077 container: functest-smoke
1081 - 'functest-{repo}-{container}-{tag}-gate'
1084 name: functest-opnfv-functest-benchmarking-{tag}-gate
1085 <<: *functest-params
1086 container: functest-benchmarking
1088 path: docker/benchmarking
1090 - 'functest-{repo}-{container}-{tag}-gate'
1093 name: functest-opnfv-functest-vnf-{tag}-gate
1094 <<: *functest-params
1095 container: functest-vnf
1099 - 'functest-{repo}-{container}-{tag}-gate'
1102 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1103 <<: *functest-params
1104 container: functest-smoke-cntt
1106 path: docker/smoke-cntt
1108 - 'functest-{repo}-{container}-{tag}-gate'
1111 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1112 <<: *functest-params
1113 container: functest-benchmarking-cntt
1115 path: docker/benchmarking-cntt
1117 - 'functest-{repo}-{container}-{tag}-gate'
1120 name: functest-patchset-created
1124 - patchset-created-event
1125 - comment-added-contains-event:
1126 comment-contains-value: 'recheck'
1127 - comment-added-contains-event:
1128 comment-contains-value: 'reverify'
1130 - project-compare-type: 'ANT'
1131 project-pattern: 'functest'
1133 - branch-compare-type: 'ANT'
1134 branch-pattern: '**/{branch}'
1137 name: 'functest-{tag}-review'
1138 project-type: multijob
1140 - functest-patchset-created:
1145 - functest-build_tag:
1147 - functest-EXTERNAL_NETWORK:
1148 EXTERNAL_NETWORK: public
1149 - functest-VOLUME_DEVICE_NAME:
1150 VOLUME_DEVICE_NAME: sdb
1151 - functest-IMAGE_PROPERTIES:
1152 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1153 # PyYAML and yamllint differ here
1154 # see https://github.com/yaml/pyyaml/issues/234
1155 # yamllint disable rule:indentation
1159 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1160 # yamllint enable rule:indentation
1163 name: remove former images
1165 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1167 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1169 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1171 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1173 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1175 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1178 name: remove dependency
1180 - name: 'functest-{repo}-{tag}-dep-rmi'
1183 name: pull dependency
1185 - name: 'functest-{repo}-{tag}-dep-pull'
1188 name: build opnfv/functest-core
1190 - name: 'functest-opnfv-functest-core-{tag}-gate'
1193 name: build opnfv/functest-tempest
1195 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1198 name: build containers
1200 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1202 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1204 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1206 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1209 name: build cntt containers
1211 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1213 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1216 name: opnfv/functest-healthcheck:{tag}
1218 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1220 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1222 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1224 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1226 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1228 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1230 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1232 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1234 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1236 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1238 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1240 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1242 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1245 name: opnfv/functest-smoke:{tag}
1247 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1249 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1251 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1253 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1255 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1257 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1259 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1261 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1263 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1265 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1267 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1269 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1271 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1273 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1275 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1277 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1279 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1281 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1283 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1285 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1287 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1289 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1292 name: opnfv/functest-smoke-cntt:{tag}
1294 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1296 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1298 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1300 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1302 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1304 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1306 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1308 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1311 name: opnfv/functest-benchmarking:{tag}
1313 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1315 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1317 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1319 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1322 name: opnfv/functest-benchmarking-cntt:{tag}
1324 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1326 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1329 name: opnfv/functest-vnf:{tag}
1331 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1333 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1335 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1337 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1339 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1346 recipients: cedric.ollivier@orange.com
1349 name: 'functest-review'
1350 <<: *functest-params
1352 - 'functest-{tag}-review'
1355 name: functest-review
1364 regex: ^functest-[a-z0-9.]+-review$
1376 regex: ^functest-[a-z0-9.]+-tox$
1379 name: functest-push-containers
1383 if [ "{repo}" = "_" ]; then
1384 image={container}:{tag}
1385 elif [ "{port}" = "None" ]; then
1386 image={repo}/{container}:{tag}
1388 image={repo}:{port}/{container}:{tag}
1390 sudo docker push $image
1393 name: functest-commit
1396 cron: "*/30 * * * *"
1399 name: 'functest-{repo}-{container}-{tag}-build'
1407 - functest-build-containers:
1408 <<: *functest-build-containers
1410 build_args: '{build_args}'
1411 - functest-push-containers:
1412 <<: *functest-build-containers
1416 name: functest-opnfv-functest-core-{tag}-build
1417 <<: *functest-params
1418 container: functest-core
1422 - 'functest-{repo}-{container}-{tag}-build'
1425 name: functest-opnfv-functest-tempest-{tag}-build
1426 <<: *functest-params
1427 container: functest-tempest
1429 path: docker/tempest
1433 - {'tag': 'wallaby'}
1438 - 'functest-{repo}-{container}-{tag}-build'
1441 name: functest-opnfv-functest-healthcheck-{tag}-build
1442 <<: *functest-params
1443 container: functest-healthcheck
1445 path: docker/healthcheck
1447 - 'functest-{repo}-{container}-{tag}-build'
1450 name: functest-opnfv-functest-smoke-{tag}-build
1451 <<: *functest-params
1452 container: functest-smoke
1456 - 'functest-{repo}-{container}-{tag}-build'
1459 name: functest-opnfv-functest-benchmarking-{tag}-build
1460 <<: *functest-params
1461 container: functest-benchmarking
1463 path: docker/benchmarking
1465 - 'functest-{repo}-{container}-{tag}-build'
1468 name: functest-opnfv-functest-vnf-{tag}-build
1469 <<: *functest-params
1470 container: functest-vnf
1474 - 'functest-{repo}-{container}-{tag}-build'
1477 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1478 <<: *functest-params
1479 container: functest-smoke-cntt
1481 path: docker/smoke-cntt
1483 - 'functest-{repo}-{container}-{tag}-build'
1486 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1487 <<: *functest-params
1488 container: functest-benchmarking-cntt
1490 path: docker/benchmarking-cntt
1492 - 'functest-{repo}-{container}-{tag}-build'
1495 name: 'functest-{tag}-docker'
1496 project-type: multijob
1505 # PyYAML and yamllint differ here
1506 # see https://github.com/yaml/pyyaml/issues/234
1507 # yamllint disable rule:indentation
1511 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1512 # yamllint enable rule:indentation
1515 name: remove dependency
1517 - name: 'functest-{repo}-{tag}-dep-rmi'
1520 name: pull dependency
1522 - name: 'functest-{repo}-{tag}-dep-pull'
1525 name: build opnfv/functest-core
1527 - name: 'functest-opnfv-functest-core-{tag}-build'
1530 name: build opnfv/functest-tempest
1532 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1535 name: build containers
1537 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1539 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1541 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1543 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1546 name: build cntt containers
1548 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1550 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1557 recipients: cedric.ollivier@orange.com
1560 name: functest-trivy
1563 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1564 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1565 -o DPkg::Lock::Timeout=300 install curl -y
1567 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1568 if [ "{repo}" = "_" ]; then
1569 image={container}:{tag}
1570 elif [ "{port}" = "None" ]; then
1571 image={repo}/{container}:{tag}
1573 image={repo}:{port}/{container}:{tag}
1575 ./trivy --exit-code 1 $image
1578 name: 'functest-{repo}-{container}-{tag}-trivy'
1586 <<: *functest-containers
1592 recipients: cedric.ollivier@orange.com
1595 name: 'functest-opnfv-functest-core-trivy'
1596 <<: *functest-params
1597 container: 'functest-core'
1599 - 'functest-{repo}-{container}-{tag}-trivy'
1602 name: 'functest-opnfv-functest-tempest-trivy'
1603 <<: *functest-params
1604 container: 'functest-tempest'
1606 - 'functest-{repo}-{container}-{tag}-trivy'
1609 name: 'functest-opnfv-functest-healthcheck-trivy'
1610 <<: *functest-params
1611 container: 'functest-healthcheck'
1613 - 'functest-{repo}-{container}-{tag}-trivy'
1616 name: 'functest-opnfv-functest-smoke-trivy'
1617 <<: *functest-params
1618 container: 'functest-smoke'
1620 - 'functest-{repo}-{container}-{tag}-trivy'
1623 name: 'functest-opnfv-functest-benchmarking-trivy'
1624 <<: *functest-params
1625 container: 'functest-benchmarking'
1627 - 'functest-{repo}-{container}-{tag}-trivy'
1630 name: 'functest-opnfv-functest-vnf-trivy'
1631 <<: *functest-params
1632 container: 'functest-vnf'
1634 - 'functest-{repo}-{container}-{tag}-trivy'
1637 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1638 <<: *functest-params
1639 container: 'functest-smoke-cntt'
1641 - 'functest-{repo}-{container}-{tag}-trivy'
1644 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1645 <<: *functest-params
1646 container: 'functest-benchmarking-cntt'
1648 - 'functest-{repo}-{container}-{tag}-trivy'
1651 name: functest-grype
1654 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1655 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1656 -o DPkg::Lock::Timeout=300 install curl -y
1658 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1659 if [ "{repo}" = "_" ]; then
1660 image={container}:{tag}
1661 elif [ "{port}" = "None" ]; then
1662 image={repo}/{container}:{tag}
1664 image={repo}:{port}/{container}:{tag}
1669 name: 'functest-{repo}-{container}-{tag}-grype'
1677 <<: *functest-containers
1683 recipients: cedric.ollivier@orange.com
1686 name: 'functest-opnfv-functest-core-grype'
1687 <<: *functest-params
1688 container: 'functest-core'
1690 - 'functest-{repo}-{container}-{tag}-grype'
1693 name: 'functest-opnfv-functest-tempest-grype'
1694 <<: *functest-params
1695 container: 'functest-tempest'
1697 - 'functest-{repo}-{container}-{tag}-grype'
1700 name: 'functest-opnfv-functest-healthcheck-grype'
1701 <<: *functest-params
1702 container: 'functest-healthcheck'
1704 - 'functest-{repo}-{container}-{tag}-grype'
1707 name: 'functest-opnfv-functest-smoke-grype'
1708 <<: *functest-params
1709 container: 'functest-smoke'
1711 - 'functest-{repo}-{container}-{tag}-grype'
1714 name: 'functest-opnfv-functest-benchmarking-grype'
1715 <<: *functest-params
1716 container: 'functest-benchmarking'
1718 - 'functest-{repo}-{container}-{tag}-grype'
1721 name: 'functest-opnfv-functest-vnf-grype'
1722 <<: *functest-params
1723 container: 'functest-vnf'
1725 - 'functest-{repo}-{container}-{tag}-grype'
1728 name: 'functest-opnfv-functest-smoke-cntt-grype'
1729 <<: *functest-params
1730 container: 'functest-smoke-cntt'
1732 - 'functest-{repo}-{container}-{tag}-grype'
1735 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1736 <<: *functest-params
1737 container: 'functest-benchmarking-cntt'
1739 - 'functest-{repo}-{container}-{tag}-grype'
1743 <<: *functest-params
1745 - 'functest-{tag}-docker'
1748 name: functest-docker
1757 regex: ^functest-[a-z0-9.]+-docker$
1760 name: functest-trivy
1769 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1772 name: functest-grype
1781 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$