2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
19 DASHBOARD_URL: http://172.30.12.85
26 DASHBOARD_URL: http://172.30.12.85
31 branch: stable/wallaby
33 DASHBOARD_URL: http://172.30.13.91
40 DASHBOARD_URL: http://172.30.13.94
47 DASHBOARD_URL: http://172.30.12.88
54 DASHBOARD_URL: http://172.30.12.83
57 - functest-jobs: &functest-jobs
59 current-parameters: true
69 name: functest-build_tag
75 name: functest-EXTERNAL_NETWORK
78 name: EXTERNAL_NETWORK
82 name: functest-VOLUME_DEVICE_NAME
85 name: VOLUME_DEVICE_NAME
89 name: functest-IMAGE_PROPERTIES
92 name: IMAGE_PROPERTIES
93 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
95 - functest-run-containers: &functest-run-containers
96 name: 'functest-run-containers'
97 <<: *functest-containers
99 privileged: '{privileged}'
105 DASHBOARD_URL: '{DASHBOARD_URL}'
108 name: functest-pull-containers
112 if [ "{repo}" = "_" ]; then
113 image={container}:{tag}
114 elif [ "{port}" = "None" ]; then
115 image={repo}/{container}:{tag}
117 image={repo}:{port}/{container}:{tag}
119 sudo docker pull $image
122 name: functest-run-containers
127 if [ "{volumes}" != "None" ]; then
128 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
129 do volumes="-v $i $volumes"; done
132 if [ "{env}" != "None" ]; then
133 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
134 do env="-e $i $env"; done
136 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
137 if [ "{repo}" = "_" ]; then
138 image={container}:{tag}
139 elif [ "{port}" = "None" ]; then
140 image={repo}/{container}:{tag}
142 image={repo}:{port}/{container}:{tag}
144 sudo mkdir -p $WORKSPACE/results
145 sudo chown {uid}:{gid} $WORKSPACE/results
146 sudo docker run --rm \
147 --privileged={privileged} \
148 --network={network} \
151 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
152 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
153 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
154 -v /home/opnfv/functest/.boto:/root/.boto \
155 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
156 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
157 -e NODE_NAME=$slave \
158 -e BUILD_TAG=$BUILD_TAG \
159 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
160 -e DASHBOARD_URL={DASHBOARD_URL} \
161 $image run_tests -t {test} -p -r
164 name: functest-remove-images
168 if [ "{repo}" = "_" ]; then
169 image={container}:{tag}
170 elif [ "{port}" = "None" ]; then
171 image={repo}/{container}:{tag}
173 image={repo}:{port}/{container}:{tag}
175 sudo docker rmi $image || true
178 name: 'functest-{repo}-{container}-{tag}-pull'
183 - functest-pull-containers:
184 <<: *functest-containers
187 name: 'functest-opnfv-functest-healthcheck-pull'
189 container: 'functest-healthcheck'
191 - 'functest-{repo}-{container}-{tag}-pull'
194 name: 'functest-opnfv-functest-smoke-pull'
196 container: 'functest-smoke'
198 - 'functest-{repo}-{container}-{tag}-pull'
201 name: 'functest-opnfv-functest-smoke-cntt-pull'
203 container: 'functest-smoke-cntt'
205 - 'functest-{repo}-{container}-{tag}-pull'
208 name: 'functest-opnfv-functest-benchmarking-pull'
210 container: 'functest-benchmarking'
212 - 'functest-{repo}-{container}-{tag}-pull'
215 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
217 container: 'functest-benchmarking-cntt'
219 - 'functest-{repo}-{container}-{tag}-pull'
222 name: 'functest-opnfv-functest-vnf-pull'
224 container: 'functest-vnf'
226 - 'functest-{repo}-{container}-{tag}-pull'
229 name: 'functest-{repo}-{container}-{tag}-rmi'
234 - functest-remove-images:
235 <<: *functest-containers
238 name: 'functest-opnfv-functest-healthcheck-rmi'
240 container: 'functest-healthcheck'
242 - 'functest-{repo}-{container}-{tag}-rmi'
245 name: 'functest-opnfv-functest-smoke-rmi'
247 container: 'functest-smoke'
249 - 'functest-{repo}-{container}-{tag}-rmi'
252 name: 'functest-opnfv-functest-smoke-cntt-rmi'
254 container: 'functest-smoke-cntt'
256 - 'functest-{repo}-{container}-{tag}-rmi'
259 name: 'functest-opnfv-functest-benchmarking-rmi'
261 container: 'functest-benchmarking'
263 - 'functest-{repo}-{container}-{tag}-rmi'
266 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
268 container: 'functest-benchmarking-cntt'
270 - 'functest-{repo}-{container}-{tag}-rmi'
273 name: 'functest-opnfv-functest-vnf-rmi'
275 container: 'functest-vnf'
277 - 'functest-{repo}-{container}-{tag}-rmi'
280 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
284 - functest-build_tag:
286 - functest-EXTERNAL_NETWORK:
287 EXTERNAL_NETWORK: public
288 - functest-VOLUME_DEVICE_NAME:
289 VOLUME_DEVICE_NAME: sdb
290 - functest-IMAGE_PROPERTIES:
291 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
293 - functest-run-containers:
294 <<: *functest-run-containers
297 name: 'functest-opnfv-functest-healthcheck'
300 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
301 - /home/opnfv/functest/images:/home/opnfv/functest/images
303 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
304 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
305 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
306 container: 'functest-healthcheck'
326 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
329 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
333 - functest-build_tag:
335 - functest-EXTERNAL_NETWORK:
336 EXTERNAL_NETWORK: public
337 - functest-VOLUME_DEVICE_NAME:
338 VOLUME_DEVICE_NAME: sdb
339 - functest-IMAGE_PROPERTIES:
340 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
342 - functest-run-containers:
343 <<: *functest-run-containers
346 name: 'functest-opnfv-functest-smoke'
349 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
350 - /home/opnfv/functest/images:/home/opnfv/functest/images
352 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
353 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
354 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
355 container: 'functest-smoke'
385 test: refstack_defcore
387 test: networking-bgpvpn
393 test: refstack_defcore
395 test: networking-bgpvpn
401 test: refstack_defcore
403 test: networking-bgpvpn
409 test: refstack_defcore
411 test: networking-bgpvpn
417 test: refstack_defcore
419 test: networking-bgpvpn
429 test: refstack_defcore
431 test: networking-bgpvpn
443 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
446 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
450 - functest-build_tag:
452 - functest-EXTERNAL_NETWORK:
453 EXTERNAL_NETWORK: public
454 - functest-VOLUME_DEVICE_NAME:
455 VOLUME_DEVICE_NAME: sdb
456 - functest-IMAGE_PROPERTIES:
457 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
459 - functest-run-containers:
460 <<: *functest-run-containers
463 name: 'functest-opnfv-functest-smoke-cntt'
466 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
467 - /home/opnfv/functest/images:/home/opnfv/functest/images
469 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
470 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
471 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
472 container: 'functest-smoke-cntt'
474 - tempest_neutron_cntt
475 - tempest_cinder_cntt
476 - tempest_keystone_cntt
480 - tempest_scenario_cntt
487 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
490 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
494 - functest-build_tag:
496 - functest-EXTERNAL_NETWORK:
497 EXTERNAL_NETWORK: public
498 - functest-VOLUME_DEVICE_NAME:
499 VOLUME_DEVICE_NAME: sdb
500 - functest-IMAGE_PROPERTIES:
501 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
503 - functest-run-containers:
504 <<: *functest-run-containers
507 name: 'functest-opnfv-functest-benchmarking'
510 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
511 - /home/opnfv/functest/images:/home/opnfv/functest/images
513 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
514 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
515 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
516 container: 'functest-benchmarking'
527 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
530 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
534 - functest-build_tag:
536 - functest-EXTERNAL_NETWORK:
537 EXTERNAL_NETWORK: public
538 - functest-VOLUME_DEVICE_NAME:
539 VOLUME_DEVICE_NAME: sdb
540 - functest-IMAGE_PROPERTIES:
541 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
543 - functest-run-containers:
544 <<: *functest-run-containers
547 name: 'functest-opnfv-functest-benchmarking-cntt'
550 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
551 - /home/opnfv/functest/images:/home/opnfv/functest/images
553 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
554 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
555 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
556 container: 'functest-benchmarking-cntt'
565 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
568 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
572 - functest-build_tag:
574 - functest-EXTERNAL_NETWORK:
575 EXTERNAL_NETWORK: public
576 - functest-VOLUME_DEVICE_NAME:
577 VOLUME_DEVICE_NAME: sdb
578 - functest-IMAGE_PROPERTIES:
579 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
581 - functest-run-containers:
582 <<: *functest-run-containers
585 name: 'functest-opnfv-functest-vnf'
588 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
589 - /home/opnfv/functest/images:/home/opnfv/functest/images
591 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
592 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
593 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
594 container: 'functest-vnf'
606 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
614 if [ "{volumes}" != "None" ]; then
615 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
616 do volumes="-v $i $volumes"; done
619 if [ "{env}" != "None" ]; then
620 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
621 do env="-e $i $env"; done
623 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
624 if [ "{repo}" = "_" ]; then
625 image={container}:{tag}
626 elif [ "{port}" = "None" ]; then
627 image={repo}/{container}:{tag}
629 image={repo}:{port}/{container}:{tag}
631 sudo mkdir -p $WORKSPACE/results
632 sudo chown {uid}:{gid} $WORKSPACE/results
633 sudo docker run --rm \
636 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
637 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
638 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
639 -v /home/opnfv/functest/.boto:/root/.boto \
640 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
641 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
642 -e BUILD_TAG=$BUILD_TAG \
643 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
647 name: 'functest-{tag}-zip'
651 - functest-build_tag:
653 - functest-EXTERNAL_NETWORK:
654 EXTERNAL_NETWORK: public
655 - functest-VOLUME_DEVICE_NAME:
656 VOLUME_DEVICE_NAME: sdb
657 - functest-IMAGE_PROPERTIES:
658 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
661 <<: *functest-containers
668 name: 'functest-{tag}-zip'
671 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
672 - /home/opnfv/functest/images:/home/opnfv/functest/images
674 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
675 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
676 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
677 container: 'functest-healthcheck'
681 - 'functest-{tag}-zip'
684 name: 'functest-{tag}-daily'
685 project-type: multijob
691 - functest-build_tag:
693 - functest-EXTERNAL_NETWORK:
694 EXTERNAL_NETWORK: public
695 - functest-VOLUME_DEVICE_NAME:
696 VOLUME_DEVICE_NAME: sdb
697 - functest-IMAGE_PROPERTIES:
698 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
699 # PyYAML and yamllint differ here
700 # see https://github.com/yaml/pyyaml/issues/234
701 # yamllint disable rule:indentation
705 - ^functest-(pi-)*{tag}-(daily|docker|review)$
706 # yamllint enable rule:indentation
709 name: remove former images
711 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
713 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
715 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
717 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
719 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
721 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
724 name: pull containers
726 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
728 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
730 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
732 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
734 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
736 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
739 name: opnfv/functest-healthcheck:{tag}
741 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
743 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
745 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
747 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
749 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
751 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
753 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
755 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
757 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
759 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
761 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
763 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
765 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
768 name: opnfv/functest-smoke:{tag}
770 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
772 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
774 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
776 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
778 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
780 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
782 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
784 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
786 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
788 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
790 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
792 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
794 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
796 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
798 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
800 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
802 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
804 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
806 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
808 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
810 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
812 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
815 name: opnfv/functest-smoke-cntt:{tag}
817 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
819 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
821 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
823 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
825 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
827 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
829 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
831 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
834 name: opnfv/functest-benchmarking:{tag}
836 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
838 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
840 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
842 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
845 name: opnfv/functest-benchmarking-cntt:{tag}
847 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
849 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
852 name: opnfv/functest-vnf:{tag}
854 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
856 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
858 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
860 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
862 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
865 name: dump all campaign data
867 - name: 'functest-{tag}-zip'
874 recipients: cedric.ollivier@orange.com
877 name: 'functest-daily'
880 - 'functest-{tag}-daily'
892 regex: ^functest-[a-z0-9.]+-daily$
894 - functest-build-containers: &functest-build-containers
895 name: 'functest-build-containers'
896 <<: *functest-containers
899 build_args: '{build_args}'
903 name: functest-build-containers
907 if [ "{repo}" = "_" ]; then
908 image={container}:{tag}
909 elif [ "{port}" = "None" ]; then
910 image={repo}/{container}:{tag}
912 image={repo}:{port}/{container}:{tag}
915 if [ "{build_args}" != "None" ]; then
916 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
917 do build_args="--build-arg $i $build_args"; done
919 if [ "{ref_arg}" != "None" ]; then
920 build_args="$build_args --build-arg {ref_arg}={ref}"
923 if [ "{from}" != "None" ]; then
924 sed -i {from} Dockerfile
926 sudo docker build $build_args \
927 --pull=false --no-cache --force-rm=true \
934 url: 'https://gerrit.opnfv.org/gerrit/functest'
935 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
939 - functest-dep: &functest-dep
940 name: 'functest-containers'
944 dependency: '{dependency}'
947 name: functest-pull-dep-images
951 if [ "_" = "_" ]; then
952 image=alpine:{dependency}
953 elif [ "None" = "None" ]; then
954 image=_/alpine:{dependency}
956 image=_:/alpine:{dependency}
958 sudo docker pull $image || true
961 name: functest-remove-dep-images
965 if [ "_" = "_" ]; then
966 image=alpine:{dependency}
967 elif [ "" = "None" ]; then
968 image=_/alpine:{dependency}
970 image=_:/alpine:{dependency}
972 sudo docker rmi $image || true
975 name: 'functest-{repo}-{tag}-dep-pull'
980 - functest-pull-dep-images:
984 name: 'functest-{repo}-{tag}-dep-pull'
987 - 'functest-{repo}-{tag}-dep-pull'
990 name: 'functest-{repo}-{tag}-dep-rmi'
995 - functest-remove-dep-images:
999 name: 'functest-{repo}-{tag}-dep-rmi'
1000 <<: *functest-params
1002 - 'functest-{repo}-{tag}-dep-rmi'
1009 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1010 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1011 -o DPkg::Lock::Timeout=300 dist-upgrade -y
1012 sudo DEBIAN_FRONTEND=noninteractive \
1013 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
1014 sudo add-apt-repository -y ppa:deadsnakes/ppa
1015 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1016 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1017 -o DPkg::Lock::Timeout=300 install \
1018 python3.9 python3.9-dev python3.9-distutils \
1019 python3.8 python3.8-dev python3.8-distutils \
1020 python3.7 python3.7-dev python3.6 python3.6-dev \
1021 python python-dev python3-pip enchant -y
1022 sudo pip3 install tox tox-pip-version
1027 name: 'functest-{tag}-tox'
1030 ref: $GERRIT_REFSPEC
1032 - functest-patchset-created:
1042 <<: *functest-params
1044 - 'functest-{tag}-tox'
1047 name: 'functest-{repo}-{container}-{tag}-gate'
1053 ref: $GERRIT_REFSPEC
1055 - functest-build-containers:
1056 <<: *functest-build-containers
1057 ref: $GERRIT_REFSPEC
1058 build_args: '{build_args}'
1061 name: functest-opnfv-functest-core-{tag}-gate
1062 <<: *functest-params
1063 container: functest-core
1067 - 'functest-{repo}-{container}-{tag}-gate'
1070 name: functest-opnfv-functest-tempest-{tag}-gate
1071 <<: *functest-params
1072 container: functest-tempest
1074 path: docker/tempest
1078 - {'tag': 'wallaby'}
1083 - 'functest-{repo}-{container}-{tag}-gate'
1086 name: functest-opnfv-functest-healthcheck-{tag}-gate
1087 <<: *functest-params
1088 container: functest-healthcheck
1090 path: docker/healthcheck
1092 - 'functest-{repo}-{container}-{tag}-gate'
1095 name: functest-opnfv-functest-smoke-{tag}-gate
1096 <<: *functest-params
1097 container: functest-smoke
1101 - 'functest-{repo}-{container}-{tag}-gate'
1104 name: functest-opnfv-functest-benchmarking-{tag}-gate
1105 <<: *functest-params
1106 container: functest-benchmarking
1108 path: docker/benchmarking
1110 - 'functest-{repo}-{container}-{tag}-gate'
1113 name: functest-opnfv-functest-vnf-{tag}-gate
1114 <<: *functest-params
1115 container: functest-vnf
1119 - 'functest-{repo}-{container}-{tag}-gate'
1122 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1123 <<: *functest-params
1124 container: functest-smoke-cntt
1126 path: docker/smoke-cntt
1128 - 'functest-{repo}-{container}-{tag}-gate'
1131 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1132 <<: *functest-params
1133 container: functest-benchmarking-cntt
1135 path: docker/benchmarking-cntt
1137 - 'functest-{repo}-{container}-{tag}-gate'
1140 name: functest-patchset-created
1144 - patchset-created-event
1145 - comment-added-contains-event:
1146 comment-contains-value: 'recheck'
1147 - comment-added-contains-event:
1148 comment-contains-value: 'reverify'
1150 - project-compare-type: 'ANT'
1151 project-pattern: 'functest'
1153 - branch-compare-type: 'ANT'
1154 branch-pattern: '**/{branch}'
1157 name: 'functest-{tag}-review'
1158 project-type: multijob
1160 - functest-patchset-created:
1165 - functest-build_tag:
1167 - functest-EXTERNAL_NETWORK:
1168 EXTERNAL_NETWORK: public
1169 - functest-VOLUME_DEVICE_NAME:
1170 VOLUME_DEVICE_NAME: sdb
1171 - functest-IMAGE_PROPERTIES:
1172 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1173 # PyYAML and yamllint differ here
1174 # see https://github.com/yaml/pyyaml/issues/234
1175 # yamllint disable rule:indentation
1179 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1180 # yamllint enable rule:indentation
1183 name: remove former images
1185 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1187 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1189 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1191 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1193 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1195 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1198 name: remove dependency
1200 - name: 'functest-{repo}-{tag}-dep-rmi'
1203 name: pull dependency
1205 - name: 'functest-{repo}-{tag}-dep-pull'
1208 name: build opnfv/functest-core
1210 - name: 'functest-opnfv-functest-core-{tag}-gate'
1213 name: build opnfv/functest-tempest
1215 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1218 name: build containers
1220 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1222 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1224 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1226 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1229 name: build cntt containers
1231 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1233 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1236 name: opnfv/functest-healthcheck:{tag}
1238 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1240 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1242 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1244 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1246 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1248 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1250 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1252 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1254 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1256 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1258 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1260 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1262 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1265 name: opnfv/functest-smoke:{tag}
1267 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1269 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1271 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1273 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1275 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1277 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1279 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1281 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1283 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1285 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1287 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1289 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1291 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1293 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1295 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1297 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1299 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1301 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1303 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1305 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1307 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1309 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1312 name: opnfv/functest-smoke-cntt:{tag}
1314 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1316 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1318 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1320 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1322 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1324 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1326 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1328 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1331 name: opnfv/functest-benchmarking:{tag}
1333 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1335 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1337 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1339 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1342 name: opnfv/functest-benchmarking-cntt:{tag}
1344 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1346 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1349 name: opnfv/functest-vnf:{tag}
1351 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1353 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1355 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1357 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1359 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1366 recipients: cedric.ollivier@orange.com
1369 name: 'functest-review'
1370 <<: *functest-params
1372 - 'functest-{tag}-review'
1375 name: functest-review
1384 regex: ^functest-[a-z0-9.]+-review$
1396 regex: ^functest-[a-z0-9.]+-tox$
1399 name: functest-push-containers
1403 if [ "{repo}" = "_" ]; then
1404 image={container}:{tag}
1405 elif [ "{port}" = "None" ]; then
1406 image={repo}/{container}:{tag}
1408 image={repo}:{port}/{container}:{tag}
1410 sudo docker push $image
1413 name: functest-commit
1416 cron: "*/30 * * * *"
1419 name: 'functest-{repo}-{container}-{tag}-build'
1427 - functest-build-containers:
1428 <<: *functest-build-containers
1430 build_args: '{build_args}'
1431 - functest-push-containers:
1432 <<: *functest-build-containers
1436 name: functest-opnfv-functest-core-{tag}-build
1437 <<: *functest-params
1438 container: functest-core
1442 - 'functest-{repo}-{container}-{tag}-build'
1445 name: functest-opnfv-functest-tempest-{tag}-build
1446 <<: *functest-params
1447 container: functest-tempest
1449 path: docker/tempest
1453 - {'tag': 'wallaby'}
1458 - 'functest-{repo}-{container}-{tag}-build'
1461 name: functest-opnfv-functest-healthcheck-{tag}-build
1462 <<: *functest-params
1463 container: functest-healthcheck
1465 path: docker/healthcheck
1467 - 'functest-{repo}-{container}-{tag}-build'
1470 name: functest-opnfv-functest-smoke-{tag}-build
1471 <<: *functest-params
1472 container: functest-smoke
1476 - 'functest-{repo}-{container}-{tag}-build'
1479 name: functest-opnfv-functest-benchmarking-{tag}-build
1480 <<: *functest-params
1481 container: functest-benchmarking
1483 path: docker/benchmarking
1485 - 'functest-{repo}-{container}-{tag}-build'
1488 name: functest-opnfv-functest-vnf-{tag}-build
1489 <<: *functest-params
1490 container: functest-vnf
1494 - 'functest-{repo}-{container}-{tag}-build'
1497 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1498 <<: *functest-params
1499 container: functest-smoke-cntt
1501 path: docker/smoke-cntt
1503 - 'functest-{repo}-{container}-{tag}-build'
1506 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1507 <<: *functest-params
1508 container: functest-benchmarking-cntt
1510 path: docker/benchmarking-cntt
1512 - 'functest-{repo}-{container}-{tag}-build'
1515 name: 'functest-{tag}-docker'
1516 project-type: multijob
1525 # PyYAML and yamllint differ here
1526 # see https://github.com/yaml/pyyaml/issues/234
1527 # yamllint disable rule:indentation
1531 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1532 # yamllint enable rule:indentation
1535 name: remove dependency
1537 - name: 'functest-{repo}-{tag}-dep-rmi'
1540 name: pull dependency
1542 - name: 'functest-{repo}-{tag}-dep-pull'
1545 name: build opnfv/functest-core
1547 - name: 'functest-opnfv-functest-core-{tag}-build'
1550 name: build opnfv/functest-tempest
1552 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1555 name: build containers
1557 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1559 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1561 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1563 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1566 name: build cntt containers
1568 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1570 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1577 recipients: cedric.ollivier@orange.com
1580 name: functest-trivy
1583 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1584 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1585 -o DPkg::Lock::Timeout=300 install curl -y
1587 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1588 if [ "{repo}" = "_" ]; then
1589 image={container}:{tag}
1590 elif [ "{port}" = "None" ]; then
1591 image={repo}/{container}:{tag}
1593 image={repo}:{port}/{container}:{tag}
1595 ./trivy --exit-code 1 $image
1598 name: 'functest-{repo}-{container}-{tag}-trivy'
1606 <<: *functest-containers
1612 recipients: cedric.ollivier@orange.com
1615 name: 'functest-opnfv-functest-core-trivy'
1616 <<: *functest-params
1617 container: 'functest-core'
1619 - 'functest-{repo}-{container}-{tag}-trivy'
1622 name: 'functest-opnfv-functest-tempest-trivy'
1623 <<: *functest-params
1624 container: 'functest-tempest'
1626 - 'functest-{repo}-{container}-{tag}-trivy'
1629 name: 'functest-opnfv-functest-healthcheck-trivy'
1630 <<: *functest-params
1631 container: 'functest-healthcheck'
1633 - 'functest-{repo}-{container}-{tag}-trivy'
1636 name: 'functest-opnfv-functest-smoke-trivy'
1637 <<: *functest-params
1638 container: 'functest-smoke'
1640 - 'functest-{repo}-{container}-{tag}-trivy'
1643 name: 'functest-opnfv-functest-benchmarking-trivy'
1644 <<: *functest-params
1645 container: 'functest-benchmarking'
1647 - 'functest-{repo}-{container}-{tag}-trivy'
1650 name: 'functest-opnfv-functest-vnf-trivy'
1651 <<: *functest-params
1652 container: 'functest-vnf'
1654 - 'functest-{repo}-{container}-{tag}-trivy'
1657 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1658 <<: *functest-params
1659 container: 'functest-smoke-cntt'
1661 - 'functest-{repo}-{container}-{tag}-trivy'
1664 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1665 <<: *functest-params
1666 container: 'functest-benchmarking-cntt'
1668 - 'functest-{repo}-{container}-{tag}-trivy'
1671 name: functest-grype
1674 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1675 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1676 -o DPkg::Lock::Timeout=300 install curl -y
1678 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1679 if [ "{repo}" = "_" ]; then
1680 image={container}:{tag}
1681 elif [ "{port}" = "None" ]; then
1682 image={repo}/{container}:{tag}
1684 image={repo}:{port}/{container}:{tag}
1689 name: 'functest-{repo}-{container}-{tag}-grype'
1697 <<: *functest-containers
1703 recipients: cedric.ollivier@orange.com
1706 name: 'functest-opnfv-functest-core-grype'
1707 <<: *functest-params
1708 container: 'functest-core'
1710 - 'functest-{repo}-{container}-{tag}-grype'
1713 name: 'functest-opnfv-functest-tempest-grype'
1714 <<: *functest-params
1715 container: 'functest-tempest'
1717 - 'functest-{repo}-{container}-{tag}-grype'
1720 name: 'functest-opnfv-functest-healthcheck-grype'
1721 <<: *functest-params
1722 container: 'functest-healthcheck'
1724 - 'functest-{repo}-{container}-{tag}-grype'
1727 name: 'functest-opnfv-functest-smoke-grype'
1728 <<: *functest-params
1729 container: 'functest-smoke'
1731 - 'functest-{repo}-{container}-{tag}-grype'
1734 name: 'functest-opnfv-functest-benchmarking-grype'
1735 <<: *functest-params
1736 container: 'functest-benchmarking'
1738 - 'functest-{repo}-{container}-{tag}-grype'
1741 name: 'functest-opnfv-functest-vnf-grype'
1742 <<: *functest-params
1743 container: 'functest-vnf'
1745 - 'functest-{repo}-{container}-{tag}-grype'
1748 name: 'functest-opnfv-functest-smoke-cntt-grype'
1749 <<: *functest-params
1750 container: 'functest-smoke-cntt'
1752 - 'functest-{repo}-{container}-{tag}-grype'
1755 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1756 <<: *functest-params
1757 container: 'functest-benchmarking-cntt'
1759 - 'functest-{repo}-{container}-{tag}-grype'
1763 <<: *functest-params
1765 - 'functest-{tag}-docker'
1768 name: functest-docker
1777 regex: ^functest-[a-z0-9.]+-docker$
1780 name: functest-trivy
1789 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1792 name: functest-grype
1801 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$