2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
21 default: functest-virtual
30 - functest-containers: &functest-containers
31 name: 'functest-containers'
34 container: '{container}'
37 - functest-run-containers: &functest-run-containers
38 name: 'functest-build-containers'
39 <<: *functest-containers
42 - functest-build-containers: &functest-build-containers
43 name: 'functest-build-containers'
44 <<: *functest-containers
49 name: functest-pull-containers
53 if [ "{repo}" = "_" ]; then
54 image={container}:{tag}
55 elif [ "{port}" = "None" ]; then
56 image={repo}/{container}:{tag}
58 image={repo}:{port}/{container}:{tag}
60 sudo docker pull $image
63 name: functest-build-containers
67 if [ "{repo}" = "_" ]; then
68 image={container}:{tag}
69 elif [ "{port}" = "None" ]; then
70 image={repo}/{container}:{tag}
72 image={repo}:{port}/{container}:{tag}
74 if [ "{ref_arg}" = "None" ]; then
77 build_arg="--build-arg {ref_arg}={ref}"
80 sudo docker build $build_arg \
81 --pull=false --no-cache --force-rm=true \
85 name: functest-run-containers
89 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
90 if [ "{repo}" = "_" ]; then
91 image={container}:{tag}
92 elif [ "{port}" = "None" ]; then
93 image={repo}/{container}:{tag}
95 image={repo}:{port}/{container}:{tag}
97 sudo docker run --rm \
98 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
99 -e EXTERNAL_NETWORK=public \
100 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
101 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
102 $image run_tests -t {test}
104 gsutil -m cp -r $WORKSPACE/ \
105 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
106 find $WORKSPACE -type f \
108 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
112 name: functest-remove-images
116 if [ "{repo}" = "_" ]; then
117 image={container}:{tag}
118 elif [ "{port}" = "None" ]; then
119 image={repo}/{container}:{tag}
121 image={repo}:{port}/{container}:{tag}
123 sudo docker rmi $image || true
129 url: https://gerrit.opnfv.org/gerrit/functest
130 refspec: '+refs/changes/*:refs/changes/*'
135 name: 'functest-{repo}-{container}-{tag}-pull'
139 - functest-pull-containers:
140 <<: *functest-containers
143 name: 'functest-opnfv-functest-healthcheck-pull'
145 container: 'functest-healthcheck'
147 - 'functest-{repo}-{container}-{tag}-pull'
150 name: 'functest-opnfv-functest-smoke-pull'
152 container: 'functest-smoke'
154 - 'functest-{repo}-{container}-{tag}-pull'
157 name: 'functest-opnfv-functest-benchmarking-pull'
159 container: 'functest-benchmarking'
161 - 'functest-{repo}-{container}-{tag}-pull'
164 name: 'functest-opnfv-functest-vnf-pull'
166 container: 'functest-vnf'
168 - 'functest-{repo}-{container}-{tag}-pull'
171 name: 'functest-opnfv-functest-features-pull'
173 container: 'functest-features'
175 - 'functest-{repo}-{container}-{tag}-pull'
178 name: 'functest-{repo}-{container}-{tag}-rmi'
182 - functest-remove-images:
183 <<: *functest-containers
186 name: 'functest-opnfv-functest-healthcheck-rmi'
188 container: 'functest-healthcheck'
190 - 'functest-{repo}-{container}-{tag}-rmi'
193 name: 'functest-opnfv-functest-smoke-rmi'
195 container: 'functest-smoke'
197 - 'functest-{repo}-{container}-{tag}-rmi'
200 name: 'functest-opnfv-functest-benchmarking-rmi'
202 container: 'functest-benchmarking'
204 - 'functest-{repo}-{container}-{tag}-rmi'
207 name: 'functest-opnfv-functest-vnf-rmi'
209 container: 'functest-vnf'
211 - 'functest-{repo}-{container}-{tag}-rmi'
214 name: 'functest-opnfv-functest-features-rmi'
216 container: 'functest-features'
218 - 'functest-{repo}-{container}-{tag}-rmi'
221 name: 'functest-{repo}-{container}-{tag}-{test}-run'
225 - functest-run-containers:
226 <<: *functest-run-containers
229 name: 'functest-opnfv-functest-healthcheck'
231 container: 'functest-healthcheck'
248 - 'functest-{repo}-{container}-{tag}-{test}-run'
251 name: 'functest-opnfv-functest-smoke'
253 container: 'functest-smoke'
255 - neutron-tempest-plugin-api
267 - 'functest-{repo}-{container}-{tag}-{test}-run'
270 name: 'functest-opnfv-functest-benchmarking'
272 container: 'functest-benchmarking'
279 - 'functest-{repo}-{container}-{tag}-{test}-run'
282 name: 'functest-opnfv-functest-vnf'
284 container: 'functest-vnf'
292 - 'functest-{repo}-{container}-{tag}-{test}-run'
295 name: 'functest-opnfv-functest-features'
297 container: 'functest-features'
299 - doctor-notification
305 - 'functest-{repo}-{container}-{tag}-{test}-run'
308 name: 'functest-{tag}-daily'
309 project-type: multijob
316 use-build-blocker: true
317 blocking-level: 'NODE'
319 - '^functest-[a-z]+-(daily|check|gate)$'
322 name: remove former images
324 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
326 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
328 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
330 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
332 - name: 'functest-opnfv-functest-features-{tag}-rmi'
335 name: pull containers
337 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
339 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
341 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
343 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
345 - name: 'functest-opnfv-functest-features-{tag}-pull'
348 name: opnfv/functest-healthcheck:{tag}
350 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
352 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
354 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
356 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
358 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
360 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
362 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
364 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
366 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
368 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
370 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
372 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
374 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
376 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
379 name: opnfv/functest-smoke:{tag}
381 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
383 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
385 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
387 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
389 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
391 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
393 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
395 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
397 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
399 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
401 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
404 name: opnfv/functest-benchmarking:{tag}
406 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
408 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
410 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
412 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
415 name: opnfv/functest-vnf:{tag}
416 execution-type: SEQUENTIALLY
418 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
420 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
422 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
424 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
426 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
429 name: opnfv/functest-features:{tag}
431 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
433 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
435 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
437 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
439 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
443 name: 'functest-{repo}-{container}-{tag}-gate'
450 - functest-build-containers:
451 <<: *functest-build-containers
455 name: 'functest-{repo}-{container}-{tag}-check'
464 - functest-build-containers:
465 <<: *functest-build-containers
469 name: 'functest-_-alpine-3.8-rmi'
475 - 'functest-{repo}-{container}-{tag}-rmi'
478 name: 'functest-_-alpine-3.8-pull'
484 - 'functest-{repo}-{container}-{tag}-pull'
487 name: functest-opnfv-functest-core-{tag}-build
489 container: functest-core
493 - 'functest-{repo}-{container}-{tag}-gate'
494 - 'functest-{repo}-{container}-{tag}-check'
497 name: functest-opnfv-functest-tempest-{tag}-build
499 container: functest-tempest
503 - 'functest-{repo}-{container}-{tag}-gate'
504 - 'functest-{repo}-{container}-{tag}-check'
507 name: functest-opnfv-functest-healthcheck-{tag}-build
509 container: functest-healthcheck
511 path: docker/healthcheck
513 - 'functest-{repo}-{container}-{tag}-gate'
514 - 'functest-{repo}-{container}-{tag}-check'
517 name: functest-opnfv-functest-smoke-{tag}-build
519 container: functest-smoke
523 - 'functest-{repo}-{container}-{tag}-gate'
524 - 'functest-{repo}-{container}-{tag}-check'
527 name: functest-opnfv-functest-benchmarking-{tag}-build
529 container: functest-benchmarking
531 path: docker/benchmarking
533 - 'functest-{repo}-{container}-{tag}-gate'
534 - 'functest-{repo}-{container}-{tag}-check'
537 name: functest-opnfv-functest-vnf-{tag}-build
539 container: functest-vnf
543 - 'functest-{repo}-{container}-{tag}-gate'
544 - 'functest-{repo}-{container}-{tag}-check'
547 name: functest-opnfv-functest-features-{tag}-build
549 container: functest-features
551 path: docker/features
553 - 'functest-{repo}-{container}-{tag}-gate'
554 - 'functest-{repo}-{container}-{tag}-check'
557 name: 'functest-{tag}-check'
558 project-type: multijob
565 use-build-blocker: true
566 blocking-level: 'NODE'
568 - '^functest-[a-z]+-(daily|check|gate)$'
571 name: remove former images
573 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
575 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
577 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
579 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
581 - name: 'functest-opnfv-functest-features-{tag}-rmi'
584 name: remove dependencies
586 - name: 'functest-_-alpine-3.8-rmi'
589 name: pull dependencies
591 - name: 'functest-_-alpine-3.8-pull'
594 name: build opnfv/functest-core
596 - name: 'functest-opnfv-functest-core-{tag}-check'
599 name: build opnfv/functest-tempest
601 - name: 'functest-opnfv-functest-tempest-{tag}-check'
604 name: build containers
606 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
608 - name: 'functest-opnfv-functest-smoke-{tag}-check'
610 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
612 - name: 'functest-opnfv-functest-vnf-{tag}-check'
614 - name: 'functest-opnfv-functest-features-{tag}-check'
617 name: opnfv/functest-healthcheck:{tag}
619 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
621 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
623 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
625 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
627 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
631 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
633 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
635 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
637 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
639 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
641 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
643 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
645 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
648 name: opnfv/functest-smoke:{tag}
650 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
652 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
654 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
656 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
658 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
660 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
662 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
664 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
666 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
668 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
670 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
673 name: opnfv/functest-benchmarking:{tag}
675 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
677 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
679 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
681 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
684 name: opnfv/functest-vnf:{tag}
685 execution-type: SEQUENTIALLY
687 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
689 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
691 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
693 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
695 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
698 name: opnfv/functest-features:{tag}
700 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
702 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
704 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
706 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
708 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
712 name: functest-patchset-created
715 server-name: 'gerrit.opnfv.org'
717 - patchset-created-event
718 - comment-added-contains-event:
719 comment-contains-value: 'recheck'
720 - comment-added-contains-event:
721 comment-contains-value: 'reverify'
723 - project-compare-type: 'ANT'
724 project-pattern: 'functest'
726 - branch-compare-type: 'ANT'
727 branch-pattern: '**/{branch}'
735 name: 'functest-{tag}-gate'
736 project-type: multijob
738 - functest-patchset-created:
744 use-build-blocker: true
745 blocking-level: 'NODE'
747 - '^functest-[a-z]+-(daily|check|gate)$'
750 name: remove former images
752 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
754 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
756 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
758 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
760 - name: 'functest-opnfv-functest-features-{tag}-rmi'
763 name: remove dependencies
765 - name: 'functest-_-alpine-3.8-rmi'
768 name: pull dependencies
770 - name: 'functest-_-alpine-3.8-pull'
773 name: build opnfv/functest-core
775 - name: 'functest-opnfv-functest-core-{tag}-gate'
778 name: build opnfv/functest-tempest
780 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
783 name: build containers
785 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
787 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
789 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
791 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
793 - name: 'functest-opnfv-functest-features-{tag}-gate'
796 name: opnfv/functest-healthcheck:{tag}
798 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
800 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
802 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
804 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
806 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
808 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
810 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
812 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
814 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
816 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
818 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
820 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
822 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
824 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
827 name: opnfv/functest-smoke:{tag}
829 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
831 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
833 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
835 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
837 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
839 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
841 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
843 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
845 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
847 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
849 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
852 name: opnfv/functest-benchmarking:{tag}
854 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
856 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
858 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
860 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
863 name: opnfv/functest-vnf:{tag}
864 execution-type: SEQUENTIALLY
866 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
868 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
870 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
872 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
874 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
877 name: opnfv/functest-features:{tag}
879 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
881 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
883 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
885 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
887 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
894 - 'functest-{tag}-daily'
895 - 'functest-{tag}-check'
896 - 'functest-{tag}-gate'
908 regex: ^functest-[a-z]+-(daily|check|gate)$