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 if [ "{tag}" = "latest" ]; then
107 sudo docker run --rm \
108 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
110 -e EXTERNAL_NETWORK=public \
111 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
112 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
113 -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
114 site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
116 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
117 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
118 $image run_tests -t {test}
120 gsutil -m cp -r $WORKSPACE/ \
121 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
122 find $WORKSPACE -type f \
124 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
128 name: functest-remove-images
132 if [ "{repo}" = "_" ]; then
133 image={container}:{tag}
134 elif [ "{port}" = "None" ]; then
135 image={repo}/{container}:{tag}
137 image={repo}:{port}/{container}:{tag}
139 sudo docker rmi $image || true
145 url: https://gerrit.opnfv.org/gerrit/functest
146 refspec: '+refs/changes/*:refs/changes/*'
151 name: 'functest-{repo}-{container}-{tag}-pull'
156 - functest-pull-containers:
157 <<: *functest-containers
160 name: 'functest-opnfv-functest-healthcheck-pull'
162 container: 'functest-healthcheck'
164 - 'functest-{repo}-{container}-{tag}-pull'
167 name: 'functest-opnfv-functest-smoke-pull'
169 container: 'functest-smoke'
171 - 'functest-{repo}-{container}-{tag}-pull'
174 name: 'functest-opnfv-functest-benchmarking-pull'
176 container: 'functest-benchmarking'
178 - 'functest-{repo}-{container}-{tag}-pull'
181 name: 'functest-opnfv-functest-vnf-pull'
183 container: 'functest-vnf'
185 - 'functest-{repo}-{container}-{tag}-pull'
188 name: 'functest-{repo}-{container}-{tag}-rmi'
193 - functest-remove-images:
194 <<: *functest-containers
197 name: 'functest-opnfv-functest-healthcheck-rmi'
199 container: 'functest-healthcheck'
201 - 'functest-{repo}-{container}-{tag}-rmi'
204 name: 'functest-opnfv-functest-smoke-rmi'
206 container: 'functest-smoke'
208 - 'functest-{repo}-{container}-{tag}-rmi'
211 name: 'functest-opnfv-functest-benchmarking-rmi'
213 container: 'functest-benchmarking'
215 - 'functest-{repo}-{container}-{tag}-rmi'
218 name: 'functest-opnfv-functest-vnf-rmi'
220 container: 'functest-vnf'
222 - 'functest-{repo}-{container}-{tag}-rmi'
225 name: 'functest-{repo}-{container}-{tag}-{test}-run'
230 - functest-run-containers:
231 <<: *functest-run-containers
234 name: 'functest-opnfv-functest-healthcheck'
236 container: 'functest-healthcheck'
251 - 'functest-{repo}-{container}-{tag}-{test}-run'
254 name: 'functest-opnfv-functest-smoke'
256 container: 'functest-smoke'
258 - neutron-tempest-plugin-api
275 test: refstack_defcore
277 test: refstack_defcore
281 test: refstack_compute
283 test: refstack_object
285 test: refstack_platform
291 - 'functest-{repo}-{container}-{tag}-{test}-run'
294 name: 'functest-opnfv-functest-benchmarking'
296 container: 'functest-benchmarking'
303 - 'functest-{repo}-{container}-{tag}-{test}-run'
306 name: 'functest-opnfv-functest-vnf'
308 container: 'functest-vnf'
316 - 'functest-{repo}-{container}-{tag}-{test}-run'
319 name: 'functest-{tag}-daily'
320 project-type: multijob
328 use-build-blocker: true
329 blocking-level: 'NODE'
331 - '^functest-{tag}-(daily|check|gate)$'
334 name: remove former images
336 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
338 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
340 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
342 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
345 name: pull containers
347 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
349 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
351 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
353 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
356 name: opnfv/functest-healthcheck:{tag}
358 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
360 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
362 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
364 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
366 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
368 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
370 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
372 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
374 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
376 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
378 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
383 name: opnfv/functest-smoke:{tag}
385 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
387 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
389 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
391 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
393 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
395 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
397 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
399 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
401 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
403 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
405 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
407 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
409 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
411 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
413 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
416 name: opnfv/functest-benchmarking:{tag}
418 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
420 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
422 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
424 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
427 name: opnfv/functest-vnf:{tag}
428 execution-type: SEQUENTIALLY
430 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
432 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
434 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
436 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
438 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
442 name: 'functest-{repo}-{container}-{tag}-gate'
450 - functest-build-containers:
451 <<: *functest-build-containers
455 name: 'functest-{repo}-{container}-{tag}-check'
465 - functest-build-containers:
466 <<: *functest-build-containers
470 name: 'functest-_-alpine-3.10-rmi'
477 - 'functest-{repo}-{container}-{tag}-rmi'
480 name: 'functest-_-alpine-3.10-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'
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-{tag}-check'
553 project-type: multijob
561 use-build-blocker: true
562 blocking-level: 'NODE'
564 - '^functest-{tag}-(daily|check|gate)$'
567 name: remove former images
569 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
571 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
573 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
575 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
578 name: remove dependencies
580 - name: 'functest-_-alpine-3.10-rmi'
583 name: pull dependencies
585 - name: 'functest-_-alpine-3.10-pull'
588 name: build opnfv/functest-core
590 - name: 'functest-opnfv-functest-core-{tag}-check'
593 name: build opnfv/functest-tempest
595 - name: 'functest-opnfv-functest-tempest-{tag}-check'
598 name: build containers
600 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
602 - name: 'functest-opnfv-functest-smoke-{tag}-check'
604 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
606 - name: 'functest-opnfv-functest-vnf-{tag}-check'
609 name: opnfv/functest-healthcheck:{tag}
611 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
613 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
615 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
617 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
619 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
621 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
623 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
625 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
627 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
631 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
633 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
636 name: opnfv/functest-smoke:{tag}
638 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
640 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
642 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
644 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
646 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
648 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
650 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
652 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
654 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
656 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
658 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
660 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
662 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
664 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
666 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
669 name: opnfv/functest-benchmarking:{tag}
671 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
673 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
675 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
677 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
680 name: opnfv/functest-vnf:{tag}
681 execution-type: SEQUENTIALLY
683 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
685 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
687 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
689 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
691 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
695 name: functest-patchset-created
698 server-name: 'gerrit.opnfv.org'
700 - patchset-created-event
701 - comment-added-contains-event:
702 comment-contains-value: 'recheck'
703 - comment-added-contains-event:
704 comment-contains-value: 'reverify'
706 - project-compare-type: 'ANT'
707 project-pattern: 'functest'
709 - branch-compare-type: 'ANT'
710 branch-pattern: '**/{branch}'
718 name: 'functest-{tag}-gate'
719 project-type: multijob
721 - functest-patchset-created:
728 use-build-blocker: true
729 blocking-level: 'NODE'
731 - '^functest-{tag}-(daily|check|gate)$'
734 name: remove former images
736 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
738 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
740 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
742 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
745 name: remove dependencies
747 - name: 'functest-_-alpine-3.10-rmi'
750 name: pull dependencies
752 - name: 'functest-_-alpine-3.10-pull'
755 name: build opnfv/functest-core
757 - name: 'functest-opnfv-functest-core-{tag}-gate'
760 name: build opnfv/functest-tempest
762 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
765 name: build containers
767 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
769 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
771 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
773 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
776 name: opnfv/functest-healthcheck:{tag}
778 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
780 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
782 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
784 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
786 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
788 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
790 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
792 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
794 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
796 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
798 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
800 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
803 name: opnfv/functest-smoke:{tag}
805 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
807 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
809 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
811 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
813 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
815 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
817 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
819 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
821 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
823 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
825 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
827 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
829 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
831 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
833 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
836 name: opnfv/functest-benchmarking:{tag}
838 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
840 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
842 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
844 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
847 name: opnfv/functest-vnf:{tag}
848 execution-type: SEQUENTIALLY
850 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
852 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
854 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
856 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
858 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
865 - 'functest-{tag}-daily'
866 - 'functest-{tag}-check'
867 - 'functest-{tag}-gate'
879 regex: ^functest-[a-z]+-(daily|check|gate)$