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 \
106 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
107 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
108 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python2.7/\
109 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
110 $image run_tests -t {test}
112 gsutil -m cp -r $WORKSPACE/ \
113 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
114 find $WORKSPACE -type f \
116 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
120 name: functest-remove-images
124 if [ "{repo}" = "_" ]; then
125 image={container}:{tag}
126 elif [ "{port}" = "None" ]; then
127 image={repo}/{container}:{tag}
129 image={repo}:{port}/{container}:{tag}
131 sudo docker rmi $image || true
137 url: https://gerrit.opnfv.org/gerrit/functest
138 refspec: '+refs/changes/*:refs/changes/*'
143 name: 'functest-{repo}-{container}-{tag}-pull'
148 - functest-pull-containers:
149 <<: *functest-containers
152 name: 'functest-opnfv-functest-healthcheck-pull'
154 container: 'functest-healthcheck'
156 - 'functest-{repo}-{container}-{tag}-pull'
159 name: 'functest-opnfv-functest-smoke-pull'
161 container: 'functest-smoke'
163 - 'functest-{repo}-{container}-{tag}-pull'
166 name: 'functest-opnfv-functest-benchmarking-pull'
168 container: 'functest-benchmarking'
170 - 'functest-{repo}-{container}-{tag}-pull'
173 name: 'functest-opnfv-functest-vnf-pull'
175 container: 'functest-vnf'
177 - 'functest-{repo}-{container}-{tag}-pull'
180 name: 'functest-opnfv-functest-features-pull'
182 container: 'functest-features'
184 - 'functest-{repo}-{container}-{tag}-pull'
187 name: 'functest-{repo}-{container}-{tag}-rmi'
192 - functest-remove-images:
193 <<: *functest-containers
196 name: 'functest-opnfv-functest-healthcheck-rmi'
198 container: 'functest-healthcheck'
200 - 'functest-{repo}-{container}-{tag}-rmi'
203 name: 'functest-opnfv-functest-smoke-rmi'
205 container: 'functest-smoke'
207 - 'functest-{repo}-{container}-{tag}-rmi'
210 name: 'functest-opnfv-functest-benchmarking-rmi'
212 container: 'functest-benchmarking'
214 - 'functest-{repo}-{container}-{tag}-rmi'
217 name: 'functest-opnfv-functest-vnf-rmi'
219 container: 'functest-vnf'
221 - 'functest-{repo}-{container}-{tag}-rmi'
224 name: 'functest-opnfv-functest-features-rmi'
226 container: 'functest-features'
228 - 'functest-{repo}-{container}-{tag}-rmi'
231 name: 'functest-{repo}-{container}-{tag}-{test}-run'
236 - functest-run-containers:
237 <<: *functest-run-containers
240 name: 'functest-opnfv-functest-healthcheck'
242 container: 'functest-healthcheck'
257 - 'functest-{repo}-{container}-{tag}-{test}-run'
260 name: 'functest-opnfv-functest-smoke'
262 container: 'functest-smoke'
264 - neutron-tempest-plugin-api
279 test: refstack_defcore
281 test: refstack_defcore
283 test: refstack_compute
285 test: refstack_object
287 test: refstack_platform
289 - 'functest-{repo}-{container}-{tag}-{test}-run'
292 name: 'functest-opnfv-functest-benchmarking'
294 container: 'functest-benchmarking'
301 - 'functest-{repo}-{container}-{tag}-{test}-run'
304 name: 'functest-opnfv-functest-vnf'
306 container: 'functest-vnf'
314 - 'functest-{repo}-{container}-{tag}-{test}-run'
317 name: 'functest-opnfv-functest-features'
319 container: 'functest-features'
321 - doctor-notification
327 - 'functest-{repo}-{container}-{tag}-{test}-run'
330 name: 'functest-{tag}-daily'
331 project-type: multijob
339 use-build-blocker: true
340 blocking-level: 'NODE'
342 - '^functest-{tag}-(daily|check|gate)$'
345 name: remove former images
347 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
349 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
351 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
353 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
355 - name: 'functest-opnfv-functest-features-{tag}-rmi'
358 name: pull containers
360 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
362 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
364 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
366 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
368 - name: 'functest-opnfv-functest-features-{tag}-pull'
371 name: opnfv/functest-healthcheck:{tag}
372 execution-type: PARALLEL
375 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
377 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
379 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
381 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
383 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
385 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
387 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
389 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
391 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
393 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
395 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
397 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
400 name: opnfv/functest-smoke:{tag}
401 execution-type: PARALLEL
402 condition: SUCCESSFUL
404 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
406 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
408 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
410 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
412 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
414 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
416 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
418 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
420 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
422 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
424 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
426 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
428 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
431 name: opnfv/functest-benchmarking:{tag}
432 execution-type: PARALLEL
435 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
437 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
439 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
441 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
444 name: opnfv/functest-vnf:{tag}
445 execution-type: SEQUENTIALLY
448 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
450 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
452 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
454 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
456 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
459 name: opnfv/functest-features:{tag}
460 execution-type: PARALLEL
463 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
465 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
467 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
469 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
471 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
475 name: 'functest-{repo}-{container}-{tag}-gate'
483 - functest-build-containers:
484 <<: *functest-build-containers
488 name: 'functest-{repo}-{container}-{tag}-check'
498 - functest-build-containers:
499 <<: *functest-build-containers
503 name: 'functest-_-alpine-3.9-rmi'
510 - 'functest-{repo}-{container}-{tag}-rmi'
513 name: 'functest-_-alpine-3.9-pull'
520 - 'functest-{repo}-{container}-{tag}-pull'
523 name: functest-opnfv-functest-core-{tag}-build
525 container: functest-core
529 - 'functest-{repo}-{container}-{tag}-gate'
530 - 'functest-{repo}-{container}-{tag}-check'
533 name: functest-opnfv-functest-tempest-{tag}-build
535 container: functest-tempest
539 - 'functest-{repo}-{container}-{tag}-gate'
540 - 'functest-{repo}-{container}-{tag}-check'
543 name: functest-opnfv-functest-healthcheck-{tag}-build
545 container: functest-healthcheck
547 path: docker/healthcheck
549 - 'functest-{repo}-{container}-{tag}-gate'
550 - 'functest-{repo}-{container}-{tag}-check'
553 name: functest-opnfv-functest-smoke-{tag}-build
555 container: functest-smoke
559 - 'functest-{repo}-{container}-{tag}-gate'
560 - 'functest-{repo}-{container}-{tag}-check'
563 name: functest-opnfv-functest-benchmarking-{tag}-build
565 container: functest-benchmarking
567 path: docker/benchmarking
569 - 'functest-{repo}-{container}-{tag}-gate'
570 - 'functest-{repo}-{container}-{tag}-check'
573 name: functest-opnfv-functest-vnf-{tag}-build
575 container: functest-vnf
579 - 'functest-{repo}-{container}-{tag}-gate'
580 - 'functest-{repo}-{container}-{tag}-check'
583 name: functest-opnfv-functest-features-{tag}-build
585 container: functest-features
587 path: docker/features
589 - 'functest-{repo}-{container}-{tag}-gate'
590 - 'functest-{repo}-{container}-{tag}-check'
593 name: 'functest-{tag}-check'
594 project-type: multijob
602 use-build-blocker: true
603 blocking-level: 'NODE'
605 - '^functest-{tag}-(daily|check|gate)$'
608 name: remove former images
610 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
612 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
614 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
616 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
618 - name: 'functest-opnfv-functest-features-{tag}-rmi'
621 name: remove dependencies
623 - name: 'functest-_-alpine-3.9-rmi'
626 name: pull dependencies
628 - name: 'functest-_-alpine-3.9-pull'
631 name: build opnfv/functest-core
633 - name: 'functest-opnfv-functest-core-{tag}-check'
636 name: build opnfv/functest-tempest
638 - name: 'functest-opnfv-functest-tempest-{tag}-check'
641 name: build containers
643 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
645 - name: 'functest-opnfv-functest-smoke-{tag}-check'
647 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
649 - name: 'functest-opnfv-functest-vnf-{tag}-check'
651 - name: 'functest-opnfv-functest-features-{tag}-check'
654 name: opnfv/functest-healthcheck:{tag}
655 execution-type: PARALLEL
658 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
660 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
662 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
664 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
666 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
668 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
670 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
672 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
674 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
676 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
678 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
680 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
683 name: opnfv/functest-smoke:{tag}
684 execution-type: PARALLEL
685 condition: SUCCESSFUL
687 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
689 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
691 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
693 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
695 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
697 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
699 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
701 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
703 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
705 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
707 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
709 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
711 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
714 name: opnfv/functest-benchmarking:{tag}
715 execution-type: PARALLEL
718 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
720 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
722 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
724 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
727 name: opnfv/functest-vnf:{tag}
728 execution-type: SEQUENTIALLY
731 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
733 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
735 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
737 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
739 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
742 name: opnfv/functest-features:{tag}
743 execution-type: PARALLEL
746 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
748 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
750 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
752 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
754 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
758 name: functest-patchset-created
761 server-name: 'gerrit.opnfv.org'
763 - patchset-created-event
764 - comment-added-contains-event:
765 comment-contains-value: 'recheck'
766 - comment-added-contains-event:
767 comment-contains-value: 'reverify'
769 - project-compare-type: 'ANT'
770 project-pattern: 'functest'
772 - branch-compare-type: 'ANT'
773 branch-pattern: '**/{branch}'
781 name: 'functest-{tag}-gate'
782 project-type: multijob
784 - functest-patchset-created:
791 use-build-blocker: true
792 blocking-level: 'NODE'
794 - '^functest-{tag}-(daily|check|gate)$'
797 name: remove former images
799 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
801 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
803 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
805 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
807 - name: 'functest-opnfv-functest-features-{tag}-rmi'
810 name: remove dependencies
812 - name: 'functest-_-alpine-3.9-rmi'
815 name: pull dependencies
817 - name: 'functest-_-alpine-3.9-pull'
820 name: build opnfv/functest-core
822 - name: 'functest-opnfv-functest-core-{tag}-gate'
825 name: build opnfv/functest-tempest
827 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
830 name: build containers
832 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
834 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
836 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
838 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
840 - name: 'functest-opnfv-functest-features-{tag}-gate'
843 name: opnfv/functest-healthcheck:{tag}
844 execution-type: PARALLEL
847 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
849 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
851 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
853 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
855 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
857 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
859 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
861 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
863 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
865 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
867 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
869 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
872 name: opnfv/functest-smoke:{tag}
873 execution-type: PARALLEL
874 condition: SUCCESSFUL
876 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
878 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
880 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
882 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
884 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
886 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
888 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
890 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
892 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
894 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
896 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
898 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
900 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
903 name: opnfv/functest-benchmarking:{tag}
904 execution-type: PARALLEL
907 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
909 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
911 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
913 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
916 name: opnfv/functest-vnf:{tag}
917 execution-type: SEQUENTIALLY
920 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
922 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
924 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
926 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
928 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
931 name: opnfv/functest-features:{tag}
932 execution-type: PARALLEL
935 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
937 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
939 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
941 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
943 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
950 - 'functest-{tag}-daily'
951 - 'functest-{tag}-check'
952 - 'functest-{tag}-gate'
964 regex: ^functest-[a-z]+-(daily|check|gate)$