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.13.94
33 DASHBOARD_URL: http://172.30.12.88
40 DASHBOARD_URL: http://172.30.12.85
45 branch: stable/wallaby
47 DASHBOARD_URL: http://172.30.13.91
50 - functest-jobs: &functest-jobs
52 current-parameters: true
62 name: functest-build_tag
68 name: functest-EXTERNAL_NETWORK
71 name: EXTERNAL_NETWORK
75 name: functest-VOLUME_DEVICE_NAME
78 name: VOLUME_DEVICE_NAME
82 name: functest-IMAGE_PROPERTIES
85 name: IMAGE_PROPERTIES
86 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
88 - functest-run-containers: &functest-run-containers
89 name: 'functest-run-containers'
90 <<: *functest-containers
92 privileged: '{privileged}'
98 published_ports: '{published_ports}'
99 DASHBOARD_URL: '{DASHBOARD_URL}'
102 name: functest-pull-containers
106 if [ "{repo}" = "_" ]; then
107 image={container}:{tag}
108 elif [ "{port}" = "None" ]; then
109 image={repo}/{container}:{tag}
111 image={repo}:{port}/{container}:{tag}
113 sudo docker pull $image
116 name: functest-run-containers
121 if [ "{volumes}" != "None" ]; then
122 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
123 do volumes="-v $i $volumes"; done
126 if [ "{env}" != "None" ]; then
127 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
128 do env="-e $i $env"; done
131 if [ "{published_ports}" != "None" ]; then
132 for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
133 do published_ports="-p $i $published_ports"; done
135 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
136 if [ "{repo}" = "_" ]; then
137 image={container}:{tag}
138 elif [ "{port}" = "None" ]; then
139 image={repo}/{container}:{tag}
141 image={repo}:{port}/{container}:{tag}
143 sudo mkdir -p $WORKSPACE/results
144 sudo chown {uid}:{gid} $WORKSPACE/results
145 sudo docker run --rm \
146 --privileged={privileged} \
147 --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:/etc/boto.cfg \
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
307 container: 'functest-healthcheck'
327 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
330 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
334 - functest-build_tag:
336 - functest-EXTERNAL_NETWORK:
337 EXTERNAL_NETWORK: public
338 - functest-VOLUME_DEVICE_NAME:
339 VOLUME_DEVICE_NAME: sdb
340 - functest-IMAGE_PROPERTIES:
341 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
343 - functest-run-containers:
344 <<: *functest-run-containers
347 name: 'functest-opnfv-functest-smoke'
350 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
351 - /home/opnfv/functest/images:/home/opnfv/functest/images
353 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
354 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
355 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
357 container: 'functest-smoke'
382 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
385 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
389 - functest-build_tag:
391 - functest-EXTERNAL_NETWORK:
392 EXTERNAL_NETWORK: public
393 - functest-VOLUME_DEVICE_NAME:
394 VOLUME_DEVICE_NAME: sdb
395 - functest-IMAGE_PROPERTIES:
396 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
398 - functest-run-containers:
399 <<: *functest-run-containers
402 name: 'functest-opnfv-functest-smoke-cntt'
405 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
406 - /home/opnfv/functest/images:/home/opnfv/functest/images
408 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
409 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
410 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
412 container: 'functest-smoke-cntt'
414 - tempest_neutron_cntt
415 - tempest_cinder_cntt
416 - tempest_keystone_cntt
420 - tempest_scenario_cntt
427 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
430 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
434 - functest-build_tag:
436 - functest-EXTERNAL_NETWORK:
437 EXTERNAL_NETWORK: public
438 - functest-VOLUME_DEVICE_NAME:
439 VOLUME_DEVICE_NAME: sdb
440 - functest-IMAGE_PROPERTIES:
441 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
443 - functest-run-containers:
444 <<: *functest-run-containers
447 name: 'functest-opnfv-functest-benchmarking'
450 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
451 - /home/opnfv/functest/images:/home/opnfv/functest/images
453 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
454 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
455 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
457 container: 'functest-benchmarking'
468 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
471 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
475 - functest-build_tag:
477 - functest-EXTERNAL_NETWORK:
478 EXTERNAL_NETWORK: public
479 - functest-VOLUME_DEVICE_NAME:
480 VOLUME_DEVICE_NAME: sdb
481 - functest-IMAGE_PROPERTIES:
482 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
484 - functest-run-containers:
485 <<: *functest-run-containers
488 name: 'functest-opnfv-functest-benchmarking-cntt'
491 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
492 - /home/opnfv/functest/images:/home/opnfv/functest/images
494 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
495 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
496 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
498 container: 'functest-benchmarking-cntt'
507 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
510 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
514 - functest-build_tag:
516 - functest-EXTERNAL_NETWORK:
517 EXTERNAL_NETWORK: public
518 - functest-VOLUME_DEVICE_NAME:
519 VOLUME_DEVICE_NAME: sdb
520 - functest-IMAGE_PROPERTIES:
521 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
523 - functest-run-containers:
524 <<: *functest-run-containers
527 name: 'functest-opnfv-functest-vnf'
530 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
531 - /home/opnfv/functest/images:/home/opnfv/functest/images
533 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
534 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
535 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
537 container: 'functest-vnf'
549 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
557 if [ "{volumes}" != "None" ]; then
558 for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
559 do volumes="-v $i $volumes"; done
562 if [ "{env}" != "None" ]; then
563 for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
564 do env="-e $i $env"; done
567 if [ "{published_ports}" != "None" ]; then
568 for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
569 do published_ports="-p $i $published_ports"; done
571 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
572 if [ "{repo}" = "_" ]; then
573 image={container}:{tag}
574 elif [ "{port}" = "None" ]; then
575 image={repo}/{container}:{tag}
577 image={repo}:{port}/{container}:{tag}
579 sudo mkdir -p $WORKSPACE/results
580 sudo chown {uid}:{gid} $WORKSPACE/results
581 sudo docker run --rm \
585 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
586 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
587 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
588 -v /home/opnfv/functest/.boto:/etc/boto.cfg \
589 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
590 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
591 -e BUILD_TAG=$BUILD_TAG \
592 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
596 name: 'functest-{tag}-zip'
600 - functest-build_tag:
602 - functest-EXTERNAL_NETWORK:
603 EXTERNAL_NETWORK: public
604 - functest-VOLUME_DEVICE_NAME:
605 VOLUME_DEVICE_NAME: sdb
606 - functest-IMAGE_PROPERTIES:
607 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
610 <<: *functest-containers
615 published_ports: '{published_ports}'
618 name: 'functest-{tag}-zip'
621 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
622 - /home/opnfv/functest/images:/home/opnfv/functest/images
624 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
625 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
626 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
628 container: 'functest-healthcheck'
632 - 'functest-{tag}-zip'
635 name: 'functest-{tag}-daily'
636 project-type: multijob
642 - functest-build_tag:
644 - functest-EXTERNAL_NETWORK:
645 EXTERNAL_NETWORK: public
646 - functest-VOLUME_DEVICE_NAME:
647 VOLUME_DEVICE_NAME: sdb
648 - functest-IMAGE_PROPERTIES:
649 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
650 # PyYAML and yamllint differ here
651 # see https://github.com/yaml/pyyaml/issues/234
652 # yamllint disable rule:indentation
656 - ^functest-(pi-)*{tag}-(daily|docker|review)$
657 # yamllint enable rule:indentation
660 name: remove former images
662 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
664 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
666 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
668 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
670 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
672 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
675 name: pull containers
677 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
679 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
681 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
683 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
685 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
687 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
690 name: opnfv/functest-healthcheck:{tag}
692 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
694 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
696 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
698 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
700 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
702 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
704 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
706 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
708 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
710 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
712 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
714 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
716 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
719 name: opnfv/functest-smoke:{tag}
721 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
723 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
725 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
727 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
729 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
731 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
733 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
735 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
737 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
739 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
741 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
743 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
745 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
747 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
749 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
751 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
753 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
755 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
758 name: opnfv/functest-smoke-cntt:{tag}
760 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
762 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
764 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
766 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
768 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
770 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
772 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
774 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
777 name: opnfv/functest-benchmarking:{tag}
779 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
781 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
783 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
785 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
788 name: opnfv/functest-benchmarking-cntt:{tag}
790 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
792 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
795 name: opnfv/functest-vnf:{tag}
797 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
799 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
801 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
803 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
805 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
808 name: dump all campaign data
810 - name: 'functest-{tag}-zip'
817 recipients: cedric.ollivier@orange.com
820 name: 'functest-daily'
823 - 'functest-{tag}-daily'
835 regex: ^functest-[a-z0-9.]+-daily$
837 - functest-build-containers: &functest-build-containers
838 name: 'functest-build-containers'
839 <<: *functest-containers
842 build_args: '{build_args}'
846 name: functest-build-containers
850 if [ "{repo}" = "_" ]; then
851 image={container}:{tag}
852 elif [ "{port}" = "None" ]; then
853 image={repo}/{container}:{tag}
855 image={repo}:{port}/{container}:{tag}
858 if [ "{build_args}" != "None" ]; then
859 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
860 do build_args="--build-arg $i $build_args"; done
862 if [ "{ref_arg}" != "None" ]; then
863 build_args="$build_args --build-arg {ref_arg}={ref}"
866 if [ "{from}" != "None" ]; then
867 sed -i {from} Dockerfile
869 sudo docker build $build_args \
870 --pull=false --no-cache --force-rm=true \
877 url: 'https://gerrit.opnfv.org/gerrit/functest'
878 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
882 - functest-dep: &functest-dep
883 name: 'functest-containers'
887 dependency: '{dependency}'
890 name: functest-pull-dep-images
894 if [ "_" = "_" ]; then
895 image=alpine:{dependency}
896 elif [ "None" = "None" ]; then
897 image=_/alpine:{dependency}
899 image=_:/alpine:{dependency}
901 sudo docker pull $image || true
904 name: functest-remove-dep-images
908 if [ "_" = "_" ]; then
909 image=alpine:{dependency}
910 elif [ "" = "None" ]; then
911 image=_/alpine:{dependency}
913 image=_:/alpine:{dependency}
915 sudo docker rmi $image || true
918 name: 'functest-{repo}-{tag}-dep-pull'
923 - functest-pull-dep-images:
927 name: 'functest-{repo}-{tag}-dep-pull'
930 - 'functest-{repo}-{tag}-dep-pull'
933 name: 'functest-{repo}-{tag}-dep-rmi'
938 - functest-remove-dep-images:
942 name: 'functest-{repo}-{tag}-dep-rmi'
945 - 'functest-{repo}-{tag}-dep-rmi'
952 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
953 sudo DEBIAN_FRONTEND=noninteractive apt-get \
954 -o DPkg::Lock::Timeout=300 dist-upgrade -y
955 sudo DEBIAN_FRONTEND=noninteractive \
956 apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
957 sudo add-apt-repository -y ppa:deadsnakes/ppa
958 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
959 sudo DEBIAN_FRONTEND=noninteractive apt-get \
960 -o DPkg::Lock::Timeout=300 install \
961 libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
962 python3.10 python3.10-dev python3.10-distutils \
963 python3.9 python3.9-dev python3.9-distutils \
964 python3.8 python3.8-dev python3.8-distutils \
965 python3.7 python3.7-dev python3.6 python3.6-dev \
966 python python-dev python3-pip enchant -y
967 sudo pip3 install tox tox-pip-version
972 name: 'functest-{tag}-tox'
977 - functest-patchset-created:
989 - 'functest-{tag}-tox'
992 name: 'functest-{repo}-{container}-{tag}-gate'
1000 - functest-build-containers:
1001 <<: *functest-build-containers
1002 ref: $GERRIT_REFSPEC
1003 build_args: '{build_args}'
1006 name: functest-opnfv-functest-core-{tag}-gate
1007 <<: *functest-params
1008 container: functest-core
1012 - 'functest-{repo}-{container}-{tag}-gate'
1015 name: functest-opnfv-functest-healthcheck-{tag}-gate
1016 <<: *functest-params
1017 container: functest-healthcheck
1019 path: docker/healthcheck
1021 - 'functest-{repo}-{container}-{tag}-gate'
1024 name: functest-opnfv-functest-smoke-{tag}-gate
1025 <<: *functest-params
1026 container: functest-smoke
1030 - 'functest-{repo}-{container}-{tag}-gate'
1033 name: functest-opnfv-functest-benchmarking-{tag}-gate
1034 <<: *functest-params
1035 container: functest-benchmarking
1037 path: docker/benchmarking
1039 - 'functest-{repo}-{container}-{tag}-gate'
1042 name: functest-opnfv-functest-vnf-{tag}-gate
1043 <<: *functest-params
1044 container: functest-vnf
1048 - 'functest-{repo}-{container}-{tag}-gate'
1051 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1052 <<: *functest-params
1053 container: functest-smoke-cntt
1055 path: docker/smoke-cntt
1057 - 'functest-{repo}-{container}-{tag}-gate'
1060 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1061 <<: *functest-params
1062 container: functest-benchmarking-cntt
1064 path: docker/benchmarking-cntt
1066 - 'functest-{repo}-{container}-{tag}-gate'
1069 name: functest-patchset-created
1073 - patchset-created-event
1074 - comment-added-contains-event:
1075 comment-contains-value: 'recheck'
1076 - comment-added-contains-event:
1077 comment-contains-value: 'reverify'
1079 - project-compare-type: 'ANT'
1080 project-pattern: 'functest'
1082 - branch-compare-type: 'ANT'
1083 branch-pattern: '**/{branch}'
1086 name: 'functest-{tag}-review'
1087 project-type: multijob
1089 - functest-patchset-created:
1094 - functest-build_tag:
1096 - functest-EXTERNAL_NETWORK:
1097 EXTERNAL_NETWORK: public
1098 - functest-VOLUME_DEVICE_NAME:
1099 VOLUME_DEVICE_NAME: sdb
1100 - functest-IMAGE_PROPERTIES:
1101 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1102 # PyYAML and yamllint differ here
1103 # see https://github.com/yaml/pyyaml/issues/234
1104 # yamllint disable rule:indentation
1108 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1109 # yamllint enable rule:indentation
1112 name: remove former images
1114 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1116 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1118 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1120 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1122 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1124 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1127 name: remove dependency
1129 - name: 'functest-{repo}-{tag}-dep-rmi'
1132 name: pull dependency
1134 - name: 'functest-{repo}-{tag}-dep-pull'
1137 name: build opnfv/functest-core
1139 - name: 'functest-opnfv-functest-core-{tag}-gate'
1142 name: build containers
1144 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1146 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1148 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1150 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1153 name: build cntt containers
1155 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1157 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1160 name: opnfv/functest-healthcheck:{tag}
1162 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1164 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1166 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1168 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1170 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1172 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1174 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1176 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1178 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1180 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1182 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1184 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1186 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1189 name: opnfv/functest-smoke:{tag}
1191 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1193 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1195 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1197 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1199 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1201 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1203 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1205 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1207 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1209 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1211 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1213 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1215 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1217 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1219 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1221 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1223 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1225 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1228 name: opnfv/functest-smoke-cntt:{tag}
1230 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1232 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1234 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1236 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1238 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1240 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1242 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1244 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1247 name: opnfv/functest-benchmarking:{tag}
1249 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1251 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1253 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1255 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1258 name: opnfv/functest-benchmarking-cntt:{tag}
1260 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1262 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1265 name: opnfv/functest-vnf:{tag}
1267 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1269 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1271 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1273 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1275 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1282 recipients: cedric.ollivier@orange.com
1285 name: 'functest-review'
1286 <<: *functest-params
1288 - 'functest-{tag}-review'
1291 name: functest-review
1300 regex: ^functest-[a-z0-9.]+-review$
1312 regex: ^functest-[a-z0-9.]+-tox$
1315 name: functest-push-containers
1319 if [ "{repo}" = "_" ]; then
1320 image={container}:{tag}
1321 elif [ "{port}" = "None" ]; then
1322 image={repo}/{container}:{tag}
1324 image={repo}:{port}/{container}:{tag}
1326 sudo docker push $image
1329 name: functest-commit
1332 cron: "*/30 * * * *"
1335 name: 'functest-{repo}-{container}-{tag}-build'
1343 - functest-build-containers:
1344 <<: *functest-build-containers
1346 build_args: '{build_args}'
1347 - functest-push-containers:
1348 <<: *functest-build-containers
1352 name: functest-opnfv-functest-core-{tag}-build
1353 <<: *functest-params
1354 container: functest-core
1358 - 'functest-{repo}-{container}-{tag}-build'
1361 name: functest-opnfv-functest-healthcheck-{tag}-build
1362 <<: *functest-params
1363 container: functest-healthcheck
1365 path: docker/healthcheck
1367 - 'functest-{repo}-{container}-{tag}-build'
1370 name: functest-opnfv-functest-smoke-{tag}-build
1371 <<: *functest-params
1372 container: functest-smoke
1376 - 'functest-{repo}-{container}-{tag}-build'
1379 name: functest-opnfv-functest-benchmarking-{tag}-build
1380 <<: *functest-params
1381 container: functest-benchmarking
1383 path: docker/benchmarking
1385 - 'functest-{repo}-{container}-{tag}-build'
1388 name: functest-opnfv-functest-vnf-{tag}-build
1389 <<: *functest-params
1390 container: functest-vnf
1394 - 'functest-{repo}-{container}-{tag}-build'
1397 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1398 <<: *functest-params
1399 container: functest-smoke-cntt
1401 path: docker/smoke-cntt
1403 - 'functest-{repo}-{container}-{tag}-build'
1406 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1407 <<: *functest-params
1408 container: functest-benchmarking-cntt
1410 path: docker/benchmarking-cntt
1412 - 'functest-{repo}-{container}-{tag}-build'
1415 name: 'functest-{tag}-docker'
1416 project-type: multijob
1425 # PyYAML and yamllint differ here
1426 # see https://github.com/yaml/pyyaml/issues/234
1427 # yamllint disable rule:indentation
1431 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1432 # yamllint enable rule:indentation
1435 name: remove dependency
1437 - name: 'functest-{repo}-{tag}-dep-rmi'
1440 name: pull dependency
1442 - name: 'functest-{repo}-{tag}-dep-pull'
1445 name: build opnfv/functest-core
1447 - name: 'functest-opnfv-functest-core-{tag}-build'
1450 name: build containers
1452 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1454 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1456 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1458 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1461 name: build cntt containers
1463 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1465 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1472 recipients: cedric.ollivier@orange.com
1475 name: functest-trivy
1478 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1479 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1480 -o DPkg::Lock::Timeout=300 install curl -y
1482 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1483 if [ "{repo}" = "_" ]; then
1484 image={container}:{tag}
1485 elif [ "{port}" = "None" ]; then
1486 image={repo}/{container}:{tag}
1488 image={repo}:{port}/{container}:{tag}
1490 ./trivy image --exit-code 1 $image
1493 name: 'functest-{repo}-{container}-{tag}-trivy'
1501 <<: *functest-containers
1507 recipients: cedric.ollivier@orange.com
1510 name: 'functest-opnfv-functest-core-trivy'
1511 <<: *functest-params
1512 container: 'functest-core'
1514 - 'functest-{repo}-{container}-{tag}-trivy'
1517 name: 'functest-opnfv-functest-healthcheck-trivy'
1518 <<: *functest-params
1519 container: 'functest-healthcheck'
1521 - 'functest-{repo}-{container}-{tag}-trivy'
1524 name: 'functest-opnfv-functest-smoke-trivy'
1525 <<: *functest-params
1526 container: 'functest-smoke'
1528 - 'functest-{repo}-{container}-{tag}-trivy'
1531 name: 'functest-opnfv-functest-benchmarking-trivy'
1532 <<: *functest-params
1533 container: 'functest-benchmarking'
1535 - 'functest-{repo}-{container}-{tag}-trivy'
1538 name: 'functest-opnfv-functest-vnf-trivy'
1539 <<: *functest-params
1540 container: 'functest-vnf'
1542 - 'functest-{repo}-{container}-{tag}-trivy'
1545 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1546 <<: *functest-params
1547 container: 'functest-smoke-cntt'
1549 - 'functest-{repo}-{container}-{tag}-trivy'
1552 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1553 <<: *functest-params
1554 container: 'functest-benchmarking-cntt'
1556 - 'functest-{repo}-{container}-{tag}-trivy'
1559 name: functest-grype
1562 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
1563 sudo DEBIAN_FRONTEND=noninteractive apt-get \
1564 -o DPkg::Lock::Timeout=300 install curl -y
1566 curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
1567 if [ "{repo}" = "_" ]; then
1568 image={container}:{tag}
1569 elif [ "{port}" = "None" ]; then
1570 image={repo}/{container}:{tag}
1572 image={repo}:{port}/{container}:{tag}
1577 name: 'functest-{repo}-{container}-{tag}-grype'
1585 <<: *functest-containers
1591 recipients: cedric.ollivier@orange.com
1594 name: 'functest-opnfv-functest-core-grype'
1595 <<: *functest-params
1596 container: 'functest-core'
1598 - 'functest-{repo}-{container}-{tag}-grype'
1601 name: 'functest-opnfv-functest-healthcheck-grype'
1602 <<: *functest-params
1603 container: 'functest-healthcheck'
1605 - 'functest-{repo}-{container}-{tag}-grype'
1608 name: 'functest-opnfv-functest-smoke-grype'
1609 <<: *functest-params
1610 container: 'functest-smoke'
1612 - 'functest-{repo}-{container}-{tag}-grype'
1615 name: 'functest-opnfv-functest-benchmarking-grype'
1616 <<: *functest-params
1617 container: 'functest-benchmarking'
1619 - 'functest-{repo}-{container}-{tag}-grype'
1622 name: 'functest-opnfv-functest-vnf-grype'
1623 <<: *functest-params
1624 container: 'functest-vnf'
1626 - 'functest-{repo}-{container}-{tag}-grype'
1629 name: 'functest-opnfv-functest-smoke-cntt-grype'
1630 <<: *functest-params
1631 container: 'functest-smoke-cntt'
1633 - 'functest-{repo}-{container}-{tag}-grype'
1636 name: 'functest-opnfv-functest-benchmarking-cntt-grype'
1637 <<: *functest-params
1638 container: 'functest-benchmarking-cntt'
1640 - 'functest-{repo}-{container}-{tag}-grype'
1644 <<: *functest-params
1646 - 'functest-{tag}-docker'
1649 name: functest-docker
1658 regex: ^functest-[a-z0-9.]+-docker$
1661 name: functest-trivy
1670 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
1673 name: functest-grype
1682 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$