2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
23 default: functest-virtual
32 - functest-containers: &functest-containers
33 name: 'functest-containers'
36 container: '{container}'
39 - functest-run-containers: &functest-run-containers
40 name: 'functest-build-containers'
41 <<: *functest-containers
44 - functest-build-containers: &functest-build-containers
45 name: 'functest-build-containers'
46 <<: *functest-containers
51 name: functest-pull-containers
55 if [ "{repo}" = "_" ]; then
56 image={container}:{tag}
57 elif [ "{port}" = "None" ]; then
58 image={repo}/{container}:{tag}
60 image={repo}:{port}/{container}:{tag}
62 sudo docker pull $image
65 name: functest-build-containers
69 if [ "{repo}" = "_" ]; then
70 image={container}:{tag}
71 elif [ "{port}" = "None" ]; then
72 image={repo}/{container}:{tag}
74 image={repo}:{port}/{container}:{tag}
76 if [ "{ref_arg}" = "None" ]; then
79 build_arg="--build-arg {ref_arg}={ref}"
82 sudo docker build $build_arg \
83 --pull=false --no-cache --force-rm=true \
87 name: functest-run-containers
91 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
92 if [ "{repo}" = "_" ]; then
93 image={container}:{tag}
94 elif [ "{port}" = "None" ]; then
95 image={repo}/{container}:{tag}
97 image={repo}:{port}/{container}:{tag}
99 sudo docker run --rm \
100 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
101 -e EXTERNAL_NETWORK=public1 \
102 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
103 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
104 $image run_tests -t {test}
106 gsutil -m cp -r $WORKSPACE/ \
107 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
108 find $WORKSPACE -type f \
110 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
114 name: functest-remove-images
118 if [ "{repo}" = "_" ]; then
119 image={container}:{tag}
120 elif [ "{port}" = "None" ]; then
121 image={repo}/{container}:{tag}
123 image={repo}:{port}/{container}:{tag}
125 sudo docker rmi $image || true
131 url: https://gerrit.opnfv.org/gerrit/functest
132 refspec: '+refs/changes/*:refs/changes/*'
137 name: 'functest-{repo}-{container}-{tag}-pull'
141 - functest-pull-containers:
142 <<: *functest-containers
145 name: 'functest-opnfv-functest-healthcheck-pull'
147 container: 'functest-healthcheck'
149 - 'functest-{repo}-{container}-{tag}-pull'
152 name: 'functest-opnfv-functest-smoke-pull'
154 container: 'functest-smoke'
156 - 'functest-{repo}-{container}-{tag}-pull'
159 name: 'functest-opnfv-functest-benchmarking-pull'
161 container: 'functest-benchmarking'
163 - 'functest-{repo}-{container}-{tag}-pull'
166 name: 'functest-opnfv-functest-components-pull'
168 container: 'functest-components'
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'
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-components-rmi'
218 container: 'functest-components'
220 - 'functest-{repo}-{container}-{tag}-rmi'
223 name: 'functest-opnfv-functest-vnf-rmi'
225 container: 'functest-vnf'
227 - 'functest-{repo}-{container}-{tag}-rmi'
230 name: 'functest-opnfv-functest-features-rmi'
232 container: 'functest-features'
234 - 'functest-{repo}-{container}-{tag}-rmi'
237 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'
263 - 'functest-{repo}-{container}-{tag}-{test}-run'
266 name: 'functest-opnfv-functest-smoke'
268 container: 'functest-smoke'
271 - neutron-tempest-plugin-api
282 - 'functest-{repo}-{container}-{tag}-{test}-run'
285 name: 'functest-opnfv-functest-benchmarking'
287 container: 'functest-benchmarking'
292 - 'functest-{repo}-{container}-{tag}-{test}-run'
295 name: 'functest-opnfv-functest-components'
297 container: 'functest-components'
302 - 'functest-{repo}-{container}-{tag}-{test}-run'
305 name: 'functest-opnfv-functest-vnf'
307 container: 'functest-vnf'
315 - 'functest-{repo}-{container}-{tag}-{test}-run'
318 name: 'functest-opnfv-functest-features'
320 container: 'functest-features'
322 - doctor-notification
329 - 'functest-{repo}-{container}-{tag}-{test}-run'
332 name: 'functest-{tag}-daily'
333 project-type: multijob
340 use-build-blocker: true
341 blocking-level: 'NODE'
343 - '^functest-[a-z]+-(daily|check|gate)$'
346 name: remove former images
348 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
350 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
352 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
354 - name: 'functest-opnfv-functest-components-{tag}-rmi'
356 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
358 - name: 'functest-opnfv-functest-features-{tag}-rmi'
361 name: pull containers
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
365 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
367 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
369 - name: 'functest-opnfv-functest-components-{tag}-pull'
371 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
373 - name: 'functest-opnfv-functest-features-{tag}-pull'
376 name: opnfv/functest-healthcheck:{tag}
378 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
382 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
384 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
386 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
388 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
390 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
392 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
394 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
396 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
398 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
400 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
402 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
405 name: opnfv/functest-smoke:{tag}
407 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
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}-rally_jobs-run'
415 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
417 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
419 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
421 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
423 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
425 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
427 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
430 name: opnfv/functest-benchmarking:{tag}
432 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
434 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
437 name: opnfv/functest-components:{tag}
439 - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
441 - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
444 name: opnfv/functest-vnf:{tag}
446 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
448 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
450 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
452 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
454 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
457 name: opnfv/functest-features:{tag}
459 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
461 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-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'
480 - functest-build-containers:
481 <<: *functest-build-containers
485 name: 'functest-{repo}-{container}-{tag}-check'
494 - functest-build-containers:
495 <<: *functest-build-containers
499 name: 'functest-_-alpine-3.8-rmi'
505 - 'functest-{repo}-{container}-{tag}-rmi'
508 name: 'functest-_-alpine-3.8-pull'
514 - 'functest-{repo}-{container}-{tag}-pull'
517 name: functest-opnfv-functest-core-{tag}-build
519 container: functest-core
523 - 'functest-{repo}-{container}-{tag}-gate'
524 - 'functest-{repo}-{container}-{tag}-check'
527 name: functest-opnfv-functest-tempest-{tag}-build
529 container: functest-tempest
533 - 'functest-{repo}-{container}-{tag}-gate'
534 - 'functest-{repo}-{container}-{tag}-check'
537 name: functest-opnfv-functest-healthcheck-{tag}-build
539 container: functest-healthcheck
541 path: docker/healthcheck
543 - 'functest-{repo}-{container}-{tag}-gate'
544 - 'functest-{repo}-{container}-{tag}-check'
547 name: functest-opnfv-functest-smoke-{tag}-build
549 container: functest-smoke
553 - 'functest-{repo}-{container}-{tag}-gate'
554 - 'functest-{repo}-{container}-{tag}-check'
557 name: functest-opnfv-functest-benchmarking-{tag}-build
559 container: functest-benchmarking
561 path: docker/benchmarking
563 - 'functest-{repo}-{container}-{tag}-gate'
564 - 'functest-{repo}-{container}-{tag}-check'
567 name: functest-opnfv-functest-components-{tag}-build
569 container: functest-components
571 path: docker/components
573 - 'functest-{repo}-{container}-{tag}-gate'
574 - 'functest-{repo}-{container}-{tag}-check'
577 name: functest-opnfv-functest-vnf-{tag}-build
579 container: functest-vnf
583 - 'functest-{repo}-{container}-{tag}-gate'
584 - 'functest-{repo}-{container}-{tag}-check'
587 name: functest-opnfv-functest-features-{tag}-build
589 container: functest-features
591 path: docker/features
593 - 'functest-{repo}-{container}-{tag}-gate'
594 - 'functest-{repo}-{container}-{tag}-check'
597 name: 'functest-{tag}-check'
598 project-type: multijob
605 use-build-blocker: true
606 blocking-level: 'NODE'
608 - '^functest-[a-z]+-(daily|check|gate)$'
611 name: remove former images
613 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
615 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
617 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
619 - name: 'functest-opnfv-functest-components-{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.8-rmi'
631 name: pull dependencies
633 - name: 'functest-_-alpine-3.8-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-components-{tag}-check'
656 - name: 'functest-opnfv-functest-vnf-{tag}-check'
658 - name: 'functest-opnfv-functest-features-{tag}-check'
661 name: opnfv/functest-healthcheck:{tag}
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}-api_check-run'
687 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
690 name: opnfv/functest-smoke:{tag}
692 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
694 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
696 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
698 - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
700 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
702 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
704 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
706 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
708 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
710 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
712 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
715 name: opnfv/functest-benchmarking:{tag}
717 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
719 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
722 name: opnfv/functest-components:{tag}
724 - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
726 - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
729 name: opnfv/functest-vnf:{tag}
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}
744 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
746 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-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:
790 use-build-blocker: true
791 blocking-level: 'NODE'
793 - '^functest-[a-z]+-(daily|check|gate)$'
796 name: remove former images
798 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
800 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
802 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
804 - name: 'functest-opnfv-functest-components-{tag}-rmi'
806 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
808 - name: 'functest-opnfv-functest-features-{tag}-rmi'
811 name: remove dependencies
813 - name: 'functest-_-alpine-3.8-rmi'
816 name: pull dependencies
818 - name: 'functest-_-alpine-3.8-pull'
821 name: build opnfv/functest-core
823 - name: 'functest-opnfv-functest-core-{tag}-gate'
826 name: build opnfv/functest-tempest
828 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
831 name: build containers
833 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
835 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
837 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
839 - name: 'functest-opnfv-functest-components-{tag}-gate'
841 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
843 - name: 'functest-opnfv-functest-features-{tag}-gate'
846 name: opnfv/functest-healthcheck:{tag}
848 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
850 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
852 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
854 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
856 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
858 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
860 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
862 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
864 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
866 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
868 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
870 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
872 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
875 name: opnfv/functest-smoke:{tag}
877 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
879 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
881 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
883 - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
885 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
887 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
889 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
891 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
893 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
895 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
897 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
900 name: opnfv/functest-benchmarking:{tag}
902 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
904 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
907 name: opnfv/functest-components:{tag}
909 - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
911 - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-run'
914 name: opnfv/functest-vnf:{tag}
916 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
918 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
920 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
922 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
924 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
927 name: opnfv/functest-features:{tag}
929 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
931 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
933 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
935 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
937 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
939 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
946 - 'functest-{tag}-daily'
947 - 'functest-{tag}-check'
948 - 'functest-{tag}-gate'
960 regex: ^functest-[a-z]+-(daily|check|gate)$