2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
35 - functest-containers: &functest-containers
36 name: 'functest-containers'
39 container: '{container}'
42 - functest-run-containers: &functest-run-containers
43 name: 'functest-build-containers'
44 <<: *functest-containers
47 - functest-build-containers: &functest-build-containers
48 name: 'functest-build-containers'
49 <<: *functest-containers
54 name: functest-pull-containers
58 if [ "{repo}" = "_" ]; then
59 image={container}:{tag}
60 elif [ "{port}" = "None" ]; then
61 image={repo}/{container}:{tag}
63 image={repo}:{port}/{container}:{tag}
65 sudo docker pull $image
68 name: functest-build-containers
72 if [ "{repo}" = "_" ]; then
73 image={container}:{tag}
74 elif [ "{port}" = "None" ]; then
75 image={repo}/{container}:{tag}
77 image={repo}:{port}/{container}:{tag}
79 if [ "{ref_arg}" = "None" ]; then
82 build_arg="--build-arg {ref_arg}={ref}"
85 sudo docker build $build_arg \
86 --pull=false --no-cache --force-rm=true \
90 name: functest-run-containers
94 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
95 if [ "{repo}" = "_" ]; then
96 image={container}:{tag}
97 elif [ "{port}" = "None" ]; then
98 image={repo}/{container}:{tag}
100 image={repo}:{port}/{container}:{tag}
102 if [ "{tag}" = "latest" ]; then
107 sudo docker run --rm \
108 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
110 -e EXTERNAL_NETWORK=public \
111 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
112 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
113 -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
114 site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
116 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
117 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
118 $image run_tests -t {test}
120 gsutil -m cp -r $WORKSPACE/ \
121 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
122 find $WORKSPACE -type f \
124 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
128 name: functest-remove-images
132 if [ "{repo}" = "_" ]; then
133 image={container}:{tag}
134 elif [ "{port}" = "None" ]; then
135 image={repo}/{container}:{tag}
137 image={repo}:{port}/{container}:{tag}
139 sudo docker rmi $image || true
145 url: https://gerrit.opnfv.org/gerrit/functest
146 refspec: '+refs/changes/*:refs/changes/*'
151 name: 'functest-{repo}-{container}-{tag}-pull'
156 - functest-pull-containers:
157 <<: *functest-containers
160 name: 'functest-opnfv-functest-healthcheck-pull'
162 container: 'functest-healthcheck'
164 - 'functest-{repo}-{container}-{tag}-pull'
167 name: 'functest-opnfv-functest-smoke-pull'
169 container: 'functest-smoke'
171 - 'functest-{repo}-{container}-{tag}-pull'
174 name: 'functest-opnfv-functest-benchmarking-pull'
176 container: 'functest-benchmarking'
178 - 'functest-{repo}-{container}-{tag}-pull'
181 name: 'functest-opnfv-functest-vnf-pull'
183 container: 'functest-vnf'
185 - 'functest-{repo}-{container}-{tag}-pull'
188 name: 'functest-opnfv-functest-features-pull'
190 container: 'functest-features'
192 - 'functest-{repo}-{container}-{tag}-pull'
195 name: 'functest-{repo}-{container}-{tag}-rmi'
200 - functest-remove-images:
201 <<: *functest-containers
204 name: 'functest-opnfv-functest-healthcheck-rmi'
206 container: 'functest-healthcheck'
208 - 'functest-{repo}-{container}-{tag}-rmi'
211 name: 'functest-opnfv-functest-smoke-rmi'
213 container: 'functest-smoke'
215 - 'functest-{repo}-{container}-{tag}-rmi'
218 name: 'functest-opnfv-functest-benchmarking-rmi'
220 container: 'functest-benchmarking'
222 - 'functest-{repo}-{container}-{tag}-rmi'
225 name: 'functest-opnfv-functest-vnf-rmi'
227 container: 'functest-vnf'
229 - 'functest-{repo}-{container}-{tag}-rmi'
232 name: 'functest-opnfv-functest-features-rmi'
234 container: 'functest-features'
236 - 'functest-{repo}-{container}-{tag}-rmi'
239 name: 'functest-{repo}-{container}-{tag}-{test}-run'
244 - functest-run-containers:
245 <<: *functest-run-containers
248 name: 'functest-opnfv-functest-healthcheck'
250 container: 'functest-healthcheck'
265 - 'functest-{repo}-{container}-{tag}-{test}-run'
268 name: 'functest-opnfv-functest-smoke'
270 container: 'functest-smoke'
272 - neutron-tempest-plugin-api
289 test: refstack_defcore
291 test: refstack_defcore
295 test: refstack_compute
297 test: refstack_object
299 test: refstack_platform
305 - 'functest-{repo}-{container}-{tag}-{test}-run'
308 name: 'functest-opnfv-functest-benchmarking'
310 container: 'functest-benchmarking'
317 - 'functest-{repo}-{container}-{tag}-{test}-run'
320 name: 'functest-opnfv-functest-vnf'
322 container: 'functest-vnf'
330 - 'functest-{repo}-{container}-{tag}-{test}-run'
333 name: 'functest-opnfv-functest-features'
335 container: 'functest-features'
337 - doctor-notification
343 - 'functest-{repo}-{container}-{tag}-{test}-run'
346 name: 'functest-{tag}-daily'
347 project-type: multijob
355 use-build-blocker: true
356 blocking-level: 'NODE'
358 - '^functest-{tag}-(daily|check|gate)$'
361 name: remove former images
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
365 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
367 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
369 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
371 - name: 'functest-opnfv-functest-features-{tag}-rmi'
374 name: pull containers
376 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
378 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
380 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
382 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
384 - name: 'functest-opnfv-functest-features-{tag}-pull'
387 name: opnfv/functest-healthcheck:{tag}
389 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
391 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
393 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
395 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
397 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
399 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
401 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
403 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
405 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
407 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
409 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
411 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
414 name: opnfv/functest-smoke:{tag}
416 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
418 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
420 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
422 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
424 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
426 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
428 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
430 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
432 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
434 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
436 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
438 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
440 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
442 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
444 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
447 name: opnfv/functest-benchmarking:{tag}
449 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
451 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
453 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
455 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
458 name: opnfv/functest-vnf:{tag}
459 execution-type: SEQUENTIALLY
461 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
463 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
465 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
467 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
469 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
472 name: opnfv/functest-features:{tag}
474 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
476 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
478 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
480 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
482 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
486 name: 'functest-{repo}-{container}-{tag}-gate'
494 - functest-build-containers:
495 <<: *functest-build-containers
499 name: 'functest-{repo}-{container}-{tag}-check'
509 - functest-build-containers:
510 <<: *functest-build-containers
514 name: 'functest-_-alpine-3.10-rmi'
521 - 'functest-{repo}-{container}-{tag}-rmi'
524 name: 'functest-_-alpine-3.10-pull'
531 - 'functest-{repo}-{container}-{tag}-pull'
534 name: functest-opnfv-functest-core-{tag}-build
536 container: functest-core
540 - 'functest-{repo}-{container}-{tag}-gate'
541 - 'functest-{repo}-{container}-{tag}-check'
544 name: functest-opnfv-functest-tempest-{tag}-build
546 container: functest-tempest
550 - 'functest-{repo}-{container}-{tag}-gate'
551 - 'functest-{repo}-{container}-{tag}-check'
556 name: functest-opnfv-functest-healthcheck-{tag}-build
558 container: functest-healthcheck
560 path: docker/healthcheck
562 - 'functest-{repo}-{container}-{tag}-gate'
563 - 'functest-{repo}-{container}-{tag}-check'
566 name: functest-opnfv-functest-smoke-{tag}-build
568 container: functest-smoke
572 - 'functest-{repo}-{container}-{tag}-gate'
573 - 'functest-{repo}-{container}-{tag}-check'
576 name: functest-opnfv-functest-benchmarking-{tag}-build
578 container: functest-benchmarking
580 path: docker/benchmarking
582 - 'functest-{repo}-{container}-{tag}-gate'
583 - 'functest-{repo}-{container}-{tag}-check'
586 name: functest-opnfv-functest-vnf-{tag}-build
588 container: functest-vnf
592 - 'functest-{repo}-{container}-{tag}-gate'
593 - 'functest-{repo}-{container}-{tag}-check'
596 name: functest-opnfv-functest-features-{tag}-build
598 container: functest-features
600 path: docker/features
602 - 'functest-{repo}-{container}-{tag}-gate'
603 - 'functest-{repo}-{container}-{tag}-check'
606 name: 'functest-{tag}-check'
607 project-type: multijob
615 use-build-blocker: true
616 blocking-level: 'NODE'
618 - '^functest-{tag}-(daily|check|gate)$'
621 name: remove former images
623 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
625 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
627 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
629 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
631 - name: 'functest-opnfv-functest-features-{tag}-rmi'
634 name: remove dependencies
636 - name: 'functest-_-alpine-3.10-rmi'
639 name: pull dependencies
641 - name: 'functest-_-alpine-3.10-pull'
644 name: build opnfv/functest-core
646 - name: 'functest-opnfv-functest-core-{tag}-check'
649 name: build opnfv/functest-tempest
651 - name: 'functest-opnfv-functest-tempest-{tag}-check'
654 name: build containers
656 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
658 - name: 'functest-opnfv-functest-smoke-{tag}-check'
660 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
662 - name: 'functest-opnfv-functest-vnf-{tag}-check'
664 - name: 'functest-opnfv-functest-features-{tag}-check'
667 name: opnfv/functest-healthcheck:{tag}
669 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
671 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
673 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
675 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
677 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
679 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
681 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
683 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
685 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
687 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
689 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
691 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
694 name: opnfv/functest-smoke:{tag}
696 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
698 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
700 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
702 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
704 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
706 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
708 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
710 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
712 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
714 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
716 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
718 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
720 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
722 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
724 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
727 name: opnfv/functest-benchmarking:{tag}
729 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
731 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
733 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
735 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
738 name: opnfv/functest-vnf:{tag}
739 execution-type: SEQUENTIALLY
741 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
743 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
745 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
747 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
749 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
752 name: opnfv/functest-features:{tag}
754 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
756 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
758 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
760 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
762 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
766 name: functest-patchset-created
769 server-name: 'gerrit.opnfv.org'
771 - patchset-created-event
772 - comment-added-contains-event:
773 comment-contains-value: 'recheck'
774 - comment-added-contains-event:
775 comment-contains-value: 'reverify'
777 - project-compare-type: 'ANT'
778 project-pattern: 'functest'
780 - branch-compare-type: 'ANT'
781 branch-pattern: '**/{branch}'
789 name: 'functest-{tag}-gate'
790 project-type: multijob
792 - functest-patchset-created:
799 use-build-blocker: true
800 blocking-level: 'NODE'
802 - '^functest-{tag}-(daily|check|gate)$'
805 name: remove former images
807 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
809 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
811 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
813 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
815 - name: 'functest-opnfv-functest-features-{tag}-rmi'
818 name: remove dependencies
820 - name: 'functest-_-alpine-3.10-rmi'
823 name: pull dependencies
825 - name: 'functest-_-alpine-3.10-pull'
828 name: build opnfv/functest-core
830 - name: 'functest-opnfv-functest-core-{tag}-gate'
833 name: build opnfv/functest-tempest
835 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
838 name: build containers
840 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
842 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
844 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
846 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
848 - name: 'functest-opnfv-functest-features-{tag}-gate'
851 name: opnfv/functest-healthcheck:{tag}
853 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
855 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
857 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
859 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
861 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
863 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
865 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
867 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
869 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
871 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
873 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
875 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
878 name: opnfv/functest-smoke:{tag}
880 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
882 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
884 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
886 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
888 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
890 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
892 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
894 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
896 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
898 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
900 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
902 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
904 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
906 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
908 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
911 name: opnfv/functest-benchmarking:{tag}
913 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
915 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
917 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
919 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
922 name: opnfv/functest-vnf:{tag}
923 execution-type: SEQUENTIALLY
925 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
927 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
929 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
931 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
933 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
936 name: opnfv/functest-features:{tag}
938 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
940 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
942 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
944 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
946 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
953 - 'functest-{tag}-daily'
954 - 'functest-{tag}-check'
955 - 'functest-{tag}-gate'
967 regex: ^functest-[a-z]+-(daily|check|gate)$