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 sudo docker run --rm \
103 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
105 -e EXTERNAL_NETWORK=public \
106 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
107 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
108 $image run_tests -t {test}
110 gsutil -m cp -r $WORKSPACE/ \
111 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
112 find $WORKSPACE -type f \
114 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
118 name: functest-remove-images
122 if [ "{repo}" = "_" ]; then
123 image={container}:{tag}
124 elif [ "{port}" = "None" ]; then
125 image={repo}/{container}:{tag}
127 image={repo}:{port}/{container}:{tag}
129 sudo docker rmi $image || true
135 url: https://gerrit.opnfv.org/gerrit/functest
136 refspec: '+refs/changes/*:refs/changes/*'
141 name: 'functest-{repo}-{container}-{tag}-pull'
146 - functest-pull-containers:
147 <<: *functest-containers
150 name: 'functest-opnfv-functest-healthcheck-pull'
152 container: 'functest-healthcheck'
154 - 'functest-{repo}-{container}-{tag}-pull'
157 name: 'functest-opnfv-functest-smoke-pull'
159 container: 'functest-smoke'
161 - 'functest-{repo}-{container}-{tag}-pull'
164 name: 'functest-opnfv-functest-benchmarking-pull'
166 container: 'functest-benchmarking'
168 - 'functest-{repo}-{container}-{tag}-pull'
171 name: 'functest-opnfv-functest-vnf-pull'
173 container: 'functest-vnf'
175 - 'functest-{repo}-{container}-{tag}-pull'
178 name: 'functest-opnfv-functest-features-pull'
180 container: 'functest-features'
182 - 'functest-{repo}-{container}-{tag}-pull'
185 name: 'functest-{repo}-{container}-{tag}-rmi'
190 - functest-remove-images:
191 <<: *functest-containers
194 name: 'functest-opnfv-functest-healthcheck-rmi'
196 container: 'functest-healthcheck'
198 - 'functest-{repo}-{container}-{tag}-rmi'
201 name: 'functest-opnfv-functest-smoke-rmi'
203 container: 'functest-smoke'
205 - 'functest-{repo}-{container}-{tag}-rmi'
208 name: 'functest-opnfv-functest-benchmarking-rmi'
210 container: 'functest-benchmarking'
212 - 'functest-{repo}-{container}-{tag}-rmi'
215 name: 'functest-opnfv-functest-vnf-rmi'
217 container: 'functest-vnf'
219 - 'functest-{repo}-{container}-{tag}-rmi'
222 name: 'functest-opnfv-functest-features-rmi'
224 container: 'functest-features'
226 - 'functest-{repo}-{container}-{tag}-rmi'
229 name: 'functest-{repo}-{container}-{tag}-{test}-run'
234 - functest-run-containers:
235 <<: *functest-run-containers
238 name: 'functest-opnfv-functest-healthcheck'
240 container: 'functest-healthcheck'
255 - 'functest-{repo}-{container}-{tag}-{test}-run'
258 name: 'functest-opnfv-functest-smoke'
260 container: 'functest-smoke'
262 - neutron-tempest-plugin-api
273 - 'functest-{repo}-{container}-{tag}-{test}-run'
276 name: 'functest-opnfv-functest-benchmarking'
278 container: 'functest-benchmarking'
285 - 'functest-{repo}-{container}-{tag}-{test}-run'
288 name: 'functest-opnfv-functest-vnf'
290 container: 'functest-vnf'
298 - 'functest-{repo}-{container}-{tag}-{test}-run'
301 name: 'functest-opnfv-functest-features'
303 container: 'functest-features'
305 - doctor-notification
311 - 'functest-{repo}-{container}-{tag}-{test}-run'
314 name: 'functest-{tag}-daily'
315 project-type: multijob
323 use-build-blocker: true
324 blocking-level: 'NODE'
326 - '^functest-{tag}-(daily|check|gate)$'
329 name: remove former images
331 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
333 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
335 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
337 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
339 - name: 'functest-opnfv-functest-features-{tag}-rmi'
342 name: pull containers
344 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
346 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
348 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
350 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
352 - name: 'functest-opnfv-functest-features-{tag}-pull'
355 name: opnfv/functest-healthcheck:{tag}
357 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
359 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
361 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
363 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
365 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
371 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
373 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
375 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
377 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
379 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
382 name: opnfv/functest-smoke:{tag}
384 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
386 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
388 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
390 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
392 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
394 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-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}-functest-odl-sfc-run'
436 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
438 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
440 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
444 name: 'functest-{repo}-{container}-{tag}-gate'
452 - functest-build-containers:
453 <<: *functest-build-containers
457 name: 'functest-{repo}-{container}-{tag}-check'
467 - functest-build-containers:
468 <<: *functest-build-containers
472 name: 'functest-_-alpine-3.9-rmi'
479 - 'functest-{repo}-{container}-{tag}-rmi'
482 name: 'functest-_-alpine-3.9-pull'
489 - 'functest-{repo}-{container}-{tag}-pull'
492 name: functest-opnfv-functest-core-{tag}-build
494 container: functest-core
498 - 'functest-{repo}-{container}-{tag}-gate'
499 - 'functest-{repo}-{container}-{tag}-check'
502 name: functest-opnfv-functest-tempest-{tag}-build
504 container: functest-tempest
508 - 'functest-{repo}-{container}-{tag}-gate'
509 - 'functest-{repo}-{container}-{tag}-check'
512 name: functest-opnfv-functest-healthcheck-{tag}-build
514 container: functest-healthcheck
516 path: docker/healthcheck
518 - 'functest-{repo}-{container}-{tag}-gate'
519 - 'functest-{repo}-{container}-{tag}-check'
522 name: functest-opnfv-functest-smoke-{tag}-build
524 container: functest-smoke
528 - 'functest-{repo}-{container}-{tag}-gate'
529 - 'functest-{repo}-{container}-{tag}-check'
532 name: functest-opnfv-functest-benchmarking-{tag}-build
534 container: functest-benchmarking
536 path: docker/benchmarking
538 - 'functest-{repo}-{container}-{tag}-gate'
539 - 'functest-{repo}-{container}-{tag}-check'
542 name: functest-opnfv-functest-vnf-{tag}-build
544 container: functest-vnf
548 - 'functest-{repo}-{container}-{tag}-gate'
549 - 'functest-{repo}-{container}-{tag}-check'
552 name: functest-opnfv-functest-features-{tag}-build
554 container: functest-features
556 path: docker/features
558 - 'functest-{repo}-{container}-{tag}-gate'
559 - 'functest-{repo}-{container}-{tag}-check'
562 name: 'functest-{tag}-check'
563 project-type: multijob
571 use-build-blocker: true
572 blocking-level: 'NODE'
574 - '^functest-{tag}-(daily|check|gate)$'
577 name: remove former images
579 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
581 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
583 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
585 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
587 - name: 'functest-opnfv-functest-features-{tag}-rmi'
590 name: remove dependencies
592 - name: 'functest-_-alpine-3.9-rmi'
595 name: pull dependencies
597 - name: 'functest-_-alpine-3.9-pull'
600 name: build opnfv/functest-core
602 - name: 'functest-opnfv-functest-core-{tag}-check'
605 name: build opnfv/functest-tempest
607 - name: 'functest-opnfv-functest-tempest-{tag}-check'
610 name: build containers
612 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
614 - name: 'functest-opnfv-functest-smoke-{tag}-check'
616 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
618 - name: 'functest-opnfv-functest-vnf-{tag}-check'
620 - name: 'functest-opnfv-functest-features-{tag}-check'
623 name: opnfv/functest-healthcheck:{tag}
625 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
627 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
631 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
633 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
635 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
637 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
639 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
641 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
643 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
645 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
647 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
650 name: opnfv/functest-smoke:{tag}
652 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
654 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
656 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
658 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
660 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
662 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
664 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
666 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
668 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
670 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
673 name: opnfv/functest-benchmarking:{tag}
675 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
677 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
679 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
681 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
684 name: opnfv/functest-vnf:{tag}
685 execution-type: SEQUENTIALLY
687 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
689 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
691 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
693 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
695 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
698 name: opnfv/functest-features:{tag}
700 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
702 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
704 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
706 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
708 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
712 name: functest-patchset-created
715 server-name: 'gerrit.opnfv.org'
717 - patchset-created-event
718 - comment-added-contains-event:
719 comment-contains-value: 'recheck'
720 - comment-added-contains-event:
721 comment-contains-value: 'reverify'
723 - project-compare-type: 'ANT'
724 project-pattern: 'functest'
726 - branch-compare-type: 'ANT'
727 branch-pattern: '**/{branch}'
735 name: 'functest-{tag}-gate'
736 project-type: multijob
738 - functest-patchset-created:
745 use-build-blocker: true
746 blocking-level: 'NODE'
748 - '^functest-{tag}-(daily|check|gate)$'
751 name: remove former images
753 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
755 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
757 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
759 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
761 - name: 'functest-opnfv-functest-features-{tag}-rmi'
764 name: remove dependencies
766 - name: 'functest-_-alpine-3.9-rmi'
769 name: pull dependencies
771 - name: 'functest-_-alpine-3.9-pull'
774 name: build opnfv/functest-core
776 - name: 'functest-opnfv-functest-core-{tag}-gate'
779 name: build opnfv/functest-tempest
781 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
784 name: build containers
786 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
788 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
790 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
792 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
794 - name: 'functest-opnfv-functest-features-{tag}-gate'
797 name: opnfv/functest-healthcheck:{tag}
799 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
801 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
803 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
805 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
807 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
809 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
811 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
813 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
815 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
817 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
819 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
821 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
824 name: opnfv/functest-smoke:{tag}
826 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
828 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
830 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
832 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
834 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
836 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
838 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
840 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
842 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
844 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
847 name: opnfv/functest-benchmarking:{tag}
849 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
851 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
853 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
855 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
858 name: opnfv/functest-vnf:{tag}
859 execution-type: SEQUENTIALLY
861 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
863 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
865 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
867 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
869 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
872 name: opnfv/functest-features:{tag}
874 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
876 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
878 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
880 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
882 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
889 - 'functest-{tag}-daily'
890 - 'functest-{tag}-check'
891 - 'functest-{tag}-gate'
903 regex: ^functest-[a-z]+-(daily|check|gate)$