2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
21 default: functest-virtual
30 - functest-containers: &functest-containers
31 name: 'functest-containers'
34 container: '{container}'
37 - functest-run-containers: &functest-run-containers
38 name: 'functest-build-containers'
39 <<: *functest-containers
42 - functest-build-containers: &functest-build-containers
43 name: 'functest-build-containers'
44 <<: *functest-containers
49 name: functest-pull-containers
53 if [ "{repo}" = "_" ]; then
54 image={container}:{tag}
55 elif [ "{port}" = "None" ]; then
56 image={repo}/{container}:{tag}
58 image={repo}:{port}/{container}:{tag}
60 sudo docker pull $image
63 name: functest-build-containers
67 if [ "{repo}" = "_" ]; then
68 image={container}:{tag}
69 elif [ "{port}" = "None" ]; then
70 image={repo}/{container}:{tag}
72 image={repo}:{port}/{container}:{tag}
74 if [ "{ref_arg}" = "None" ]; then
77 build_arg="--build-arg {ref_arg}={ref}"
80 sudo docker build $build_arg \
81 --pull=false --no-cache --force-rm=true \
85 name: functest-run-containers
89 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
90 if [ "{repo}" = "_" ]; then
91 image={container}:{tag}
92 elif [ "{port}" = "None" ]; then
93 image={repo}/{container}:{tag}
95 image={repo}:{port}/{container}:{tag}
97 sudo docker run --rm \
98 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
99 -e EXTERNAL_NETWORK=public \
100 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
101 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
102 $image run_tests -t {test}
104 gsutil -m cp -r $WORKSPACE/ \
105 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
106 find $WORKSPACE -type f \
108 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
112 name: functest-remove-images
116 if [ "{repo}" = "_" ]; then
117 image={container}:{tag}
118 elif [ "{port}" = "None" ]; then
119 image={repo}/{container}:{tag}
121 image={repo}:{port}/{container}:{tag}
123 sudo docker rmi $image || true
129 url: https://gerrit.opnfv.org/gerrit/functest
130 refspec: '+refs/changes/*:refs/changes/*'
135 name: 'functest-{repo}-{container}-{tag}-pull'
139 - functest-pull-containers:
140 <<: *functest-containers
143 name: 'functest-opnfv-functest-healthcheck-pull'
145 container: 'functest-healthcheck'
147 - 'functest-{repo}-{container}-{tag}-pull'
150 name: 'functest-opnfv-functest-smoke-pull'
152 container: 'functest-smoke'
154 - 'functest-{repo}-{container}-{tag}-pull'
157 name: 'functest-opnfv-functest-benchmarking-pull'
159 container: 'functest-benchmarking'
161 - 'functest-{repo}-{container}-{tag}-pull'
164 name: 'functest-opnfv-functest-vnf-pull'
166 container: 'functest-vnf'
168 - 'functest-{repo}-{container}-{tag}-pull'
171 name: 'functest-opnfv-functest-features-pull'
173 container: 'functest-features'
175 - 'functest-{repo}-{container}-{tag}-pull'
178 name: 'functest-{repo}-{container}-{tag}-rmi'
182 - functest-remove-images:
183 <<: *functest-containers
186 name: 'functest-opnfv-functest-healthcheck-rmi'
188 container: 'functest-healthcheck'
190 - 'functest-{repo}-{container}-{tag}-rmi'
193 name: 'functest-opnfv-functest-smoke-rmi'
195 container: 'functest-smoke'
197 - 'functest-{repo}-{container}-{tag}-rmi'
200 name: 'functest-opnfv-functest-benchmarking-rmi'
202 container: 'functest-benchmarking'
204 - 'functest-{repo}-{container}-{tag}-rmi'
207 name: 'functest-opnfv-functest-vnf-rmi'
209 container: 'functest-vnf'
211 - 'functest-{repo}-{container}-{tag}-rmi'
214 name: 'functest-opnfv-functest-features-rmi'
216 container: 'functest-features'
218 - 'functest-{repo}-{container}-{tag}-rmi'
221 name: 'functest-{repo}-{container}-{tag}-{test}-run'
225 - functest-run-containers:
226 <<: *functest-run-containers
229 name: 'functest-opnfv-functest-healthcheck'
231 container: 'functest-healthcheck'
248 - 'functest-{repo}-{container}-{tag}-{test}-run'
251 name: 'functest-opnfv-functest-smoke'
253 container: 'functest-smoke'
255 - neutron-tempest-plugin-api
267 - 'functest-{repo}-{container}-{tag}-{test}-run'
270 name: 'functest-opnfv-functest-benchmarking'
272 container: 'functest-benchmarking'
279 - 'functest-{repo}-{container}-{tag}-{test}-run'
282 name: 'functest-opnfv-functest-vnf'
284 container: 'functest-vnf'
292 - 'functest-{repo}-{container}-{tag}-{test}-run'
295 name: 'functest-opnfv-functest-features'
297 container: 'functest-features'
299 - doctor-notification
306 - 'functest-{repo}-{container}-{tag}-{test}-run'
309 name: 'functest-{tag}-daily'
310 project-type: multijob
317 use-build-blocker: true
318 blocking-level: 'NODE'
320 - '^functest-[a-z]+-(daily|check|gate)$'
323 name: remove former images
325 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
327 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
329 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
331 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
333 - name: 'functest-opnfv-functest-features-{tag}-rmi'
336 name: pull containers
338 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
340 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
342 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
344 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
346 - name: 'functest-opnfv-functest-features-{tag}-pull'
349 name: opnfv/functest-healthcheck:{tag}
351 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
353 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
355 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
357 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
359 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
361 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
365 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
371 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
373 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
375 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
377 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
380 name: opnfv/functest-smoke:{tag}
382 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
384 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
386 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
388 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
390 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
392 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
394 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
396 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
398 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
400 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
402 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
405 name: opnfv/functest-benchmarking:{tag}
407 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
409 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
411 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
413 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
416 name: opnfv/functest-vnf:{tag}
417 execution-type: SEQUENTIALLY
419 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
421 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
423 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
425 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
427 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
430 name: opnfv/functest-features:{tag}
432 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
434 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
436 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
438 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
440 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
442 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
446 name: 'functest-{repo}-{container}-{tag}-gate'
453 - functest-build-containers:
454 <<: *functest-build-containers
458 name: 'functest-{repo}-{container}-{tag}-check'
467 - functest-build-containers:
468 <<: *functest-build-containers
472 name: 'functest-_-alpine-3.8-rmi'
478 - 'functest-{repo}-{container}-{tag}-rmi'
481 name: 'functest-_-alpine-3.8-pull'
487 - 'functest-{repo}-{container}-{tag}-pull'
490 name: functest-opnfv-functest-core-{tag}-build
492 container: functest-core
496 - 'functest-{repo}-{container}-{tag}-gate'
497 - 'functest-{repo}-{container}-{tag}-check'
500 name: functest-opnfv-functest-tempest-{tag}-build
502 container: functest-tempest
506 - 'functest-{repo}-{container}-{tag}-gate'
507 - 'functest-{repo}-{container}-{tag}-check'
510 name: functest-opnfv-functest-healthcheck-{tag}-build
512 container: functest-healthcheck
514 path: docker/healthcheck
516 - 'functest-{repo}-{container}-{tag}-gate'
517 - 'functest-{repo}-{container}-{tag}-check'
520 name: functest-opnfv-functest-smoke-{tag}-build
522 container: functest-smoke
526 - 'functest-{repo}-{container}-{tag}-gate'
527 - 'functest-{repo}-{container}-{tag}-check'
530 name: functest-opnfv-functest-benchmarking-{tag}-build
532 container: functest-benchmarking
534 path: docker/benchmarking
536 - 'functest-{repo}-{container}-{tag}-gate'
537 - 'functest-{repo}-{container}-{tag}-check'
540 name: functest-opnfv-functest-vnf-{tag}-build
542 container: functest-vnf
546 - 'functest-{repo}-{container}-{tag}-gate'
547 - 'functest-{repo}-{container}-{tag}-check'
550 name: functest-opnfv-functest-features-{tag}-build
552 container: functest-features
554 path: docker/features
556 - 'functest-{repo}-{container}-{tag}-gate'
557 - 'functest-{repo}-{container}-{tag}-check'
560 name: 'functest-{tag}-check'
561 project-type: multijob
568 use-build-blocker: true
569 blocking-level: 'NODE'
571 - '^functest-[a-z]+-(daily|check|gate)$'
574 name: remove former images
576 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
578 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
580 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
582 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
584 - name: 'functest-opnfv-functest-features-{tag}-rmi'
587 name: remove dependencies
589 - name: 'functest-_-alpine-3.8-rmi'
592 name: pull dependencies
594 - name: 'functest-_-alpine-3.8-pull'
597 name: build opnfv/functest-core
599 - name: 'functest-opnfv-functest-core-{tag}-check'
602 name: build opnfv/functest-tempest
604 - name: 'functest-opnfv-functest-tempest-{tag}-check'
607 name: build containers
609 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
611 - name: 'functest-opnfv-functest-smoke-{tag}-check'
613 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
615 - name: 'functest-opnfv-functest-vnf-{tag}-check'
617 - name: 'functest-opnfv-functest-features-{tag}-check'
620 name: opnfv/functest-healthcheck:{tag}
622 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
624 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
626 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
628 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
630 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
632 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
634 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
636 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
638 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
640 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
642 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
644 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
646 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-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}-snaps_smoke-run'
667 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
669 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
671 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
673 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
676 name: opnfv/functest-benchmarking:{tag}
678 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
680 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
682 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
684 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
687 name: opnfv/functest-vnf:{tag}
688 execution-type: SEQUENTIALLY
690 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
692 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
694 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
696 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
698 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
701 name: opnfv/functest-features:{tag}
703 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
705 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
707 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
709 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
711 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
713 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
717 name: functest-patchset-created
720 server-name: 'gerrit.opnfv.org'
722 - patchset-created-event
723 - comment-added-contains-event:
724 comment-contains-value: 'recheck'
725 - comment-added-contains-event:
726 comment-contains-value: 'reverify'
728 - project-compare-type: 'ANT'
729 project-pattern: 'functest'
731 - branch-compare-type: 'ANT'
732 branch-pattern: '**/{branch}'
740 name: 'functest-{tag}-gate'
741 project-type: multijob
743 - functest-patchset-created:
749 use-build-blocker: true
750 blocking-level: 'NODE'
752 - '^functest-[a-z]+-(daily|check|gate)$'
755 name: remove former images
757 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
759 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
761 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
763 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
765 - name: 'functest-opnfv-functest-features-{tag}-rmi'
768 name: remove dependencies
770 - name: 'functest-_-alpine-3.8-rmi'
773 name: pull dependencies
775 - name: 'functest-_-alpine-3.8-pull'
778 name: build opnfv/functest-core
780 - name: 'functest-opnfv-functest-core-{tag}-gate'
783 name: build opnfv/functest-tempest
785 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
788 name: build containers
790 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
792 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
794 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
796 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
798 - name: 'functest-opnfv-functest-features-{tag}-gate'
801 name: opnfv/functest-healthcheck:{tag}
803 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
805 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
807 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
809 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
811 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
813 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
815 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
817 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
819 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
821 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
823 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
825 - name: 'functest-opnfv-functest-healthcheck-{tag}-api_check-run'
827 - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
829 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
832 name: opnfv/functest-smoke:{tag}
834 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
836 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
838 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
840 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
842 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
844 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
846 - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
848 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
850 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
852 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
854 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
857 name: opnfv/functest-benchmarking:{tag}
859 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
861 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
863 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
865 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
868 name: opnfv/functest-vnf:{tag}
869 execution-type: SEQUENTIALLY
871 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
873 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
875 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
877 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
880 name: opnfv/functest-features:{tag}
882 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
884 - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
886 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
888 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
890 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
892 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
899 - 'functest-{tag}-daily'
900 - 'functest-{tag}-check'
901 - 'functest-{tag}-gate'
913 regex: ^functest-[a-z]+-(daily|check|gate)$