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=public \
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-vnf-pull'
168 container: 'functest-vnf'
170 - 'functest-{repo}-{container}-{tag}-pull'
173 name: 'functest-opnfv-functest-features-pull'
175 container: 'functest-features'
177 - 'functest-{repo}-{container}-{tag}-pull'
180 name: 'functest-{repo}-{container}-{tag}-rmi'
184 - functest-remove-images:
185 <<: *functest-containers
188 name: 'functest-opnfv-functest-healthcheck-rmi'
190 container: 'functest-healthcheck'
192 - 'functest-{repo}-{container}-{tag}-rmi'
195 name: 'functest-opnfv-functest-smoke-rmi'
197 container: 'functest-smoke'
199 - 'functest-{repo}-{container}-{tag}-rmi'
202 name: 'functest-opnfv-functest-benchmarking-rmi'
204 container: 'functest-benchmarking'
206 - 'functest-{repo}-{container}-{tag}-rmi'
209 name: 'functest-opnfv-functest-vnf-rmi'
211 container: 'functest-vnf'
213 - 'functest-{repo}-{container}-{tag}-rmi'
216 name: 'functest-opnfv-functest-features-rmi'
218 container: 'functest-features'
220 - 'functest-{repo}-{container}-{tag}-rmi'
223 name: 'functest-{repo}-{container}-{tag}-{test}-run'
227 - functest-run-containers:
228 <<: *functest-run-containers
231 name: 'functest-opnfv-functest-healthcheck'
233 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
266 - 'functest-{repo}-{container}-{tag}-{test}-run'
269 name: 'functest-opnfv-functest-benchmarking'
271 container: 'functest-benchmarking'
278 - 'functest-{repo}-{container}-{tag}-{test}-run'
281 name: 'functest-opnfv-functest-vnf'
283 container: 'functest-vnf'
291 - 'functest-{repo}-{container}-{tag}-{test}-run'
294 name: 'functest-opnfv-functest-features'
296 container: 'functest-features'
298 - doctor-notification
304 - 'functest-{repo}-{container}-{tag}-{test}-run'
307 name: 'functest-{tag}-daily'
308 project-type: multijob
315 use-build-blocker: true
316 blocking-level: 'NODE'
318 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
321 name: remove former images
323 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
325 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
327 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
329 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
331 - name: 'functest-opnfv-functest-features-{tag}-rmi'
334 name: pull containers
336 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
338 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
340 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
342 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
344 - name: 'functest-opnfv-functest-features-{tag}-pull'
347 name: opnfv/functest-healthcheck:{tag}
349 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
351 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
353 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
355 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
357 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
359 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
361 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
365 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
371 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
374 name: opnfv/functest-smoke:{tag}
376 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
378 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
380 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
382 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
384 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
386 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
388 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
390 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
392 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
394 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
397 name: opnfv/functest-benchmarking:{tag}
399 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
401 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
403 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
405 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
408 name: opnfv/functest-vnf:{tag}
409 execution-type: SEQUENTIALLY
411 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
413 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
415 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
417 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
419 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
422 name: opnfv/functest-features:{tag}
424 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
426 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
428 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
430 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
432 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
436 name: 'functest-{repo}-{container}-{tag}-gate'
443 - functest-build-containers:
444 <<: *functest-build-containers
448 name: 'functest-{repo}-{container}-{tag}-check'
457 - functest-build-containers:
458 <<: *functest-build-containers
462 name: 'functest-_-alpine-3.9-rmi'
468 - 'functest-{repo}-{container}-{tag}-rmi'
471 name: 'functest-_-alpine-3.9-pull'
477 - 'functest-{repo}-{container}-{tag}-pull'
480 name: functest-opnfv-functest-core-{tag}-build
482 container: functest-core
486 - 'functest-{repo}-{container}-{tag}-gate'
487 - 'functest-{repo}-{container}-{tag}-check'
490 name: functest-opnfv-functest-tempest-{tag}-build
492 container: functest-tempest
496 - 'functest-{repo}-{container}-{tag}-gate'
497 - 'functest-{repo}-{container}-{tag}-check'
500 name: functest-opnfv-functest-healthcheck-{tag}-build
502 container: functest-healthcheck
504 path: docker/healthcheck
506 - 'functest-{repo}-{container}-{tag}-gate'
507 - 'functest-{repo}-{container}-{tag}-check'
510 name: functest-opnfv-functest-smoke-{tag}-build
512 container: functest-smoke
516 - 'functest-{repo}-{container}-{tag}-gate'
517 - 'functest-{repo}-{container}-{tag}-check'
520 name: functest-opnfv-functest-benchmarking-{tag}-build
522 container: functest-benchmarking
524 path: docker/benchmarking
526 - 'functest-{repo}-{container}-{tag}-gate'
527 - 'functest-{repo}-{container}-{tag}-check'
530 name: functest-opnfv-functest-vnf-{tag}-build
532 container: functest-vnf
536 - 'functest-{repo}-{container}-{tag}-gate'
537 - 'functest-{repo}-{container}-{tag}-check'
540 name: functest-opnfv-functest-features-{tag}-build
542 container: functest-features
544 path: docker/features
546 - 'functest-{repo}-{container}-{tag}-gate'
547 - 'functest-{repo}-{container}-{tag}-check'
550 name: 'functest-{tag}-check'
551 project-type: multijob
558 use-build-blocker: true
559 blocking-level: 'NODE'
561 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
564 name: remove former images
566 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
568 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
570 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
572 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
574 - name: 'functest-opnfv-functest-features-{tag}-rmi'
577 name: remove dependencies
579 - name: 'functest-_-alpine-3.9-rmi'
582 name: pull dependencies
584 - name: 'functest-_-alpine-3.9-pull'
587 name: build opnfv/functest-core
589 - name: 'functest-opnfv-functest-core-{tag}-check'
592 name: build opnfv/functest-tempest
594 - name: 'functest-opnfv-functest-tempest-{tag}-check'
597 name: build containers
599 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
601 - name: 'functest-opnfv-functest-smoke-{tag}-check'
603 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
605 - name: 'functest-opnfv-functest-vnf-{tag}-check'
607 - name: 'functest-opnfv-functest-features-{tag}-check'
610 name: opnfv/functest-healthcheck:{tag}
612 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
614 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
616 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
618 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
620 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
622 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
624 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
626 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
628 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
630 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
632 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
634 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
637 name: opnfv/functest-smoke:{tag}
639 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
641 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
643 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
645 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
647 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
649 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
651 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
653 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
655 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
657 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
660 name: opnfv/functest-benchmarking:{tag}
662 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
666 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
668 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
671 name: opnfv/functest-vnf:{tag}
672 execution-type: SEQUENTIALLY
674 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
676 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
678 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
680 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
682 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
685 name: opnfv/functest-features:{tag}
687 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
689 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
691 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
693 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
695 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
699 name: functest-patchset-created
702 server-name: 'gerrit.opnfv.org'
704 - patchset-created-event
705 - comment-added-contains-event:
706 comment-contains-value: 'recheck'
707 - comment-added-contains-event:
708 comment-contains-value: 'reverify'
710 - project-compare-type: 'ANT'
711 project-pattern: 'functest'
713 - branch-compare-type: 'ANT'
714 branch-pattern: '**/{branch}'
722 name: 'functest-{tag}-gate'
723 project-type: multijob
725 - functest-patchset-created:
731 use-build-blocker: true
732 blocking-level: 'NODE'
734 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
737 name: remove former images
739 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
741 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
743 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
745 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
747 - name: 'functest-opnfv-functest-features-{tag}-rmi'
750 name: remove dependencies
752 - name: 'functest-_-alpine-3.9-rmi'
755 name: pull dependencies
757 - name: 'functest-_-alpine-3.9-pull'
760 name: build opnfv/functest-core
762 - name: 'functest-opnfv-functest-core-{tag}-gate'
765 name: build opnfv/functest-tempest
767 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
770 name: build containers
772 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
774 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
776 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
778 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
780 - name: 'functest-opnfv-functest-features-{tag}-gate'
783 name: opnfv/functest-healthcheck:{tag}
785 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
787 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
789 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
791 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
793 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
795 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
797 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
799 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
801 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
803 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
805 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
807 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
810 name: opnfv/functest-smoke:{tag}
812 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
814 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
816 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
818 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
820 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
822 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
824 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
826 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
828 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
830 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
833 name: opnfv/functest-benchmarking:{tag}
835 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
837 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
839 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
841 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
844 name: opnfv/functest-vnf:{tag}
845 execution-type: SEQUENTIALLY
847 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
849 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
851 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
853 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
855 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
858 name: opnfv/functest-features:{tag}
860 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
862 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
864 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
866 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
868 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
875 - 'functest-{tag}-daily'
876 - 'functest-{tag}-check'
877 - 'functest-{tag}-gate'
889 regex: ^functest-[a-z]+-(daily|check|gate)$