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/blacklist.yaml:/usr/lib/python$py/\
114 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
115 -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
116 site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml \
117 $image run_tests -t {test}
119 gsutil -m cp -r $WORKSPACE/ \
120 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
121 find $WORKSPACE -type f \
123 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
127 name: functest-remove-images
131 if [ "{repo}" = "_" ]; then
132 image={container}:{tag}
133 elif [ "{port}" = "None" ]; then
134 image={repo}/{container}:{tag}
136 image={repo}:{port}/{container}:{tag}
138 sudo docker rmi $image || true
144 url: https://gerrit.opnfv.org/gerrit/functest
145 refspec: '+refs/changes/*:refs/changes/*'
150 name: 'functest-{repo}-{container}-{tag}-pull'
155 - functest-pull-containers:
156 <<: *functest-containers
159 name: 'functest-opnfv-functest-healthcheck-pull'
161 container: 'functest-healthcheck'
163 - 'functest-{repo}-{container}-{tag}-pull'
166 name: 'functest-opnfv-functest-smoke-pull'
168 container: 'functest-smoke'
170 - 'functest-{repo}-{container}-{tag}-pull'
173 name: 'functest-opnfv-functest-benchmarking-pull'
175 container: 'functest-benchmarking'
177 - 'functest-{repo}-{container}-{tag}-pull'
180 name: 'functest-opnfv-functest-vnf-pull'
182 container: 'functest-vnf'
184 - 'functest-{repo}-{container}-{tag}-pull'
187 name: 'functest-opnfv-functest-features-pull'
189 container: 'functest-features'
191 - 'functest-{repo}-{container}-{tag}-pull'
194 name: 'functest-{repo}-{container}-{tag}-rmi'
199 - functest-remove-images:
200 <<: *functest-containers
203 name: 'functest-opnfv-functest-healthcheck-rmi'
205 container: 'functest-healthcheck'
207 - 'functest-{repo}-{container}-{tag}-rmi'
210 name: 'functest-opnfv-functest-smoke-rmi'
212 container: 'functest-smoke'
214 - 'functest-{repo}-{container}-{tag}-rmi'
217 name: 'functest-opnfv-functest-benchmarking-rmi'
219 container: 'functest-benchmarking'
221 - 'functest-{repo}-{container}-{tag}-rmi'
224 name: 'functest-opnfv-functest-vnf-rmi'
226 container: 'functest-vnf'
228 - 'functest-{repo}-{container}-{tag}-rmi'
231 name: 'functest-opnfv-functest-features-rmi'
233 container: 'functest-features'
235 - 'functest-{repo}-{container}-{tag}-rmi'
238 name: 'functest-{repo}-{container}-{tag}-{test}-run'
243 - functest-run-containers:
244 <<: *functest-run-containers
247 name: 'functest-opnfv-functest-healthcheck'
249 container: 'functest-healthcheck'
264 - 'functest-{repo}-{container}-{tag}-{test}-run'
267 name: 'functest-opnfv-functest-smoke'
269 container: 'functest-smoke'
271 - neutron-tempest-plugin-api
286 test: refstack_defcore
288 test: refstack_defcore
290 test: refstack_compute
292 test: refstack_object
294 test: refstack_platform
296 - 'functest-{repo}-{container}-{tag}-{test}-run'
299 name: 'functest-opnfv-functest-benchmarking'
301 container: 'functest-benchmarking'
308 - 'functest-{repo}-{container}-{tag}-{test}-run'
311 name: 'functest-opnfv-functest-vnf'
313 container: 'functest-vnf'
321 - 'functest-{repo}-{container}-{tag}-{test}-run'
324 name: 'functest-opnfv-functest-features'
326 container: 'functest-features'
328 - doctor-notification
334 - 'functest-{repo}-{container}-{tag}-{test}-run'
337 name: 'functest-{tag}-daily'
338 project-type: multijob
346 use-build-blocker: true
347 blocking-level: 'NODE'
349 - '^functest-{tag}-(daily|check|gate)$'
352 name: remove former images
354 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
356 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
358 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
360 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
362 - name: 'functest-opnfv-functest-features-{tag}-rmi'
365 name: pull containers
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
369 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
371 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
373 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
375 - name: 'functest-opnfv-functest-features-{tag}-pull'
378 name: opnfv/functest-healthcheck:{tag}
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
382 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
384 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
386 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
388 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
390 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
392 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
394 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
396 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
398 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
400 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
402 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
405 name: opnfv/functest-smoke:{tag}
407 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
409 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
411 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
413 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
415 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
417 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
419 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
421 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
423 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
425 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
427 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
429 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
431 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
434 name: opnfv/functest-benchmarking:{tag}
436 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
438 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
440 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
442 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
445 name: opnfv/functest-vnf:{tag}
446 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}
461 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
463 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
465 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
467 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
469 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
473 name: 'functest-{repo}-{container}-{tag}-gate'
481 - functest-build-containers:
482 <<: *functest-build-containers
486 name: 'functest-{repo}-{container}-{tag}-check'
496 - functest-build-containers:
497 <<: *functest-build-containers
501 name: 'functest-_-alpine-3.9-rmi'
508 - 'functest-{repo}-{container}-{tag}-rmi'
511 name: 'functest-_-alpine-3.9-pull'
518 - 'functest-{repo}-{container}-{tag}-pull'
521 name: functest-opnfv-functest-core-{tag}-build
523 container: functest-core
527 - 'functest-{repo}-{container}-{tag}-gate'
528 - 'functest-{repo}-{container}-{tag}-check'
531 name: functest-opnfv-functest-tempest-{tag}-build
533 container: functest-tempest
537 - 'functest-{repo}-{container}-{tag}-gate'
538 - 'functest-{repo}-{container}-{tag}-check'
541 name: functest-opnfv-functest-healthcheck-{tag}-build
543 container: functest-healthcheck
545 path: docker/healthcheck
547 - 'functest-{repo}-{container}-{tag}-gate'
548 - 'functest-{repo}-{container}-{tag}-check'
551 name: functest-opnfv-functest-smoke-{tag}-build
553 container: functest-smoke
557 - 'functest-{repo}-{container}-{tag}-gate'
558 - 'functest-{repo}-{container}-{tag}-check'
561 name: functest-opnfv-functest-benchmarking-{tag}-build
563 container: functest-benchmarking
565 path: docker/benchmarking
567 - 'functest-{repo}-{container}-{tag}-gate'
568 - 'functest-{repo}-{container}-{tag}-check'
571 name: functest-opnfv-functest-vnf-{tag}-build
573 container: functest-vnf
577 - 'functest-{repo}-{container}-{tag}-gate'
578 - 'functest-{repo}-{container}-{tag}-check'
581 name: functest-opnfv-functest-features-{tag}-build
583 container: functest-features
585 path: docker/features
587 - 'functest-{repo}-{container}-{tag}-gate'
588 - 'functest-{repo}-{container}-{tag}-check'
591 name: 'functest-{tag}-check'
592 project-type: multijob
600 use-build-blocker: true
601 blocking-level: 'NODE'
603 - '^functest-{tag}-(daily|check|gate)$'
606 name: remove former images
608 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
610 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
612 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
614 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
616 - name: 'functest-opnfv-functest-features-{tag}-rmi'
619 name: remove dependencies
621 - name: 'functest-_-alpine-3.9-rmi'
624 name: pull dependencies
626 - name: 'functest-_-alpine-3.9-pull'
629 name: build opnfv/functest-core
631 - name: 'functest-opnfv-functest-core-{tag}-check'
634 name: build opnfv/functest-tempest
636 - name: 'functest-opnfv-functest-tempest-{tag}-check'
639 name: build containers
641 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
643 - name: 'functest-opnfv-functest-smoke-{tag}-check'
645 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
647 - name: 'functest-opnfv-functest-vnf-{tag}-check'
649 - name: 'functest-opnfv-functest-features-{tag}-check'
652 name: opnfv/functest-healthcheck:{tag}
654 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
656 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
658 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
660 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
662 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
664 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
666 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
668 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
670 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
672 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
674 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
676 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
679 name: opnfv/functest-smoke:{tag}
681 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
683 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
685 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
687 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
689 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
691 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
693 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
695 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
697 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
699 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
701 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
703 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
705 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
708 name: opnfv/functest-benchmarking:{tag}
710 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
712 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
714 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
716 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
719 name: opnfv/functest-vnf:{tag}
720 execution-type: SEQUENTIALLY
722 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
724 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
726 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
728 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
730 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
733 name: opnfv/functest-features:{tag}
735 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
737 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
739 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
741 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
743 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
747 name: functest-patchset-created
750 server-name: 'gerrit.opnfv.org'
752 - patchset-created-event
753 - comment-added-contains-event:
754 comment-contains-value: 'recheck'
755 - comment-added-contains-event:
756 comment-contains-value: 'reverify'
758 - project-compare-type: 'ANT'
759 project-pattern: 'functest'
761 - branch-compare-type: 'ANT'
762 branch-pattern: '**/{branch}'
770 name: 'functest-{tag}-gate'
771 project-type: multijob
773 - functest-patchset-created:
780 use-build-blocker: true
781 blocking-level: 'NODE'
783 - '^functest-{tag}-(daily|check|gate)$'
786 name: remove former images
788 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
790 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
792 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
794 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
796 - name: 'functest-opnfv-functest-features-{tag}-rmi'
799 name: remove dependencies
801 - name: 'functest-_-alpine-3.9-rmi'
804 name: pull dependencies
806 - name: 'functest-_-alpine-3.9-pull'
809 name: build opnfv/functest-core
811 - name: 'functest-opnfv-functest-core-{tag}-gate'
814 name: build opnfv/functest-tempest
816 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
819 name: build containers
821 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
823 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
825 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
827 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
829 - name: 'functest-opnfv-functest-features-{tag}-gate'
832 name: opnfv/functest-healthcheck:{tag}
834 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
836 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
838 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
840 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
842 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
844 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
846 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
848 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
850 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
852 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
854 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
856 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
859 name: opnfv/functest-smoke:{tag}
861 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
863 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
865 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
867 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
869 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
871 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
873 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
875 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
877 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
879 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
881 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
883 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
885 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
888 name: opnfv/functest-benchmarking:{tag}
890 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
892 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
894 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
896 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
899 name: opnfv/functest-vnf:{tag}
900 execution-type: SEQUENTIALLY
902 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
904 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
906 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
908 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
910 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
913 name: opnfv/functest-features:{tag}
915 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
917 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
919 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
921 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
923 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
930 - 'functest-{tag}-daily'
931 - 'functest-{tag}-check'
932 - 'functest-{tag}-gate'
944 regex: ^functest-[a-z]+-(daily|check|gate)$