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 $image run_tests -t {test}
117 gsutil -m cp -r $WORKSPACE/ \
118 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
119 find $WORKSPACE -type f \
121 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
125 name: functest-remove-images
129 if [ "{repo}" = "_" ]; then
130 image={container}:{tag}
131 elif [ "{port}" = "None" ]; then
132 image={repo}/{container}:{tag}
134 image={repo}:{port}/{container}:{tag}
136 sudo docker rmi $image || true
142 url: https://gerrit.opnfv.org/gerrit/functest
143 refspec: '+refs/changes/*:refs/changes/*'
148 name: 'functest-{repo}-{container}-{tag}-pull'
153 - functest-pull-containers:
154 <<: *functest-containers
157 name: 'functest-opnfv-functest-healthcheck-pull'
159 container: 'functest-healthcheck'
161 - 'functest-{repo}-{container}-{tag}-pull'
164 name: 'functest-opnfv-functest-smoke-pull'
166 container: 'functest-smoke'
168 - 'functest-{repo}-{container}-{tag}-pull'
171 name: 'functest-opnfv-functest-benchmarking-pull'
173 container: 'functest-benchmarking'
175 - 'functest-{repo}-{container}-{tag}-pull'
178 name: 'functest-opnfv-functest-vnf-pull'
180 container: 'functest-vnf'
182 - 'functest-{repo}-{container}-{tag}-pull'
185 name: 'functest-opnfv-functest-features-pull'
187 container: 'functest-features'
189 - 'functest-{repo}-{container}-{tag}-pull'
192 name: 'functest-{repo}-{container}-{tag}-rmi'
197 - functest-remove-images:
198 <<: *functest-containers
201 name: 'functest-opnfv-functest-healthcheck-rmi'
203 container: 'functest-healthcheck'
205 - 'functest-{repo}-{container}-{tag}-rmi'
208 name: 'functest-opnfv-functest-smoke-rmi'
210 container: 'functest-smoke'
212 - 'functest-{repo}-{container}-{tag}-rmi'
215 name: 'functest-opnfv-functest-benchmarking-rmi'
217 container: 'functest-benchmarking'
219 - 'functest-{repo}-{container}-{tag}-rmi'
222 name: 'functest-opnfv-functest-vnf-rmi'
224 container: 'functest-vnf'
226 - 'functest-{repo}-{container}-{tag}-rmi'
229 name: 'functest-opnfv-functest-features-rmi'
231 container: 'functest-features'
233 - 'functest-{repo}-{container}-{tag}-rmi'
236 name: 'functest-{repo}-{container}-{tag}-{test}-run'
241 - functest-run-containers:
242 <<: *functest-run-containers
245 name: 'functest-opnfv-functest-healthcheck'
247 container: 'functest-healthcheck'
262 - 'functest-{repo}-{container}-{tag}-{test}-run'
265 name: 'functest-opnfv-functest-smoke'
267 container: 'functest-smoke'
269 - neutron-tempest-plugin-api
284 test: refstack_defcore
286 test: refstack_defcore
288 test: refstack_compute
290 test: refstack_object
292 test: refstack_platform
294 - 'functest-{repo}-{container}-{tag}-{test}-run'
297 name: 'functest-opnfv-functest-benchmarking'
299 container: 'functest-benchmarking'
306 - 'functest-{repo}-{container}-{tag}-{test}-run'
309 name: 'functest-opnfv-functest-vnf'
311 container: 'functest-vnf'
319 - 'functest-{repo}-{container}-{tag}-{test}-run'
322 name: 'functest-opnfv-functest-features'
324 container: 'functest-features'
326 - doctor-notification
332 - 'functest-{repo}-{container}-{tag}-{test}-run'
335 name: 'functest-{tag}-daily'
336 project-type: multijob
344 use-build-blocker: true
345 blocking-level: 'NODE'
347 - '^functest-{tag}-(daily|check|gate)$'
350 name: remove former images
352 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
354 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
356 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
358 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
360 - name: 'functest-opnfv-functest-features-{tag}-rmi'
363 name: pull containers
365 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
367 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
369 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
371 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
373 - name: 'functest-opnfv-functest-features-{tag}-pull'
376 name: opnfv/functest-healthcheck:{tag}
377 execution-type: PARALLEL
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}
406 execution-type: PARALLEL
407 condition: SUCCESSFUL
409 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
411 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
413 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
415 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
417 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
419 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
421 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
423 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
425 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
427 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
429 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
431 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
433 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
436 name: opnfv/functest-benchmarking:{tag}
437 execution-type: PARALLEL
440 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
442 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
444 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
446 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
449 name: opnfv/functest-vnf:{tag}
450 execution-type: SEQUENTIALLY
453 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
455 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
457 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
459 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
461 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
464 name: opnfv/functest-features:{tag}
465 execution-type: PARALLEL
468 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
470 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
472 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
474 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
476 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
480 name: 'functest-{repo}-{container}-{tag}-gate'
488 - functest-build-containers:
489 <<: *functest-build-containers
493 name: 'functest-{repo}-{container}-{tag}-check'
503 - functest-build-containers:
504 <<: *functest-build-containers
508 name: 'functest-_-alpine-3.9-rmi'
515 - 'functest-{repo}-{container}-{tag}-rmi'
518 name: 'functest-_-alpine-3.9-pull'
525 - 'functest-{repo}-{container}-{tag}-pull'
528 name: functest-opnfv-functest-core-{tag}-build
530 container: functest-core
534 - 'functest-{repo}-{container}-{tag}-gate'
535 - 'functest-{repo}-{container}-{tag}-check'
538 name: functest-opnfv-functest-tempest-{tag}-build
540 container: functest-tempest
544 - 'functest-{repo}-{container}-{tag}-gate'
545 - 'functest-{repo}-{container}-{tag}-check'
548 name: functest-opnfv-functest-healthcheck-{tag}-build
550 container: functest-healthcheck
552 path: docker/healthcheck
554 - 'functest-{repo}-{container}-{tag}-gate'
555 - 'functest-{repo}-{container}-{tag}-check'
558 name: functest-opnfv-functest-smoke-{tag}-build
560 container: functest-smoke
564 - 'functest-{repo}-{container}-{tag}-gate'
565 - 'functest-{repo}-{container}-{tag}-check'
568 name: functest-opnfv-functest-benchmarking-{tag}-build
570 container: functest-benchmarking
572 path: docker/benchmarking
574 - 'functest-{repo}-{container}-{tag}-gate'
575 - 'functest-{repo}-{container}-{tag}-check'
578 name: functest-opnfv-functest-vnf-{tag}-build
580 container: functest-vnf
584 - 'functest-{repo}-{container}-{tag}-gate'
585 - 'functest-{repo}-{container}-{tag}-check'
588 name: functest-opnfv-functest-features-{tag}-build
590 container: functest-features
592 path: docker/features
594 - 'functest-{repo}-{container}-{tag}-gate'
595 - 'functest-{repo}-{container}-{tag}-check'
598 name: 'functest-{tag}-check'
599 project-type: multijob
607 use-build-blocker: true
608 blocking-level: 'NODE'
610 - '^functest-{tag}-(daily|check|gate)$'
613 name: remove former images
615 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
617 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
619 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
621 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
623 - name: 'functest-opnfv-functest-features-{tag}-rmi'
626 name: remove dependencies
628 - name: 'functest-_-alpine-3.9-rmi'
631 name: pull dependencies
633 - name: 'functest-_-alpine-3.9-pull'
636 name: build opnfv/functest-core
638 - name: 'functest-opnfv-functest-core-{tag}-check'
641 name: build opnfv/functest-tempest
643 - name: 'functest-opnfv-functest-tempest-{tag}-check'
646 name: build containers
648 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
650 - name: 'functest-opnfv-functest-smoke-{tag}-check'
652 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
654 - name: 'functest-opnfv-functest-vnf-{tag}-check'
656 - name: 'functest-opnfv-functest-features-{tag}-check'
659 name: opnfv/functest-healthcheck:{tag}
660 execution-type: PARALLEL
663 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
665 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
667 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
669 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
671 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
673 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
675 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
677 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
679 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
681 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
683 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
685 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
688 name: opnfv/functest-smoke:{tag}
689 execution-type: PARALLEL
690 condition: SUCCESSFUL
692 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
694 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
696 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
698 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
700 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
702 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
704 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
706 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
708 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
710 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
712 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
714 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
716 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
719 name: opnfv/functest-benchmarking:{tag}
720 execution-type: PARALLEL
723 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
725 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
727 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
729 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
732 name: opnfv/functest-vnf:{tag}
733 execution-type: SEQUENTIALLY
736 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
738 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
740 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
742 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
744 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
747 name: opnfv/functest-features:{tag}
748 execution-type: PARALLEL
751 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
753 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
755 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
757 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
759 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
763 name: functest-patchset-created
766 server-name: 'gerrit.opnfv.org'
768 - patchset-created-event
769 - comment-added-contains-event:
770 comment-contains-value: 'recheck'
771 - comment-added-contains-event:
772 comment-contains-value: 'reverify'
774 - project-compare-type: 'ANT'
775 project-pattern: 'functest'
777 - branch-compare-type: 'ANT'
778 branch-pattern: '**/{branch}'
786 name: 'functest-{tag}-gate'
787 project-type: multijob
789 - functest-patchset-created:
796 use-build-blocker: true
797 blocking-level: 'NODE'
799 - '^functest-{tag}-(daily|check|gate)$'
802 name: remove former images
804 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
806 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
808 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
810 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
812 - name: 'functest-opnfv-functest-features-{tag}-rmi'
815 name: remove dependencies
817 - name: 'functest-_-alpine-3.9-rmi'
820 name: pull dependencies
822 - name: 'functest-_-alpine-3.9-pull'
825 name: build opnfv/functest-core
827 - name: 'functest-opnfv-functest-core-{tag}-gate'
830 name: build opnfv/functest-tempest
832 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
835 name: build containers
837 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
839 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
841 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
843 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
845 - name: 'functest-opnfv-functest-features-{tag}-gate'
848 name: opnfv/functest-healthcheck:{tag}
849 execution-type: PARALLEL
852 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
854 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
856 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
858 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
860 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
862 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
864 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
866 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
868 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
870 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
872 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
874 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
877 name: opnfv/functest-smoke:{tag}
878 execution-type: PARALLEL
879 condition: SUCCESSFUL
881 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
883 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
885 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
887 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
889 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
891 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
893 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
895 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
897 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
899 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
901 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
903 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
905 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
908 name: opnfv/functest-benchmarking:{tag}
909 execution-type: PARALLEL
912 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
914 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
916 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
918 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
921 name: opnfv/functest-vnf:{tag}
922 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}
937 execution-type: PARALLEL
940 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
942 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
944 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
946 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
948 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
955 - 'functest-{tag}-daily'
956 - 'functest-{tag}-check'
957 - 'functest-{tag}-gate'
969 regex: ^functest-[a-z]+-(daily|check|gate)$