2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
19 DASHBOARD_URL: http://172.30.12.85
24 branch: stable/wallaby
26 DASHBOARD_URL: http://172.30.13.91
33 DASHBOARD_URL: http://172.30.13.94
40 DASHBOARD_URL: http://172.30.12.88
47 DASHBOARD_URL: http://172.30.12.83
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}'
96 DASHBOARD_URL: '{DASHBOARD_URL}'
99 name: functest-pull-containers
103 if [ "{repo}" = "_" ]; then
104 image={container}:{tag}
105 elif [ "{port}" = "None" ]; then
106 image={repo}/{container}:{tag}
108 image={repo}:{port}/{container}:{tag}
110 sudo docker pull $image
113 name: functest-run-containers
117 volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
118 env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
119 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
120 if [ "{repo}" = "_" ]; then
121 image={container}:{tag}
122 elif [ "{port}" = "None" ]; then
123 image={repo}/{container}:{tag}
125 image={repo}:{port}/{container}:{tag}
127 sudo docker run --rm \
128 --privileged={privileged} \
129 --network={network} \
132 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
133 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
134 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
135 -v /home/opnfv/functest/.boto:/root/.boto \
136 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
137 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
138 -e NODE_NAME=$slave \
139 -e BUILD_TAG=$BUILD_TAG \
140 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
141 -e DASHBOARD_URL={DASHBOARD_URL} \
142 $image run_tests -t {test} -p -r
145 name: functest-remove-images
149 if [ "{repo}" = "_" ]; then
150 image={container}:{tag}
151 elif [ "{port}" = "None" ]; then
152 image={repo}/{container}:{tag}
154 image={repo}:{port}/{container}:{tag}
156 sudo docker rmi $image || true
159 name: 'functest-{repo}-{container}-{tag}-pull'
164 - functest-pull-containers:
165 <<: *functest-containers
168 name: 'functest-opnfv-functest-healthcheck-pull'
170 container: 'functest-healthcheck'
172 - 'functest-{repo}-{container}-{tag}-pull'
175 name: 'functest-opnfv-functest-smoke-pull'
177 container: 'functest-smoke'
179 - 'functest-{repo}-{container}-{tag}-pull'
182 name: 'functest-opnfv-functest-smoke-cntt-pull'
184 container: 'functest-smoke-cntt'
186 - 'functest-{repo}-{container}-{tag}-pull'
189 name: 'functest-opnfv-functest-benchmarking-pull'
191 container: 'functest-benchmarking'
193 - 'functest-{repo}-{container}-{tag}-pull'
196 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
198 container: 'functest-benchmarking-cntt'
200 - 'functest-{repo}-{container}-{tag}-pull'
203 name: 'functest-opnfv-functest-vnf-pull'
205 container: 'functest-vnf'
207 - 'functest-{repo}-{container}-{tag}-pull'
210 name: 'functest-{repo}-{container}-{tag}-rmi'
215 - functest-remove-images:
216 <<: *functest-containers
219 name: 'functest-opnfv-functest-healthcheck-rmi'
221 container: 'functest-healthcheck'
223 - 'functest-{repo}-{container}-{tag}-rmi'
226 name: 'functest-opnfv-functest-smoke-rmi'
228 container: 'functest-smoke'
230 - 'functest-{repo}-{container}-{tag}-rmi'
233 name: 'functest-opnfv-functest-smoke-cntt-rmi'
235 container: 'functest-smoke-cntt'
237 - 'functest-{repo}-{container}-{tag}-rmi'
240 name: 'functest-opnfv-functest-benchmarking-rmi'
242 container: 'functest-benchmarking'
244 - 'functest-{repo}-{container}-{tag}-rmi'
247 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
249 container: 'functest-benchmarking-cntt'
251 - 'functest-{repo}-{container}-{tag}-rmi'
254 name: 'functest-opnfv-functest-vnf-rmi'
256 container: 'functest-vnf'
258 - 'functest-{repo}-{container}-{tag}-rmi'
261 name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
265 - functest-build_tag:
267 - functest-EXTERNAL_NETWORK:
268 EXTERNAL_NETWORK: public
269 - functest-VOLUME_DEVICE_NAME:
270 VOLUME_DEVICE_NAME: sdb
271 - functest-IMAGE_PROPERTIES:
272 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
274 - functest-run-containers:
275 <<: *functest-run-containers
278 name: 'functest-opnfv-functest-healthcheck'
281 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
282 - /home/opnfv/functest/images:/home/opnfv/functest/images
284 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
285 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
286 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
287 container: 'functest-healthcheck'
305 - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
308 name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
312 - functest-build_tag:
314 - functest-EXTERNAL_NETWORK:
315 EXTERNAL_NETWORK: public
316 - functest-VOLUME_DEVICE_NAME:
317 VOLUME_DEVICE_NAME: sdb
318 - functest-IMAGE_PROPERTIES:
319 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
321 - functest-run-containers:
322 <<: *functest-run-containers
325 name: 'functest-opnfv-functest-smoke'
328 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
329 - /home/opnfv/functest/images:/home/opnfv/functest/images
331 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
332 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
333 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
334 container: 'functest-smoke'
362 test: refstack_defcore
364 test: networking-bgpvpn
370 test: refstack_defcore
372 test: networking-bgpvpn
378 test: refstack_defcore
380 test: networking-bgpvpn
386 test: refstack_defcore
388 test: networking-bgpvpn
398 test: refstack_defcore
400 test: networking-bgpvpn
412 - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
415 name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
419 - functest-build_tag:
421 - functest-EXTERNAL_NETWORK:
422 EXTERNAL_NETWORK: public
423 - functest-VOLUME_DEVICE_NAME:
424 VOLUME_DEVICE_NAME: sdb
425 - functest-IMAGE_PROPERTIES:
426 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
428 - functest-run-containers:
429 <<: *functest-run-containers
432 name: 'functest-opnfv-functest-smoke-cntt'
435 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
436 - /home/opnfv/functest/images:/home/opnfv/functest/images
438 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
439 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
440 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
441 container: 'functest-smoke-cntt'
443 - tempest_neutron_cntt
444 - tempest_cinder_cntt
445 - tempest_keystone_cntt
449 - tempest_scenario_cntt
454 - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
457 name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
461 - functest-build_tag:
463 - functest-EXTERNAL_NETWORK:
464 EXTERNAL_NETWORK: public
465 - functest-VOLUME_DEVICE_NAME:
466 VOLUME_DEVICE_NAME: sdb
467 - functest-IMAGE_PROPERTIES:
468 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
470 - functest-run-containers:
471 <<: *functest-run-containers
474 name: 'functest-opnfv-functest-benchmarking'
477 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
478 - /home/opnfv/functest/images:/home/opnfv/functest/images
480 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
481 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
482 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
483 container: 'functest-benchmarking'
492 - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
495 name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
499 - functest-build_tag:
501 - functest-EXTERNAL_NETWORK:
502 EXTERNAL_NETWORK: public
503 - functest-VOLUME_DEVICE_NAME:
504 VOLUME_DEVICE_NAME: sdb
505 - functest-IMAGE_PROPERTIES:
506 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
508 - functest-run-containers:
509 <<: *functest-run-containers
512 name: 'functest-opnfv-functest-benchmarking-cntt'
515 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
516 - /home/opnfv/functest/images:/home/opnfv/functest/images
518 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
519 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
520 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
521 container: 'functest-benchmarking-cntt'
528 - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
531 name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
535 - functest-build_tag:
537 - functest-EXTERNAL_NETWORK:
538 EXTERNAL_NETWORK: public
539 - functest-VOLUME_DEVICE_NAME:
540 VOLUME_DEVICE_NAME: sdb
541 - functest-IMAGE_PROPERTIES:
542 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
544 - functest-run-containers:
545 <<: *functest-run-containers
548 name: 'functest-opnfv-functest-vnf'
551 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
552 - /home/opnfv/functest/images:/home/opnfv/functest/images
554 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
555 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
556 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
557 container: 'functest-vnf'
567 - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
574 volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
575 env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
576 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
577 if [ "{repo}" = "_" ]; then
578 image={container}:{tag}
579 elif [ "{port}" = "None" ]; then
580 image={repo}/{container}:{tag}
582 image={repo}:{port}/{container}:{tag}
584 sudo docker run --rm \
587 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
588 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
589 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
590 -v /home/opnfv/functest/.boto:/root/.boto \
591 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
592 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
593 -e BUILD_TAG=$BUILD_TAG \
594 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
598 name: 'functest-{tag}-zip'
602 - functest-build_tag:
604 - functest-EXTERNAL_NETWORK:
605 EXTERNAL_NETWORK: public
606 - functest-VOLUME_DEVICE_NAME:
607 VOLUME_DEVICE_NAME: sdb
608 - functest-IMAGE_PROPERTIES:
609 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
612 <<: *functest-containers
617 name: 'functest-{tag}-zip'
620 - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
621 - /home/opnfv/functest/images:/home/opnfv/functest/images
623 - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
624 - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
625 - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
626 container: 'functest-healthcheck'
628 - 'functest-{tag}-zip'
631 name: 'functest-{tag}-daily'
632 project-type: multijob
638 - functest-build_tag:
640 - functest-EXTERNAL_NETWORK:
641 EXTERNAL_NETWORK: public
642 - functest-VOLUME_DEVICE_NAME:
643 VOLUME_DEVICE_NAME: sdb
644 - functest-IMAGE_PROPERTIES:
645 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
646 # PyYAML and yamllint differ here
647 # see https://github.com/yaml/pyyaml/issues/234
648 # yamllint disable rule:indentation
652 - ^functest-(pi-)*{tag}-(daily|docker|review)$
653 # yamllint enable rule:indentation
656 name: remove former images
658 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
660 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
662 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
666 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
668 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
671 name: pull containers
673 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
675 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
677 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
679 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
681 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
683 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
686 name: opnfv/functest-healthcheck:{tag}
688 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
690 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
692 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
694 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
696 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
698 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
700 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
702 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
704 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
706 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
708 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
710 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
712 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
715 name: opnfv/functest-smoke:{tag}
717 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
719 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
721 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
723 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
725 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
727 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
729 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
731 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
733 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
735 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
737 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
739 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
741 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
743 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-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}-networking-bgpvpn-run'
753 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
755 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
757 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
759 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
762 name: opnfv/functest-smoke-cntt:{tag}
764 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
766 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
768 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
770 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
772 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
774 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
776 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
778 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
781 name: opnfv/functest-benchmarking:{tag}
783 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
785 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
787 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
789 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
792 name: opnfv/functest-benchmarking-cntt:{tag}
794 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
796 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
799 name: opnfv/functest-vnf:{tag}
801 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
803 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
805 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
807 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
809 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
812 name: dump all campaign data
814 - name: 'functest-{tag}-zip'
818 name: 'functest-daily'
821 - 'functest-{tag}-daily'
833 regex: ^functest-[a-z0-9.]+-daily$
835 - functest-build-containers: &functest-build-containers
836 name: 'functest-build-containers'
837 <<: *functest-containers
840 buildargs: '{buildargs}'
844 name: functest-build-containers
848 if [ "{repo}" = "_" ]; then
849 image={container}:{tag}
850 elif [ "{port}" = "None" ]; then
851 image={repo}/{container}:{tag}
853 image={repo}:{port}/{container}:{tag}
856 if [ "{buildargs}" != "None" ]; then
857 build_args="{buildargs}"
859 if [ "{ref_arg}" != "None" ]; then
860 build_args="$build_args --build-arg {ref_arg}={ref}"
863 if [ "{from}" != "None" ]; then
864 sed -i {from} Dockerfile
866 sudo docker build $build_args \
867 --pull=false --no-cache --force-rm=true \
874 url: 'https://gerrit.opnfv.org/gerrit/functest'
875 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
879 - functest-dep: &functest-dep
880 name: 'functest-containers'
884 dependency: '{dependency}'
887 name: functest-pull-dep-images
891 if [ "_" = "_" ]; then
892 image=alpine:{dependency}
893 elif [ "None" = "None" ]; then
894 image=_/alpine:{dependency}
896 image=_:/alpine:{dependency}
898 sudo docker pull $image || true
901 name: functest-remove-dep-images
905 if [ "_" = "_" ]; then
906 image=alpine:{dependency}
907 elif [ "" = "None" ]; then
908 image=_/alpine:{dependency}
910 image=_:/alpine:{dependency}
912 sudo docker rmi $image || true
915 name: 'functest-{repo}-{tag}-dep-pull'
920 - functest-pull-dep-images:
924 name: 'functest-{repo}-{tag}-dep-pull'
927 - 'functest-{repo}-{tag}-dep-pull'
930 name: 'functest-{repo}-{tag}-dep-rmi'
935 - functest-remove-dep-images:
939 name: 'functest-{repo}-{tag}-dep-rmi'
942 - 'functest-{repo}-{tag}-dep-rmi'
949 sudo apt-get update && sudo apt-get install \
950 software-properties-common gpg -y
951 sudo add-apt-repository -y ppa:deadsnakes/ppa
952 sudo apt-get update && sudo apt-get install python3.8 \
953 python3.8-dev python3.8-distutils \
954 python3.7 python3.7-dev python3.6 python3.6-dev \
955 python python-dev python3-pip enchant -y
956 sudo pip3 install tox tox-pip-version
961 name: 'functest-{tag}-tox'
966 - functest-patchset-created:
978 - 'functest-{tag}-tox'
981 name: 'functest-{repo}-{container}-{tag}-gate'
989 - functest-build-containers:
990 <<: *functest-build-containers
992 buildargs: '{buildargs}'
995 name: functest-opnfv-functest-core-{tag}-gate
997 container: functest-core
1001 - 'functest-{repo}-{container}-{tag}-gate'
1004 name: functest-opnfv-functest-tempest-{tag}-gate
1005 <<: *functest-params
1006 container: functest-tempest
1008 path: docker/tempest
1011 - {'tag': 'wallaby'}
1016 - 'functest-{repo}-{container}-{tag}-gate'
1019 name: functest-opnfv-functest-healthcheck-{tag}-gate
1020 <<: *functest-params
1021 container: functest-healthcheck
1023 path: docker/healthcheck
1025 - 'functest-{repo}-{container}-{tag}-gate'
1028 name: functest-opnfv-functest-smoke-{tag}-gate
1029 <<: *functest-params
1030 container: functest-smoke
1034 - 'functest-{repo}-{container}-{tag}-gate'
1037 name: functest-opnfv-functest-benchmarking-{tag}-gate
1038 <<: *functest-params
1039 container: functest-benchmarking
1041 path: docker/benchmarking
1043 - 'functest-{repo}-{container}-{tag}-gate'
1046 name: functest-opnfv-functest-vnf-{tag}-gate
1047 <<: *functest-params
1048 container: functest-vnf
1052 - 'functest-{repo}-{container}-{tag}-gate'
1055 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
1056 <<: *functest-params
1057 container: functest-smoke-cntt
1059 path: docker/smoke-cntt
1061 - 'functest-{repo}-{container}-{tag}-gate'
1064 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
1065 <<: *functest-params
1066 container: functest-benchmarking-cntt
1068 path: docker/benchmarking-cntt
1070 - 'functest-{repo}-{container}-{tag}-gate'
1073 name: functest-patchset-created
1077 - patchset-created-event
1078 - comment-added-contains-event:
1079 comment-contains-value: 'recheck'
1080 - comment-added-contains-event:
1081 comment-contains-value: 'reverify'
1083 - project-compare-type: 'ANT'
1084 project-pattern: 'functest'
1086 - branch-compare-type: 'ANT'
1087 branch-pattern: '**/{branch}'
1090 name: 'functest-{tag}-review'
1091 project-type: multijob
1093 - functest-patchset-created:
1098 - functest-build_tag:
1100 - functest-EXTERNAL_NETWORK:
1101 EXTERNAL_NETWORK: public
1102 - functest-VOLUME_DEVICE_NAME:
1103 VOLUME_DEVICE_NAME: sdb
1104 - functest-IMAGE_PROPERTIES:
1105 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
1106 # PyYAML and yamllint differ here
1107 # see https://github.com/yaml/pyyaml/issues/234
1108 # yamllint disable rule:indentation
1112 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1113 # yamllint enable rule:indentation
1116 name: remove former images
1118 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
1120 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
1122 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
1124 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
1126 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
1128 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
1131 name: remove dependency
1133 - name: 'functest-{repo}-{tag}-dep-rmi'
1136 name: pull dependency
1138 - name: 'functest-{repo}-{tag}-dep-pull'
1141 name: build opnfv/functest-core
1143 - name: 'functest-opnfv-functest-core-{tag}-gate'
1146 name: build opnfv/functest-tempest
1148 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
1151 name: build containers
1153 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
1155 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
1157 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
1159 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
1162 name: build cntt containers
1164 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
1166 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
1169 name: opnfv/functest-healthcheck:{tag}
1171 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1173 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1175 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1177 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1179 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1181 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1183 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1185 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1187 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1189 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1191 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1193 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1195 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1198 name: opnfv/functest-smoke:{tag}
1200 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1202 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1204 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1206 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1208 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1210 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1212 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1214 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1216 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1218 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1220 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1222 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1224 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1226 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1228 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1230 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1232 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1234 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1236 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1238 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1240 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1242 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1245 name: opnfv/functest-smoke-cntt:{tag}
1247 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1249 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1251 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1253 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1255 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1257 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1259 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1261 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1264 name: opnfv/functest-benchmarking:{tag}
1266 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1268 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1270 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1272 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1275 name: opnfv/functest-benchmarking-cntt:{tag}
1277 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1279 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1282 name: opnfv/functest-vnf:{tag}
1284 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1286 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1288 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1290 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1292 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1296 name: 'functest-review'
1297 <<: *functest-params
1299 - 'functest-{tag}-review'
1302 name: functest-review
1311 regex: ^functest-[a-z0-9.]+-review$
1323 regex: ^functest-[a-z0-9.]+-tox$
1326 name: functest-push-containers
1330 if [ "{repo}" = "_" ]; then
1331 image={container}:{tag}
1332 elif [ "{port}" = "None" ]; then
1333 image={repo}/{container}:{tag}
1335 image={repo}:{port}/{container}:{tag}
1337 sudo docker push $image
1340 name: functest-commit
1343 cron: "*/30 * * * *"
1346 name: 'functest-{repo}-{container}-{tag}-build'
1354 - functest-build-containers:
1355 <<: *functest-build-containers
1357 buildargs: '{buildargs}'
1358 - functest-push-containers:
1359 <<: *functest-build-containers
1363 name: functest-opnfv-functest-core-{tag}-build
1364 <<: *functest-params
1365 container: functest-core
1369 - 'functest-{repo}-{container}-{tag}-build'
1372 name: functest-opnfv-functest-tempest-{tag}-build
1373 <<: *functest-params
1374 container: functest-tempest
1376 path: docker/tempest
1379 - {'tag': 'wallaby'}
1384 - 'functest-{repo}-{container}-{tag}-build'
1387 name: functest-opnfv-functest-healthcheck-{tag}-build
1388 <<: *functest-params
1389 container: functest-healthcheck
1391 path: docker/healthcheck
1393 - 'functest-{repo}-{container}-{tag}-build'
1396 name: functest-opnfv-functest-smoke-{tag}-build
1397 <<: *functest-params
1398 container: functest-smoke
1402 - 'functest-{repo}-{container}-{tag}-build'
1405 name: functest-opnfv-functest-benchmarking-{tag}-build
1406 <<: *functest-params
1407 container: functest-benchmarking
1409 path: docker/benchmarking
1411 - 'functest-{repo}-{container}-{tag}-build'
1414 name: functest-opnfv-functest-vnf-{tag}-build
1415 <<: *functest-params
1416 container: functest-vnf
1420 - 'functest-{repo}-{container}-{tag}-build'
1423 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1424 <<: *functest-params
1425 container: functest-smoke-cntt
1427 path: docker/smoke-cntt
1429 - 'functest-{repo}-{container}-{tag}-build'
1432 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1433 <<: *functest-params
1434 container: functest-benchmarking-cntt
1436 path: docker/benchmarking-cntt
1438 - 'functest-{repo}-{container}-{tag}-build'
1441 name: 'functest-{tag}-docker'
1442 project-type: multijob
1451 # PyYAML and yamllint differ here
1452 # see https://github.com/yaml/pyyaml/issues/234
1453 # yamllint disable rule:indentation
1457 - ^functest-(pi-)*{tag}-(daily|docker|review)$
1458 # yamllint enable rule:indentation
1461 name: remove dependency
1463 - name: 'functest-{repo}-{tag}-dep-rmi'
1466 name: pull dependency
1468 - name: 'functest-{repo}-{tag}-dep-pull'
1471 name: build opnfv/functest-core
1473 - name: 'functest-opnfv-functest-core-{tag}-build'
1476 name: build opnfv/functest-tempest
1478 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1481 name: build containers
1483 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1485 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1487 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1489 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1492 name: build cntt containers
1494 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1496 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1500 name: functest-trivy
1503 sudo apt-get update && sudo apt-get install curl -y
1505 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1506 if [ "{repo}" = "_" ]; then
1507 image={container}:{tag}
1508 elif [ "{port}" = "None" ]; then
1509 image={repo}/{container}:{tag}
1511 image={repo}:{port}/{container}:{tag}
1513 ./trivy --exit-code 1 $image
1516 name: 'functest-{repo}-{container}-{tag}-trivy'
1524 <<: *functest-containers
1527 name: 'functest-opnfv-functest-core-trivy'
1528 <<: *functest-params
1529 container: 'functest-core'
1531 - 'functest-{repo}-{container}-{tag}-trivy'
1534 name: 'functest-opnfv-functest-tempest-trivy'
1535 <<: *functest-params
1536 container: 'functest-tempest'
1538 - 'functest-{repo}-{container}-{tag}-trivy'
1541 name: 'functest-opnfv-functest-healthcheck-trivy'
1542 <<: *functest-params
1543 container: 'functest-healthcheck'
1545 - 'functest-{repo}-{container}-{tag}-trivy'
1548 name: 'functest-opnfv-functest-smoke-trivy'
1549 <<: *functest-params
1550 container: 'functest-smoke'
1552 - 'functest-{repo}-{container}-{tag}-trivy'
1555 name: 'functest-opnfv-functest-benchmarking-trivy'
1556 <<: *functest-params
1557 container: 'functest-benchmarking'
1559 - 'functest-{repo}-{container}-{tag}-trivy'
1562 name: 'functest-opnfv-functest-vnf-trivy'
1563 <<: *functest-params
1564 container: 'functest-vnf'
1566 - 'functest-{repo}-{container}-{tag}-trivy'
1569 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1570 <<: *functest-params
1571 container: 'functest-smoke-cntt'
1573 - 'functest-{repo}-{container}-{tag}-trivy'
1576 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1577 <<: *functest-params
1578 container: 'functest-benchmarking-cntt'
1580 - 'functest-{repo}-{container}-{tag}-trivy'
1584 <<: *functest-params
1586 - 'functest-{tag}-docker'
1589 name: functest-docker
1598 regex: ^functest-[a-z0-9.]+-docker$
1601 name: functest-trivy
1610 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$