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'
246 - 'functest-{repo}-{container}-{tag}-{test}-run'
249 name: 'functest-opnfv-functest-smoke'
251 container: 'functest-smoke'
253 - neutron-tempest-plugin-api
264 - 'functest-{repo}-{container}-{tag}-{test}-run'
267 name: 'functest-opnfv-functest-benchmarking'
269 container: 'functest-benchmarking'
276 - 'functest-{repo}-{container}-{tag}-{test}-run'
279 name: 'functest-opnfv-functest-vnf'
281 container: 'functest-vnf'
289 - 'functest-{repo}-{container}-{tag}-{test}-run'
292 name: 'functest-opnfv-functest-features'
294 container: 'functest-features'
296 - doctor-notification
302 - 'functest-{repo}-{container}-{tag}-{test}-run'
305 name: 'functest-{tag}-daily'
306 project-type: multijob
313 use-build-blocker: true
314 blocking-level: 'NODE'
316 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
319 name: remove former images
321 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
323 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
325 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
327 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
329 - name: 'functest-opnfv-functest-features-{tag}-rmi'
332 name: pull containers
334 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
336 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
338 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
340 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
342 - name: 'functest-opnfv-functest-features-{tag}-pull'
345 name: opnfv/functest-healthcheck:{tag}
347 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
349 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
351 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
353 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
355 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
357 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
359 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
361 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
365 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
372 name: opnfv/functest-smoke:{tag}
374 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
376 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
378 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
380 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
382 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
384 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
386 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
388 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
390 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
392 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
395 name: opnfv/functest-benchmarking:{tag}
397 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
399 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
401 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
403 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
406 name: opnfv/functest-vnf:{tag}
407 execution-type: SEQUENTIALLY
409 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
411 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
413 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
415 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
417 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
420 name: opnfv/functest-features:{tag}
422 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
424 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
426 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
428 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
430 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
434 name: 'functest-{repo}-{container}-{tag}-gate'
441 - functest-build-containers:
442 <<: *functest-build-containers
446 name: 'functest-{repo}-{container}-{tag}-check'
455 - functest-build-containers:
456 <<: *functest-build-containers
460 name: 'functest-_-alpine-3.9-rmi'
466 - 'functest-{repo}-{container}-{tag}-rmi'
469 name: 'functest-_-alpine-3.9-pull'
475 - 'functest-{repo}-{container}-{tag}-pull'
478 name: functest-opnfv-functest-core-{tag}-build
480 container: functest-core
484 - 'functest-{repo}-{container}-{tag}-gate'
485 - 'functest-{repo}-{container}-{tag}-check'
488 name: functest-opnfv-functest-tempest-{tag}-build
490 container: functest-tempest
494 - 'functest-{repo}-{container}-{tag}-gate'
495 - 'functest-{repo}-{container}-{tag}-check'
498 name: functest-opnfv-functest-healthcheck-{tag}-build
500 container: functest-healthcheck
502 path: docker/healthcheck
504 - 'functest-{repo}-{container}-{tag}-gate'
505 - 'functest-{repo}-{container}-{tag}-check'
508 name: functest-opnfv-functest-smoke-{tag}-build
510 container: functest-smoke
514 - 'functest-{repo}-{container}-{tag}-gate'
515 - 'functest-{repo}-{container}-{tag}-check'
518 name: functest-opnfv-functest-benchmarking-{tag}-build
520 container: functest-benchmarking
522 path: docker/benchmarking
524 - 'functest-{repo}-{container}-{tag}-gate'
525 - 'functest-{repo}-{container}-{tag}-check'
528 name: functest-opnfv-functest-vnf-{tag}-build
530 container: functest-vnf
534 - 'functest-{repo}-{container}-{tag}-gate'
535 - 'functest-{repo}-{container}-{tag}-check'
538 name: functest-opnfv-functest-features-{tag}-build
540 container: functest-features
542 path: docker/features
544 - 'functest-{repo}-{container}-{tag}-gate'
545 - 'functest-{repo}-{container}-{tag}-check'
548 name: 'functest-{tag}-check'
549 project-type: multijob
556 use-build-blocker: true
557 blocking-level: 'NODE'
559 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
562 name: remove former images
564 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
566 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
568 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
570 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
572 - name: 'functest-opnfv-functest-features-{tag}-rmi'
575 name: remove dependencies
577 - name: 'functest-_-alpine-3.9-rmi'
580 name: pull dependencies
582 - name: 'functest-_-alpine-3.9-pull'
585 name: build opnfv/functest-core
587 - name: 'functest-opnfv-functest-core-{tag}-check'
590 name: build opnfv/functest-tempest
592 - name: 'functest-opnfv-functest-tempest-{tag}-check'
595 name: build containers
597 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
599 - name: 'functest-opnfv-functest-smoke-{tag}-check'
601 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
603 - name: 'functest-opnfv-functest-vnf-{tag}-check'
605 - name: 'functest-opnfv-functest-features-{tag}-check'
608 name: opnfv/functest-healthcheck:{tag}
610 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
612 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
614 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
616 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
618 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
620 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
622 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
624 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
626 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
628 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
630 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
632 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
635 name: opnfv/functest-smoke:{tag}
637 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
639 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
641 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
643 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
645 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
647 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
649 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
651 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
653 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
655 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
658 name: opnfv/functest-benchmarking:{tag}
660 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
662 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
666 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
669 name: opnfv/functest-vnf:{tag}
670 execution-type: SEQUENTIALLY
672 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
674 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
676 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
678 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
680 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
683 name: opnfv/functest-features:{tag}
685 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
687 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
689 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
691 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
693 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
697 name: functest-patchset-created
700 server-name: 'gerrit.opnfv.org'
702 - patchset-created-event
703 - comment-added-contains-event:
704 comment-contains-value: 'recheck'
705 - comment-added-contains-event:
706 comment-contains-value: 'reverify'
708 - project-compare-type: 'ANT'
709 project-pattern: 'functest'
711 - branch-compare-type: 'ANT'
712 branch-pattern: '**/{branch}'
720 name: 'functest-{tag}-gate'
721 project-type: multijob
723 - functest-patchset-created:
729 use-build-blocker: true
730 blocking-level: 'NODE'
732 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
735 name: remove former images
737 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
739 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
741 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
743 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
745 - name: 'functest-opnfv-functest-features-{tag}-rmi'
748 name: remove dependencies
750 - name: 'functest-_-alpine-3.9-rmi'
753 name: pull dependencies
755 - name: 'functest-_-alpine-3.9-pull'
758 name: build opnfv/functest-core
760 - name: 'functest-opnfv-functest-core-{tag}-gate'
763 name: build opnfv/functest-tempest
765 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
768 name: build containers
770 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
772 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
774 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
776 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
778 - name: 'functest-opnfv-functest-features-{tag}-gate'
781 name: opnfv/functest-healthcheck:{tag}
783 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
785 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
787 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
789 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
791 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
793 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
795 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
797 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
799 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
801 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
803 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
805 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
808 name: opnfv/functest-smoke:{tag}
810 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
812 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
814 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
816 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
818 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
820 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
822 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
824 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
826 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
828 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
831 name: opnfv/functest-benchmarking:{tag}
833 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
835 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
837 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
839 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
842 name: opnfv/functest-vnf:{tag}
843 execution-type: SEQUENTIALLY
845 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
847 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
849 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
851 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
853 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
856 name: opnfv/functest-features:{tag}
858 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
860 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
862 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
864 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
866 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
873 - 'functest-{tag}-daily'
874 - 'functest-{tag}-check'
875 - 'functest-{tag}-gate'
887 regex: ^functest-[a-z]+-(daily|check|gate)$