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 sudo docker run --rm \
103 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
105 -e EXTERNAL_NETWORK=public \
107 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
108 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
109 $image run_tests -t {test}
111 gsutil -m cp -r $WORKSPACE/ \
112 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
113 find $WORKSPACE -type f \
115 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
119 name: functest-remove-images
123 if [ "{repo}" = "_" ]; then
124 image={container}:{tag}
125 elif [ "{port}" = "None" ]; then
126 image={repo}/{container}:{tag}
128 image={repo}:{port}/{container}:{tag}
130 sudo docker rmi $image || true
136 url: https://gerrit.opnfv.org/gerrit/functest
137 refspec: '+refs/changes/*:refs/changes/*'
142 name: 'functest-{repo}-{container}-{tag}-pull'
147 - functest-pull-containers:
148 <<: *functest-containers
151 name: 'functest-opnfv-functest-healthcheck-pull'
153 container: 'functest-healthcheck'
155 - 'functest-{repo}-{container}-{tag}-pull'
158 name: 'functest-opnfv-functest-smoke-pull'
160 container: 'functest-smoke'
162 - 'functest-{repo}-{container}-{tag}-pull'
165 name: 'functest-opnfv-functest-benchmarking-pull'
167 container: 'functest-benchmarking'
169 - 'functest-{repo}-{container}-{tag}-pull'
172 name: 'functest-opnfv-functest-vnf-pull'
174 container: 'functest-vnf'
176 - 'functest-{repo}-{container}-{tag}-pull'
179 name: 'functest-opnfv-functest-features-pull'
181 container: 'functest-features'
183 - 'functest-{repo}-{container}-{tag}-pull'
186 name: 'functest-{repo}-{container}-{tag}-rmi'
191 - functest-remove-images:
192 <<: *functest-containers
195 name: 'functest-opnfv-functest-healthcheck-rmi'
197 container: 'functest-healthcheck'
199 - 'functest-{repo}-{container}-{tag}-rmi'
202 name: 'functest-opnfv-functest-smoke-rmi'
204 container: 'functest-smoke'
206 - 'functest-{repo}-{container}-{tag}-rmi'
209 name: 'functest-opnfv-functest-benchmarking-rmi'
211 container: 'functest-benchmarking'
213 - 'functest-{repo}-{container}-{tag}-rmi'
216 name: 'functest-opnfv-functest-vnf-rmi'
218 container: 'functest-vnf'
220 - 'functest-{repo}-{container}-{tag}-rmi'
223 name: 'functest-opnfv-functest-features-rmi'
225 container: 'functest-features'
227 - 'functest-{repo}-{container}-{tag}-rmi'
230 name: 'functest-{repo}-{container}-{tag}-{test}-run'
235 - functest-run-containers:
236 <<: *functest-run-containers
239 name: 'functest-opnfv-functest-healthcheck'
241 container: 'functest-healthcheck'
256 - 'functest-{repo}-{container}-{tag}-{test}-run'
259 name: 'functest-opnfv-functest-smoke'
261 container: 'functest-smoke'
263 - neutron-tempest-plugin-api
274 - 'functest-{repo}-{container}-{tag}-{test}-run'
277 name: 'functest-opnfv-functest-benchmarking'
279 container: 'functest-benchmarking'
286 - 'functest-{repo}-{container}-{tag}-{test}-run'
289 name: 'functest-opnfv-functest-vnf'
291 container: 'functest-vnf'
299 - 'functest-{repo}-{container}-{tag}-{test}-run'
302 name: 'functest-opnfv-functest-features'
304 container: 'functest-features'
306 - doctor-notification
312 - 'functest-{repo}-{container}-{tag}-{test}-run'
315 name: 'functest-{tag}-daily'
316 project-type: multijob
324 use-build-blocker: true
325 blocking-level: 'NODE'
327 - '^functest-{tag}-(daily|check|gate)$'
330 name: remove former images
332 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
334 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
336 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
338 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
340 - name: 'functest-opnfv-functest-features-{tag}-rmi'
343 name: pull containers
345 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
347 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
349 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
351 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
353 - name: 'functest-opnfv-functest-features-{tag}-pull'
356 name: opnfv/functest-healthcheck:{tag}
358 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
360 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
362 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
364 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
366 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
368 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
370 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
372 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
374 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
376 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
378 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
383 name: opnfv/functest-smoke:{tag}
385 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
387 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
389 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
391 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
393 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
395 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
397 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
399 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
401 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
403 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
406 name: opnfv/functest-benchmarking:{tag}
408 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
410 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
412 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
414 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
417 name: opnfv/functest-vnf:{tag}
418 execution-type: SEQUENTIALLY
420 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
422 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
424 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
426 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
428 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
431 name: opnfv/functest-features:{tag}
433 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
435 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
437 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
439 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
441 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
445 name: 'functest-{repo}-{container}-{tag}-gate'
453 - functest-build-containers:
454 <<: *functest-build-containers
458 name: 'functest-{repo}-{container}-{tag}-check'
468 - functest-build-containers:
469 <<: *functest-build-containers
473 name: 'functest-_-alpine-3.9-rmi'
480 - 'functest-{repo}-{container}-{tag}-rmi'
483 name: 'functest-_-alpine-3.9-pull'
490 - 'functest-{repo}-{container}-{tag}-pull'
493 name: functest-opnfv-functest-core-{tag}-build
495 container: functest-core
499 - 'functest-{repo}-{container}-{tag}-gate'
500 - 'functest-{repo}-{container}-{tag}-check'
503 name: functest-opnfv-functest-tempest-{tag}-build
505 container: functest-tempest
509 - 'functest-{repo}-{container}-{tag}-gate'
510 - 'functest-{repo}-{container}-{tag}-check'
513 name: functest-opnfv-functest-healthcheck-{tag}-build
515 container: functest-healthcheck
517 path: docker/healthcheck
519 - 'functest-{repo}-{container}-{tag}-gate'
520 - 'functest-{repo}-{container}-{tag}-check'
523 name: functest-opnfv-functest-smoke-{tag}-build
525 container: functest-smoke
529 - 'functest-{repo}-{container}-{tag}-gate'
530 - 'functest-{repo}-{container}-{tag}-check'
533 name: functest-opnfv-functest-benchmarking-{tag}-build
535 container: functest-benchmarking
537 path: docker/benchmarking
539 - 'functest-{repo}-{container}-{tag}-gate'
540 - 'functest-{repo}-{container}-{tag}-check'
543 name: functest-opnfv-functest-vnf-{tag}-build
545 container: functest-vnf
549 - 'functest-{repo}-{container}-{tag}-gate'
550 - 'functest-{repo}-{container}-{tag}-check'
553 name: functest-opnfv-functest-features-{tag}-build
555 container: functest-features
557 path: docker/features
559 - 'functest-{repo}-{container}-{tag}-gate'
560 - 'functest-{repo}-{container}-{tag}-check'
563 name: 'functest-{tag}-check'
564 project-type: multijob
572 use-build-blocker: true
573 blocking-level: 'NODE'
575 - '^functest-{tag}-(daily|check|gate)$'
578 name: remove former images
580 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
582 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
584 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
586 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
588 - name: 'functest-opnfv-functest-features-{tag}-rmi'
591 name: remove dependencies
593 - name: 'functest-_-alpine-3.9-rmi'
596 name: pull dependencies
598 - name: 'functest-_-alpine-3.9-pull'
601 name: build opnfv/functest-core
603 - name: 'functest-opnfv-functest-core-{tag}-check'
606 name: build opnfv/functest-tempest
608 - name: 'functest-opnfv-functest-tempest-{tag}-check'
611 name: build containers
613 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
615 - name: 'functest-opnfv-functest-smoke-{tag}-check'
617 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
619 - name: 'functest-opnfv-functest-vnf-{tag}-check'
621 - name: 'functest-opnfv-functest-features-{tag}-check'
624 name: opnfv/functest-healthcheck:{tag}
626 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
628 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
630 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
632 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
634 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
636 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
638 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
640 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
642 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
644 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
646 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
648 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
651 name: opnfv/functest-smoke:{tag}
653 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
655 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
657 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
659 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
661 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
663 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
665 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
667 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
669 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
671 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
674 name: opnfv/functest-benchmarking:{tag}
676 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
678 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
680 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
682 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
685 name: opnfv/functest-vnf:{tag}
686 execution-type: SEQUENTIALLY
688 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
690 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
692 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
694 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
696 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
699 name: opnfv/functest-features:{tag}
701 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
703 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
705 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
707 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
709 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
713 name: functest-patchset-created
716 server-name: 'gerrit.opnfv.org'
718 - patchset-created-event
719 - comment-added-contains-event:
720 comment-contains-value: 'recheck'
721 - comment-added-contains-event:
722 comment-contains-value: 'reverify'
724 - project-compare-type: 'ANT'
725 project-pattern: 'functest'
727 - branch-compare-type: 'ANT'
728 branch-pattern: '**/{branch}'
736 name: 'functest-{tag}-gate'
737 project-type: multijob
739 - functest-patchset-created:
746 use-build-blocker: true
747 blocking-level: 'NODE'
749 - '^functest-{tag}-(daily|check|gate)$'
752 name: remove former images
754 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
756 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
758 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
760 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
762 - name: 'functest-opnfv-functest-features-{tag}-rmi'
765 name: remove dependencies
767 - name: 'functest-_-alpine-3.9-rmi'
770 name: pull dependencies
772 - name: 'functest-_-alpine-3.9-pull'
775 name: build opnfv/functest-core
777 - name: 'functest-opnfv-functest-core-{tag}-gate'
780 name: build opnfv/functest-tempest
782 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
785 name: build containers
787 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
789 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
791 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
793 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
795 - name: 'functest-opnfv-functest-features-{tag}-gate'
798 name: opnfv/functest-healthcheck:{tag}
800 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
802 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
804 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
806 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
808 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
810 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
812 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
814 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
816 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
818 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
820 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
822 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
825 name: opnfv/functest-smoke:{tag}
827 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
829 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
831 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
833 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
835 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
837 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
839 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
841 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
843 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
845 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
848 name: opnfv/functest-benchmarking:{tag}
850 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
852 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
854 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
856 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
859 name: opnfv/functest-vnf:{tag}
860 execution-type: SEQUENTIALLY
862 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
864 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
866 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
868 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
870 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
873 name: opnfv/functest-features:{tag}
875 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
877 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
879 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
881 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
883 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
890 - 'functest-{tag}-daily'
891 - 'functest-{tag}-check'
892 - 'functest-{tag}-gate'
904 regex: ^functest-[a-z]+-(daily|check|gate)$