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-healthcheck-{tag}-gate
1009 <<: *functest-params
1010 container: functest-healthcheck
1012 path: docker/healthcheck
1014 - 'functest-{repo}-{container}-{tag}-gate'
1017 name: functest-opnfv-functest-smoke-{tag}-gate
1018 <<: *functest-params
1019 container: functest-smoke
1023 - 'functest-{repo}-{container}-{tag}-gate'
1026 name: functest-opnfv-functest-benchmarking-{tag}-gate
1027 <<: *functest-params
1028 container: functest-benchmarking
1030 path: docker/benchmarking
1032 - 'functest-{repo}-{container}-{tag}-gate'
1035 name: functest-opnfv-functest-vnf-{tag}-gate
1036 <<: *functest-params
1037 container: functest-vnf
1041 - 'functest-{repo}-{container}-{tag}-gate'
1044 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1045 <<: *functest-params
1046 container: functest-smoke-cntt
1048 path: docker/smoke-cntt
1050 - 'functest-{repo}-{container}-{tag}-gate'
1053 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1054 <<: *functest-params
1055 container: functest-benchmarking-cntt
1057 path: docker/benchmarking-cntt
1059 - 'functest-{repo}-{container}-{tag}-gate'
1062 name: functest-patchset-created
1066 - patchset-created-event
1067 - comment-added-contains-event:
1068 comment-contains-value: 'recheck'
1069 - comment-added-contains-event:
1070 comment-contains-value: 'reverify'
1072 - project-compare-type: 'ANT'
1073 project-pattern: 'functest'
1075 - branch-compare-type: 'ANT'
1076 branch-pattern: '**/{branch}'
1079 name: 'functest-{tag}-review'
1080 project-type: multijob
1082 - functest-patchset-created:
1087 - functest-build_tag:
1089 - functest-EXTERNAL_NETWORK:
1090 EXTERNAL_NETWORK: public
1091 - functest-VOLUME_DEVICE_NAME:
1092 VOLUME_DEVICE_NAME: sdb
1093 - functest-IMAGE_PROPERTIES:
1094 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1095 # PyYAML and yamllint differ here
1096 # see https://github.com/yaml/pyyaml/issues/234
1097 # yamllint disable rule:indentation
1101 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1102 # yamllint enable rule:indentation
1105 name: remove former images
1107 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1109 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1111 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1113 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1115 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1117 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1120 name: remove dependency
1122 - name: 'functest-{repo}-{tag}-dep-rmi'
1125 name: pull dependency
1127 - name: 'functest-{repo}-{tag}-dep-pull'
1130 name: build opnfv/functest-core
1132 - name: 'functest-opnfv-functest-core-{tag}-gate'
1135 name: build containers
1137 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1139 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1141 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1143 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1146 name: build cntt containers
1148 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1150 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1153 name: opnfv/functest-healthcheck:{tag}
1155 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1157 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1159 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1161 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1163 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1165 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1167 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1169 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1171 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1173 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1175 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1177 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1179 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1182 name: opnfv/functest-smoke:{tag}
1184 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1186 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1188 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1190 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1192 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1194 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1196 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1198 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1200 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1202 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1204 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1206 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1208 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1210 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1212 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1214 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1216 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1218 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1221 name: opnfv/functest-smoke-cntt:{tag}
1223 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1225 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1227 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1229 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1231 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1233 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1235 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1237 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1240 name: opnfv/functest-benchmarking:{tag}
1242 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1244 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1246 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1248 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1251 name: opnfv/functest-benchmarking-cntt:{tag}
1253 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1255 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1258 name: opnfv/functest-vnf:{tag}
1260 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1262 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1264 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1266 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1268 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1275 recipients: cedric.ollivier@orange.com
1278 name: 'functest-review'
1279 <<: *functest-params
1281 - 'functest-{tag}-review'
1284 name: functest-review
1293 regex: ^functest-[a-z0-9.]+-review$
1305 regex: ^functest-[a-z0-9.]+-tox$
1308 name: functest-push-containers
1312 if [ "{repo}" = "_" ]; then
1313 image={container}:{tag}
1314 elif [ "{port}" = "None" ]; then
1315 image={repo}/{container}:{tag}
1317 image={repo}:{port}/{container}:{tag}
1319 sudo docker push $image
1322 name: functest-commit
1325 cron: "*/30 * * * *"
1328 name: 'functest-{repo}-{container}-{tag}-build'
1336 - functest-build-containers:
1337 <<: *functest-build-containers
1339 build_args: '{build_args}'
1340 - functest-push-containers:
1341 <<: *functest-build-containers
1345 name: functest-opnfv-functest-core-{tag}-build
1346 <<: *functest-params
1347 container: functest-core
1351 - 'functest-{repo}-{container}-{tag}-build'
1354 name: functest-opnfv-functest-healthcheck-{tag}-build
1355 <<: *functest-params
1356 container: functest-healthcheck
1358 path: docker/healthcheck
1360 - 'functest-{repo}-{container}-{tag}-build'
1363 name: functest-opnfv-functest-smoke-{tag}-build
1364 <<: *functest-params
1365 container: functest-smoke
1369 - 'functest-{repo}-{container}-{tag}-build'
1372 name: functest-opnfv-functest-benchmarking-{tag}-build
1373 <<: *functest-params
1374 container: functest-benchmarking
1376 path: docker/benchmarking
1378 - 'functest-{repo}-{container}-{tag}-build'
1381 name: functest-opnfv-functest-vnf-{tag}-build
1382 <<: *functest-params
1383 container: functest-vnf
1387 - 'functest-{repo}-{container}-{tag}-build'
1390 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1391 <<: *functest-params
1392 container: functest-smoke-cntt
1394 path: docker/smoke-cntt
1396 - 'functest-{repo}-{container}-{tag}-build'
1399 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1400 <<: *functest-params
1401 container: functest-benchmarking-cntt
1403 path: docker/benchmarking-cntt
1405 - 'functest-{repo}-{container}-{tag}-build'
1408 name: 'functest-{tag}-docker'
1409 project-type: multijob
1418 # PyYAML and yamllint differ here
1419 # see https://github.com/yaml/pyyaml/issues/234
1420 # yamllint disable rule:indentation
1424 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1425 # yamllint enable rule:indentation
1428 name: remove dependency
1430 - name: 'functest-{repo}-{tag}-dep-rmi'
1433 name: pull dependency
1435 - name: 'functest-{repo}-{tag}-dep-pull'
1438 name: build opnfv/functest-core
1440 - name: 'functest-opnfv-functest-core-{tag}-build'
1443 name: build containers
1445 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1447 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1449 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1451 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1454 name: build cntt containers
1456 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1458 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1465 recipients: cedric.ollivier@orange.com
1468 name: functest-trivy
1471 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1472 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1473 -o DPkg::Lock::Timeout=300 install curl -y
1475 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1476 if [ "{repo}" = "_" ]; then
1477 image={container}:{tag}
1478 elif [ "{port}" = "None" ]; then
1479 image={repo}/{container}:{tag}
1481 image={repo}:{port}/{container}:{tag}
1483 ./trivy image --exit-code 1 $image
1486 name: 'functest-{repo}-{container}-{tag}-trivy'
1494 <<: *functest-containers
1500 recipients: cedric.ollivier@orange.com
1503 name: 'functest-opnfv-functest-core-trivy'
1504 <<: *functest-params
1505 container: 'functest-core'
1507 - 'functest-{repo}-{container}-{tag}-trivy'
1510 name: 'functest-opnfv-functest-healthcheck-trivy'
1511 <<: *functest-params
1512 container: 'functest-healthcheck'
1514 - 'functest-{repo}-{container}-{tag}-trivy'
1517 name: 'functest-opnfv-functest-smoke-trivy'
1518 <<: *functest-params
1519 container: 'functest-smoke'
1521 - 'functest-{repo}-{container}-{tag}-trivy'
1524 name: 'functest-opnfv-functest-benchmarking-trivy'
1525 <<: *functest-params
1526 container: 'functest-benchmarking'
1528 - 'functest-{repo}-{container}-{tag}-trivy'
1531 name: 'functest-opnfv-functest-vnf-trivy'
1532 <<: *functest-params
1533 container: 'functest-vnf'
1535 - 'functest-{repo}-{container}-{tag}-trivy'
1538 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1539 <<: *functest-params
1540 container: 'functest-smoke-cntt'
1542 - 'functest-{repo}-{container}-{tag}-trivy'
1545 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1546 <<: *functest-params
1547 container: 'functest-benchmarking-cntt'
1549 - 'functest-{repo}-{container}-{tag}-trivy'
1552 name: functest-grype
1555 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1556 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1557 -o DPkg::Lock::Timeout=300 install curl -y
1559 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1560 if [ "{repo}" = "_" ]; then
1561 image={container}:{tag}
1562 elif [ "{port}" = "None" ]; then
1563 image={repo}/{container}:{tag}
1565 image={repo}:{port}/{container}:{tag}
1570 name: 'functest-{repo}-{container}-{tag}-grype'
1578 <<: *functest-containers
1584 recipients: cedric.ollivier@orange.com
1587 name: 'functest-opnfv-functest-core-grype'
1588 <<: *functest-params
1589 container: 'functest-core'
1591 - 'functest-{repo}-{container}-{tag}-grype'
1594 name: 'functest-opnfv-functest-healthcheck-grype'
1595 <<: *functest-params
1596 container: 'functest-healthcheck'
1598 - 'functest-{repo}-{container}-{tag}-grype'
1601 name: 'functest-opnfv-functest-smoke-grype'
1602 <<: *functest-params
1603 container: 'functest-smoke'
1605 - 'functest-{repo}-{container}-{tag}-grype'
1608 name: 'functest-opnfv-functest-benchmarking-grype'
1609 <<: *functest-params
1610 container: 'functest-benchmarking'
1612 - 'functest-{repo}-{container}-{tag}-grype'
1615 name: 'functest-opnfv-functest-vnf-grype'
1616 <<: *functest-params
1617 container: 'functest-vnf'
1619 - 'functest-{repo}-{container}-{tag}-grype'
1622 name: 'functest-opnfv-functest-smoke-cntt-grype'
1623 <<: *functest-params
1624 container: 'functest-smoke-cntt'
1626 - 'functest-{repo}-{container}-{tag}-grype'
1629 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1630 <<: *functest-params
1631 container: 'functest-benchmarking-cntt'
1633 - 'functest-{repo}-{container}-{tag}-grype'
1637 <<: *functest-params
1639 - 'functest-{tag}-docker'
1642 name: functest-docker
1651 regex: ^functest-[a-z0-9.]+-docker$
1654 name: functest-trivy
1663 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1666 name: functest-grype
1675 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$