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.83
26 DASHBOARD_URL: http://172.30.12.88
33 DASHBOARD_URL: http://172.30.12.85
38 branch: stable/wallaby
40 DASHBOARD_URL: http://172.30.13.91
43 - functest-jobs: &functest-jobs
45 current-parameters: true
55 name: functest-build_tag
61 name: functest-EXTERNAL_NETWORK
64 name: EXTERNAL_NETWORK
68 name: functest-VOLUME_DEVICE_NAME
71 name: VOLUME_DEVICE_NAME
75 name: functest-IMAGE_PROPERTIES
78 name: IMAGE_PROPERTIES
79 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
81 - functest-run-containers: &functest-run-containers
82 name: 'functest-run-containers'
83 <<: *functest-containers
85 privileged: '{privileged}'
91 published_ports: '{published_ports}'
92 DASHBOARD_URL: '{DASHBOARD_URL}'
95 name: functest-pull-containers
99 if [ "{repo}" = "_" ]; then
100 image={container}:{tag}
101 elif [ "{port}" = "None" ]; then
102 image={repo}/{container}:{tag}
104 image={repo}:{port}/{container}:{tag}
106 sudo docker pull $image
109 name: functest-run-containers
114 if [ "{volumes}" != "None" ]; then
115 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
116 do volumes="-v $i $volumes"; done
119 if [ "{env}" != "None" ]; then
120 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
121 do env="-e $i $env"; done
124 if [ "{published_ports}" != "None" ]; then
125 for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
126 do published_ports="-p $i $published_ports"; done
128 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
129 if [ "{repo}" = "_" ]; then
130 image={container}:{tag}
131 elif [ "{port}" = "None" ]; then
132 image={repo}/{container}:{tag}
134 image={repo}:{port}/{container}:{tag}
136 sudo mkdir -p $WORKSPACE/results
137 sudo chown {uid}:{gid} $WORKSPACE/results
138 sudo docker run --rm \
139 --privileged={privileged} \
140 --network={network} \
144 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
145 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
146 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
147 -v /home/opnfv/functest/.boto:/etc/boto.cfg \
148 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
149 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
150 -e NODE_NAME=$slave \
151 -e BUILD_TAG=$BUILD_TAG \
152 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
153 -e DASHBOARD_URL={DASHBOARD_URL} \
154 $image run_tests -t {test} -p -r
157 name: functest-remove-images
161 if [ "{repo}" = "_" ]; then
162 image={container}:{tag}
163 elif [ "{port}" = "None" ]; then
164 image={repo}/{container}:{tag}
166 image={repo}:{port}/{container}:{tag}
168 sudo docker rmi $image || true
171 name: 'functest-{repo}-{container}-{tag}-pull'
176 - functest-pull-containers:
177 <<: *functest-containers
180 name: 'functest-opnfv-functest-healthcheck-pull'
182 container: 'functest-healthcheck'
184 - 'functest-{repo}-{container}-{tag}-pull'
187 name: 'functest-opnfv-functest-smoke-pull'
189 container: 'functest-smoke'
191 - 'functest-{repo}-{container}-{tag}-pull'
194 name: 'functest-opnfv-functest-smoke-cntt-pull'
196 container: 'functest-smoke-cntt'
198 - 'functest-{repo}-{container}-{tag}-pull'
201 name: 'functest-opnfv-functest-benchmarking-pull'
203 container: 'functest-benchmarking'
205 - 'functest-{repo}-{container}-{tag}-pull'
208 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
210 container: 'functest-benchmarking-cntt'
212 - 'functest-{repo}-{container}-{tag}-pull'
215 name: 'functest-opnfv-functest-vnf-pull'
217 container: 'functest-vnf'
219 - 'functest-{repo}-{container}-{tag}-pull'
222 name: 'functest-{repo}-{container}-{tag}-rmi'
227 - functest-remove-images:
228 <<: *functest-containers
231 name: 'functest-opnfv-functest-healthcheck-rmi'
233 container: 'functest-healthcheck'
235 - 'functest-{repo}-{container}-{tag}-rmi'
238 name: 'functest-opnfv-functest-smoke-rmi'
240 container: 'functest-smoke'
242 - 'functest-{repo}-{container}-{tag}-rmi'
245 name: 'functest-opnfv-functest-smoke-cntt-rmi'
247 container: 'functest-smoke-cntt'
249 - 'functest-{repo}-{container}-{tag}-rmi'
252 name: 'functest-opnfv-functest-benchmarking-rmi'
254 container: 'functest-benchmarking'
256 - 'functest-{repo}-{container}-{tag}-rmi'
259 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
261 container: 'functest-benchmarking-cntt'
263 - 'functest-{repo}-{container}-{tag}-rmi'
266 name: 'functest-opnfv-functest-vnf-rmi'
268 container: 'functest-vnf'
270 - 'functest-{repo}-{container}-{tag}-rmi'
273 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
277 - functest-build_tag:
279 - functest-EXTERNAL_NETWORK:
280 EXTERNAL_NETWORK: public
281 - functest-VOLUME_DEVICE_NAME:
282 VOLUME_DEVICE_NAME: sdb
283 - functest-IMAGE_PROPERTIES:
284 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
286 - functest-run-containers:
287 <<: *functest-run-containers
290 name: 'functest-opnfv-functest-healthcheck'
293 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
294 - /home/opnfv/functest/images:/home/opnfv/functest/images
296 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
297 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
298 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
300 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
350 container: 'functest-smoke'
375 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
378 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
382 - functest-build_tag:
384 - functest-EXTERNAL_NETWORK:
385 EXTERNAL_NETWORK: public
386 - functest-VOLUME_DEVICE_NAME:
387 VOLUME_DEVICE_NAME: sdb
388 - functest-IMAGE_PROPERTIES:
389 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
391 - functest-run-containers:
392 <<: *functest-run-containers
395 name: 'functest-opnfv-functest-smoke-cntt'
398 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
399 - /home/opnfv/functest/images:/home/opnfv/functest/images
401 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
402 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
403 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
405 container: 'functest-smoke-cntt'
407 - tempest_neutron_cntt
408 - tempest_cinder_cntt
409 - tempest_keystone_cntt
413 - tempest_scenario_cntt
420 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
423 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
427 - functest-build_tag:
429 - functest-EXTERNAL_NETWORK:
430 EXTERNAL_NETWORK: public
431 - functest-VOLUME_DEVICE_NAME:
432 VOLUME_DEVICE_NAME: sdb
433 - functest-IMAGE_PROPERTIES:
434 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
436 - functest-run-containers:
437 <<: *functest-run-containers
440 name: 'functest-opnfv-functest-benchmarking'
443 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
444 - /home/opnfv/functest/images:/home/opnfv/functest/images
446 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
447 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
448 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
450 container: 'functest-benchmarking'
461 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
464 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
468 - functest-build_tag:
470 - functest-EXTERNAL_NETWORK:
471 EXTERNAL_NETWORK: public
472 - functest-VOLUME_DEVICE_NAME:
473 VOLUME_DEVICE_NAME: sdb
474 - functest-IMAGE_PROPERTIES:
475 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
477 - functest-run-containers:
478 <<: *functest-run-containers
481 name: 'functest-opnfv-functest-benchmarking-cntt'
484 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
485 - /home/opnfv/functest/images:/home/opnfv/functest/images
487 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
488 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
489 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
491 container: 'functest-benchmarking-cntt'
500 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
503 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
507 - functest-build_tag:
509 - functest-EXTERNAL_NETWORK:
510 EXTERNAL_NETWORK: public
511 - functest-VOLUME_DEVICE_NAME:
512 VOLUME_DEVICE_NAME: sdb
513 - functest-IMAGE_PROPERTIES:
514 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
516 - functest-run-containers:
517 <<: *functest-run-containers
520 name: 'functest-opnfv-functest-vnf'
523 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
524 - /home/opnfv/functest/images:/home/opnfv/functest/images
526 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
527 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
528 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
530 container: 'functest-vnf'
542 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
550 if [ "{volumes}" != "None" ]; then
551 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
552 do volumes="-v $i $volumes"; done
555 if [ "{env}" != "None" ]; then
556 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
557 do env="-e $i $env"; done
560 if [ "{published_ports}" != "None" ]; then
561 for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
562 do published_ports="-p $i $published_ports"; done
564 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
565 if [ "{repo}" = "_" ]; then
566 image={container}:{tag}
567 elif [ "{port}" = "None" ]; then
568 image={repo}/{container}:{tag}
570 image={repo}:{port}/{container}:{tag}
572 sudo mkdir -p $WORKSPACE/results
573 sudo chown {uid}:{gid} $WORKSPACE/results
574 sudo docker run --rm \
578 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
579 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
580 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
581 -v /home/opnfv/functest/.boto:/etc/boto.cfg \
582 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
583 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
584 -e BUILD_TAG=$BUILD_TAG \
585 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
589 name: 'functest-{tag}-zip'
593 - functest-build_tag:
595 - functest-EXTERNAL_NETWORK:
596 EXTERNAL_NETWORK: public
597 - functest-VOLUME_DEVICE_NAME:
598 VOLUME_DEVICE_NAME: sdb
599 - functest-IMAGE_PROPERTIES:
600 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
603 <<: *functest-containers
608 published_ports: '{published_ports}'
611 name: 'functest-{tag}-zip'
614 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
615 - /home/opnfv/functest/images:/home/opnfv/functest/images
617 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
618 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
619 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
621 container: 'functest-healthcheck'
625 - 'functest-{tag}-zip'
628 name: 'functest-{tag}-daily'
629 project-type: multijob
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
643 # PyYAML and yamllint differ here
644 # see https://github.com/yaml/pyyaml/issues/234
645 # yamllint disable rule:indentation
649 - ^functest-(pi-)*{tag}-(daily|docker|review)$
650 # yamllint enable rule:indentation
653 name: remove former images
655 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
657 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
659 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
661 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
663 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
665 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
668 name: pull containers
670 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
672 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
674 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
676 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
678 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
680 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
683 name: opnfv/functest-healthcheck:{tag}
685 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
687 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
689 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
691 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
693 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
695 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
697 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
699 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
701 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
703 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
705 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
707 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
709 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
712 name: opnfv/functest-smoke:{tag}
714 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
716 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
718 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
720 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
722 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
724 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
726 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
728 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
730 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
732 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
734 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
736 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
738 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
740 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
742 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
744 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
746 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
748 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
751 name: opnfv/functest-smoke-cntt:{tag}
753 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
755 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
757 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
759 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
761 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
763 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
765 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
767 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
770 name: opnfv/functest-benchmarking:{tag}
772 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
774 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
776 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
778 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
781 name: opnfv/functest-benchmarking-cntt:{tag}
783 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
785 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
788 name: opnfv/functest-vnf:{tag}
790 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
792 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
794 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
796 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
798 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
801 name: dump all campaign data
803 - name: 'functest-{tag}-zip'
810 recipients: cedric.ollivier@orange.com
813 name: 'functest-daily'
816 - 'functest-{tag}-daily'
828 regex: ^functest-[a-z0-9.]+-daily$
830 - functest-build-containers: &functest-build-containers
831 name: 'functest-build-containers'
832 <<: *functest-containers
835 build_args: '{build_args}'
839 name: functest-build-containers
843 if [ "{repo}" = "_" ]; then
844 image={container}:{tag}
845 elif [ "{port}" = "None" ]; then
846 image={repo}/{container}:{tag}
848 image={repo}:{port}/{container}:{tag}
851 if [ "{build_args}" != "None" ]; then
852 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
853 do build_args="--build-arg $i $build_args"; done
855 if [ "{ref_arg}" != "None" ]; then
856 build_args="$build_args --build-arg {ref_arg}={ref}"
859 if [ "{from}" != "None" ]; then
860 sed -i {from} Dockerfile
862 sudo docker build $build_args \
863 --pull=false --no-cache --force-rm=true \
870 url: 'https://gerrit.opnfv.org/gerrit/functest'
871 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
875 - functest-dep: &functest-dep
876 name: 'functest-containers'
880 dependency: '{dependency}'
883 name: functest-pull-dep-images
887 if [ "_" = "_" ]; then
888 image=alpine:{dependency}
889 elif [ "None" = "None" ]; then
890 image=_/alpine:{dependency}
892 image=_:/alpine:{dependency}
894 sudo docker pull $image || true
897 name: functest-remove-dep-images
901 if [ "_" = "_" ]; then
902 image=alpine:{dependency}
903 elif [ "" = "None" ]; then
904 image=_/alpine:{dependency}
906 image=_:/alpine:{dependency}
908 sudo docker rmi $image || true
911 name: 'functest-{repo}-{tag}-dep-pull'
916 - functest-pull-dep-images:
920 name: 'functest-{repo}-{tag}-dep-pull'
923 - 'functest-{repo}-{tag}-dep-pull'
926 name: 'functest-{repo}-{tag}-dep-rmi'
931 - functest-remove-dep-images:
935 name: 'functest-{repo}-{tag}-dep-rmi'
938 - 'functest-{repo}-{tag}-dep-rmi'
945 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
946 sudo DEBIAN_FRONTEND=noninteractive apt-get \
947 -o DPkg::Lock::Timeout=300 dist-upgrade -y
948 sudo DEBIAN_FRONTEND=noninteractive \
949 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
950 sudo add-apt-repository -y ppa:deadsnakes/ppa
951 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
952 sudo DEBIAN_FRONTEND=noninteractive apt-get \
953 -o DPkg::Lock::Timeout=300 install \
954 libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
955 python3.10 python3.10-dev python3.10-distutils \
956 python3.9 python3.9-dev python3.9-distutils \
957 python3.8 python3.8-dev python3.8-distutils \
958 python3.7 python3.7-dev python3.6 python3.6-dev \
959 python python-dev python3-pip enchant -y
960 sudo pip3 install tox tox-pip-version
965 name: 'functest-{tag}-tox'
970 - functest-patchset-created:
982 - 'functest-{tag}-tox'
985 name: 'functest-{repo}-{container}-{tag}-gate'
993 - functest-build-containers:
994 <<: *functest-build-containers
996 build_args: '{build_args}'
999 name: functest-opnfv-functest-core-{tag}-gate
1000 <<: *functest-params
1001 container: functest-core
1005 - 'functest-{repo}-{container}-{tag}-gate'
1008 name: functest-opnfv-functest-tempest-{tag}-gate
1009 <<: *functest-params
1010 container: functest-tempest
1012 path: docker/tempest
1016 - {'tag': 'wallaby'}
1021 - 'functest-{repo}-{container}-{tag}-gate'
1024 name: functest-opnfv-functest-healthcheck-{tag}-gate
1025 <<: *functest-params
1026 container: functest-healthcheck
1028 path: docker/healthcheck
1030 - 'functest-{repo}-{container}-{tag}-gate'
1033 name: functest-opnfv-functest-smoke-{tag}-gate
1034 <<: *functest-params
1035 container: functest-smoke
1039 - 'functest-{repo}-{container}-{tag}-gate'
1042 name: functest-opnfv-functest-benchmarking-{tag}-gate
1043 <<: *functest-params
1044 container: functest-benchmarking
1046 path: docker/benchmarking
1048 - 'functest-{repo}-{container}-{tag}-gate'
1051 name: functest-opnfv-functest-vnf-{tag}-gate
1052 <<: *functest-params
1053 container: functest-vnf
1057 - 'functest-{repo}-{container}-{tag}-gate'
1060 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1061 <<: *functest-params
1062 container: functest-smoke-cntt
1064 path: docker/smoke-cntt
1066 - 'functest-{repo}-{container}-{tag}-gate'
1069 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1070 <<: *functest-params
1071 container: functest-benchmarking-cntt
1073 path: docker/benchmarking-cntt
1075 - 'functest-{repo}-{container}-{tag}-gate'
1078 name: functest-patchset-created
1082 - patchset-created-event
1083 - comment-added-contains-event:
1084 comment-contains-value: 'recheck'
1085 - comment-added-contains-event:
1086 comment-contains-value: 'reverify'
1088 - project-compare-type: 'ANT'
1089 project-pattern: 'functest'
1091 - branch-compare-type: 'ANT'
1092 branch-pattern: '**/{branch}'
1095 name: 'functest-{tag}-review'
1096 project-type: multijob
1098 - functest-patchset-created:
1103 - functest-build_tag:
1105 - functest-EXTERNAL_NETWORK:
1106 EXTERNAL_NETWORK: public
1107 - functest-VOLUME_DEVICE_NAME:
1108 VOLUME_DEVICE_NAME: sdb
1109 - functest-IMAGE_PROPERTIES:
1110 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1111 # PyYAML and yamllint differ here
1112 # see https://github.com/yaml/pyyaml/issues/234
1113 # yamllint disable rule:indentation
1117 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1118 # yamllint enable rule:indentation
1121 name: remove former images
1123 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1125 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1127 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1129 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1131 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1133 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1136 name: remove dependency
1138 - name: 'functest-{repo}-{tag}-dep-rmi'
1141 name: pull dependency
1143 - name: 'functest-{repo}-{tag}-dep-pull'
1146 name: build opnfv/functest-core
1148 - name: 'functest-opnfv-functest-core-{tag}-gate'
1151 name: build opnfv/functest-tempest
1153 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1156 name: build containers
1158 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1160 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1162 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1164 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1167 name: build cntt containers
1169 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1171 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1174 name: opnfv/functest-healthcheck:{tag}
1176 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1178 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1180 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1182 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1184 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1186 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1188 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1190 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1192 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1194 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1196 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1198 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1200 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1203 name: opnfv/functest-smoke:{tag}
1205 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1207 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1209 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1211 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1213 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1215 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1217 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1219 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1221 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1223 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1225 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1227 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1229 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1231 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1233 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1235 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1237 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1239 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1242 name: opnfv/functest-smoke-cntt:{tag}
1244 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1246 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1248 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1250 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1252 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1254 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1256 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1258 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1261 name: opnfv/functest-benchmarking:{tag}
1263 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1265 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1267 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1269 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1272 name: opnfv/functest-benchmarking-cntt:{tag}
1274 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1276 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1279 name: opnfv/functest-vnf:{tag}
1281 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1283 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1285 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1287 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1289 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1296 recipients: cedric.ollivier@orange.com
1299 name: 'functest-review'
1300 <<: *functest-params
1302 - 'functest-{tag}-review'
1305 name: functest-review
1314 regex: ^functest-[a-z0-9.]+-review$
1326 regex: ^functest-[a-z0-9.]+-tox$
1329 name: functest-push-containers
1333 if [ "{repo}" = "_" ]; then
1334 image={container}:{tag}
1335 elif [ "{port}" = "None" ]; then
1336 image={repo}/{container}:{tag}
1338 image={repo}:{port}/{container}:{tag}
1340 sudo docker push $image
1343 name: functest-commit
1346 cron: "*/30 * * * *"
1349 name: 'functest-{repo}-{container}-{tag}-build'
1357 - functest-build-containers:
1358 <<: *functest-build-containers
1360 build_args: '{build_args}'
1361 - functest-push-containers:
1362 <<: *functest-build-containers
1366 name: functest-opnfv-functest-core-{tag}-build
1367 <<: *functest-params
1368 container: functest-core
1372 - 'functest-{repo}-{container}-{tag}-build'
1375 name: functest-opnfv-functest-tempest-{tag}-build
1376 <<: *functest-params
1377 container: functest-tempest
1379 path: docker/tempest
1383 - {'tag': 'wallaby'}
1388 - 'functest-{repo}-{container}-{tag}-build'
1391 name: functest-opnfv-functest-healthcheck-{tag}-build
1392 <<: *functest-params
1393 container: functest-healthcheck
1395 path: docker/healthcheck
1397 - 'functest-{repo}-{container}-{tag}-build'
1400 name: functest-opnfv-functest-smoke-{tag}-build
1401 <<: *functest-params
1402 container: functest-smoke
1406 - 'functest-{repo}-{container}-{tag}-build'
1409 name: functest-opnfv-functest-benchmarking-{tag}-build
1410 <<: *functest-params
1411 container: functest-benchmarking
1413 path: docker/benchmarking
1415 - 'functest-{repo}-{container}-{tag}-build'
1418 name: functest-opnfv-functest-vnf-{tag}-build
1419 <<: *functest-params
1420 container: functest-vnf
1424 - 'functest-{repo}-{container}-{tag}-build'
1427 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1428 <<: *functest-params
1429 container: functest-smoke-cntt
1431 path: docker/smoke-cntt
1433 - 'functest-{repo}-{container}-{tag}-build'
1436 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1437 <<: *functest-params
1438 container: functest-benchmarking-cntt
1440 path: docker/benchmarking-cntt
1442 - 'functest-{repo}-{container}-{tag}-build'
1445 name: 'functest-{tag}-docker'
1446 project-type: multijob
1455 # PyYAML and yamllint differ here
1456 # see https://github.com/yaml/pyyaml/issues/234
1457 # yamllint disable rule:indentation
1461 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1462 # yamllint enable rule:indentation
1465 name: remove dependency
1467 - name: 'functest-{repo}-{tag}-dep-rmi'
1470 name: pull dependency
1472 - name: 'functest-{repo}-{tag}-dep-pull'
1475 name: build opnfv/functest-core
1477 - name: 'functest-opnfv-functest-core-{tag}-build'
1480 name: build opnfv/functest-tempest
1482 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1485 name: build containers
1487 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1489 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1491 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1493 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1496 name: build cntt containers
1498 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1500 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1507 recipients: cedric.ollivier@orange.com
1510 name: functest-trivy
1513 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1514 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1515 -o DPkg::Lock::Timeout=300 install curl -y
1517 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1518 if [ "{repo}" = "_" ]; then
1519 image={container}:{tag}
1520 elif [ "{port}" = "None" ]; then
1521 image={repo}/{container}:{tag}
1523 image={repo}:{port}/{container}:{tag}
1525 ./trivy image --exit-code 1 $image
1528 name: 'functest-{repo}-{container}-{tag}-trivy'
1536 <<: *functest-containers
1542 recipients: cedric.ollivier@orange.com
1545 name: 'functest-opnfv-functest-core-trivy'
1546 <<: *functest-params
1547 container: 'functest-core'
1549 - 'functest-{repo}-{container}-{tag}-trivy'
1552 name: 'functest-opnfv-functest-tempest-trivy'
1553 <<: *functest-params
1554 container: 'functest-tempest'
1556 - 'functest-{repo}-{container}-{tag}-trivy'
1559 name: 'functest-opnfv-functest-healthcheck-trivy'
1560 <<: *functest-params
1561 container: 'functest-healthcheck'
1563 - 'functest-{repo}-{container}-{tag}-trivy'
1566 name: 'functest-opnfv-functest-smoke-trivy'
1567 <<: *functest-params
1568 container: 'functest-smoke'
1570 - 'functest-{repo}-{container}-{tag}-trivy'
1573 name: 'functest-opnfv-functest-benchmarking-trivy'
1574 <<: *functest-params
1575 container: 'functest-benchmarking'
1577 - 'functest-{repo}-{container}-{tag}-trivy'
1580 name: 'functest-opnfv-functest-vnf-trivy'
1581 <<: *functest-params
1582 container: 'functest-vnf'
1584 - 'functest-{repo}-{container}-{tag}-trivy'
1587 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1588 <<: *functest-params
1589 container: 'functest-smoke-cntt'
1591 - 'functest-{repo}-{container}-{tag}-trivy'
1594 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1595 <<: *functest-params
1596 container: 'functest-benchmarking-cntt'
1598 - 'functest-{repo}-{container}-{tag}-trivy'
1601 name: functest-grype
1604 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1605 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1606 -o DPkg::Lock::Timeout=300 install curl -y
1608 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1609 if [ "{repo}" = "_" ]; then
1610 image={container}:{tag}
1611 elif [ "{port}" = "None" ]; then
1612 image={repo}/{container}:{tag}
1614 image={repo}:{port}/{container}:{tag}
1619 name: 'functest-{repo}-{container}-{tag}-grype'
1627 <<: *functest-containers
1633 recipients: cedric.ollivier@orange.com
1636 name: 'functest-opnfv-functest-core-grype'
1637 <<: *functest-params
1638 container: 'functest-core'
1640 - 'functest-{repo}-{container}-{tag}-grype'
1643 name: 'functest-opnfv-functest-tempest-grype'
1644 <<: *functest-params
1645 container: 'functest-tempest'
1647 - 'functest-{repo}-{container}-{tag}-grype'
1650 name: 'functest-opnfv-functest-healthcheck-grype'
1651 <<: *functest-params
1652 container: 'functest-healthcheck'
1654 - 'functest-{repo}-{container}-{tag}-grype'
1657 name: 'functest-opnfv-functest-smoke-grype'
1658 <<: *functest-params
1659 container: 'functest-smoke'
1661 - 'functest-{repo}-{container}-{tag}-grype'
1664 name: 'functest-opnfv-functest-benchmarking-grype'
1665 <<: *functest-params
1666 container: 'functest-benchmarking'
1668 - 'functest-{repo}-{container}-{tag}-grype'
1671 name: 'functest-opnfv-functest-vnf-grype'
1672 <<: *functest-params
1673 container: 'functest-vnf'
1675 - 'functest-{repo}-{container}-{tag}-grype'
1678 name: 'functest-opnfv-functest-smoke-cntt-grype'
1679 <<: *functest-params
1680 container: 'functest-smoke-cntt'
1682 - 'functest-{repo}-{container}-{tag}-grype'
1685 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1686 <<: *functest-params
1687 container: 'functest-benchmarking-cntt'
1689 - 'functest-{repo}-{container}-{tag}-grype'
1693 <<: *functest-params
1695 - 'functest-{tag}-docker'
1698 name: functest-docker
1707 regex: ^functest-[a-z0-9.]+-docker$
1710 name: functest-trivy
1719 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1722 name: functest-grype
1731 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$