2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
38 - functest-containers: &functest-containers
39 name: 'functest-containers'
42 container: '{container}'
45 - functest-run-containers: &functest-run-containers
46 name: 'functest-build-containers'
47 <<: *functest-containers
50 - functest-build-containers: &functest-build-containers
51 name: 'functest-build-containers'
52 <<: *functest-containers
57 name: functest-pull-containers
61 if [ "{repo}" = "_" ]; then
62 image={container}:{tag}
63 elif [ "{port}" = "None" ]; then
64 image={repo}/{container}:{tag}
66 image={repo}:{port}/{container}:{tag}
68 sudo docker pull $image
71 name: functest-build-containers
75 if [ "{repo}" = "_" ]; then
76 image={container}:{tag}
77 elif [ "{port}" = "None" ]; then
78 image={repo}/{container}:{tag}
80 image={repo}:{port}/{container}:{tag}
82 if [ "{ref_arg}" = "None" ]; then
85 build_arg="--build-arg {ref_arg}={ref}"
88 sudo docker build $build_arg \
89 --pull=false --no-cache --force-rm=true \
93 name: functest-run-containers
97 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
98 if [ "{repo}" = "_" ]; then
99 image={container}:{tag}
100 elif [ "{port}" = "None" ]; then
101 image={repo}/{container}:{tag}
103 image={repo}:{port}/{container}:{tag}
105 if [ "{tag}" = "latest" ]; then
107 elif [ "{tag}" = "jerma" ]; then
109 elif [ "{tag}" = "iruya" ]; then
114 sudo docker run --rm \
115 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
117 -e EXTERNAL_NETWORK=public \
118 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
119 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
120 -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
121 site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
123 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
124 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
125 $image run_tests -t {test}
127 gsutil -m cp -r $WORKSPACE/ \
128 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
129 find $WORKSPACE -type f \
131 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
135 name: functest-remove-images
139 if [ "{repo}" = "_" ]; then
140 image={container}:{tag}
141 elif [ "{port}" = "None" ]; then
142 image={repo}/{container}:{tag}
144 image={repo}:{port}/{container}:{tag}
146 sudo docker rmi $image || true
152 url: https://gerrit.opnfv.org/gerrit/functest
153 refspec: '+refs/changes/*:refs/changes/*'
158 name: 'functest-{repo}-{container}-{tag}-pull'
163 - functest-pull-containers:
164 <<: *functest-containers
167 name: 'functest-opnfv-functest-healthcheck-pull'
169 container: 'functest-healthcheck'
171 - 'functest-{repo}-{container}-{tag}-pull'
174 name: 'functest-opnfv-functest-smoke-pull'
176 container: 'functest-smoke'
178 - 'functest-{repo}-{container}-{tag}-pull'
181 name: 'functest-opnfv-functest-benchmarking-pull'
183 container: 'functest-benchmarking'
185 - 'functest-{repo}-{container}-{tag}-pull'
188 name: 'functest-opnfv-functest-vnf-pull'
190 container: 'functest-vnf'
192 - 'functest-{repo}-{container}-{tag}-pull'
195 name: 'functest-{repo}-{container}-{tag}-rmi'
200 - functest-remove-images:
201 <<: *functest-containers
204 name: 'functest-opnfv-functest-healthcheck-rmi'
206 container: 'functest-healthcheck'
208 - 'functest-{repo}-{container}-{tag}-rmi'
211 name: 'functest-opnfv-functest-smoke-rmi'
213 container: 'functest-smoke'
215 - 'functest-{repo}-{container}-{tag}-rmi'
218 name: 'functest-opnfv-functest-benchmarking-rmi'
220 container: 'functest-benchmarking'
222 - 'functest-{repo}-{container}-{tag}-rmi'
225 name: 'functest-opnfv-functest-vnf-rmi'
227 container: 'functest-vnf'
229 - 'functest-{repo}-{container}-{tag}-rmi'
232 name: 'functest-{repo}-{container}-{tag}-{test}-run'
237 - functest-run-containers:
238 <<: *functest-run-containers
241 name: 'functest-opnfv-functest-healthcheck'
243 container: 'functest-healthcheck'
258 - 'functest-{repo}-{container}-{tag}-{test}-run'
261 name: 'functest-opnfv-functest-smoke'
263 container: 'functest-smoke'
265 - neutron-tempest-plugin-api
282 test: refstack_defcore
284 test: refstack_defcore
286 test: refstack_defcore
290 test: refstack_compute
292 test: refstack_object
294 test: refstack_platform
300 - 'functest-{repo}-{container}-{tag}-{test}-run'
303 name: 'functest-opnfv-functest-benchmarking'
305 container: 'functest-benchmarking'
312 - 'functest-{repo}-{container}-{tag}-{test}-run'
315 name: 'functest-opnfv-functest-vnf'
317 container: 'functest-vnf'
325 - 'functest-{repo}-{container}-{tag}-{test}-run'
328 name: 'functest-{tag}-daily'
329 project-type: multijob
337 use-build-blocker: true
338 blocking-level: 'NODE'
340 - '^functest-{tag}-(daily|check|gate)$'
343 name: remove former images
345 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
347 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
349 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
351 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
354 name: pull containers
356 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
358 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
360 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
362 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
365 name: opnfv/functest-healthcheck:{tag}
367 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
371 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
373 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
375 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
377 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
379 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
381 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
383 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
385 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
387 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
389 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
392 name: opnfv/functest-smoke:{tag}
394 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
396 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
398 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
400 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
402 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
404 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
406 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
408 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
410 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
412 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
414 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
416 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
418 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
420 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
422 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
425 name: opnfv/functest-benchmarking:{tag}
427 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
429 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
431 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
433 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
436 name: opnfv/functest-vnf:{tag}
437 execution-type: SEQUENTIALLY
439 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
441 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
443 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
445 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
447 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
451 name: 'functest-{repo}-{container}-{tag}-gate'
459 - functest-build-containers:
460 <<: *functest-build-containers
464 name: 'functest-{repo}-{container}-{tag}-check'
474 - functest-build-containers:
475 <<: *functest-build-containers
479 name: 'functest-_-alpine-3.10-rmi'
486 - 'functest-{repo}-{container}-{tag}-rmi'
489 name: 'functest-_-alpine-3.10-pull'
496 - 'functest-{repo}-{container}-{tag}-pull'
499 name: functest-opnfv-functest-core-{tag}-build
501 container: functest-core
505 - 'functest-{repo}-{container}-{tag}-gate'
506 - 'functest-{repo}-{container}-{tag}-check'
509 name: functest-opnfv-functest-tempest-{tag}-build
511 container: functest-tempest
515 - 'functest-{repo}-{container}-{tag}-gate'
516 - 'functest-{repo}-{container}-{tag}-check'
522 name: functest-opnfv-functest-healthcheck-{tag}-build
524 container: functest-healthcheck
526 path: docker/healthcheck
528 - 'functest-{repo}-{container}-{tag}-gate'
529 - 'functest-{repo}-{container}-{tag}-check'
532 name: functest-opnfv-functest-smoke-{tag}-build
534 container: functest-smoke
538 - 'functest-{repo}-{container}-{tag}-gate'
539 - 'functest-{repo}-{container}-{tag}-check'
542 name: functest-opnfv-functest-benchmarking-{tag}-build
544 container: functest-benchmarking
546 path: docker/benchmarking
548 - 'functest-{repo}-{container}-{tag}-gate'
549 - 'functest-{repo}-{container}-{tag}-check'
552 name: functest-opnfv-functest-vnf-{tag}-build
554 container: functest-vnf
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'
588 name: remove dependencies
590 - name: 'functest-_-alpine-3.10-rmi'
593 name: pull dependencies
595 - name: 'functest-_-alpine-3.10-pull'
598 name: build opnfv/functest-core
600 - name: 'functest-opnfv-functest-core-{tag}-check'
603 name: build opnfv/functest-tempest
605 - name: 'functest-opnfv-functest-tempest-{tag}-check'
608 name: build containers
610 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
612 - name: 'functest-opnfv-functest-smoke-{tag}-check'
614 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
616 - name: 'functest-opnfv-functest-vnf-{tag}-check'
619 name: opnfv/functest-healthcheck:{tag}
621 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
623 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
625 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
627 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
631 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
633 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
635 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
637 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
639 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
641 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
643 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
646 name: opnfv/functest-smoke:{tag}
648 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
650 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
652 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
654 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
656 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
658 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
660 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
662 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
664 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
666 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
668 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
670 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
672 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
674 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
676 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
679 name: opnfv/functest-benchmarking:{tag}
681 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
683 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
685 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
687 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
690 name: opnfv/functest-vnf:{tag}
691 execution-type: SEQUENTIALLY
693 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
695 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
697 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
699 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
701 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
705 name: functest-patchset-created
708 server-name: 'gerrit.opnfv.org'
710 - patchset-created-event
711 - comment-added-contains-event:
712 comment-contains-value: 'recheck'
713 - comment-added-contains-event:
714 comment-contains-value: 'reverify'
716 - project-compare-type: 'ANT'
717 project-pattern: 'functest'
719 - branch-compare-type: 'ANT'
720 branch-pattern: '**/{branch}'
728 name: 'functest-{tag}-gate'
729 project-type: multijob
731 - functest-patchset-created:
738 use-build-blocker: true
739 blocking-level: 'NODE'
741 - '^functest-{tag}-(daily|check|gate)$'
744 name: remove former images
746 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
748 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
750 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
752 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
755 name: remove dependencies
757 - name: 'functest-_-alpine-3.10-rmi'
760 name: pull dependencies
762 - name: 'functest-_-alpine-3.10-pull'
765 name: build opnfv/functest-core
767 - name: 'functest-opnfv-functest-core-{tag}-gate'
770 name: build opnfv/functest-tempest
772 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
775 name: build containers
777 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
779 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
781 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
783 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
786 name: opnfv/functest-healthcheck:{tag}
788 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
790 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
792 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
794 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
796 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
798 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
800 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
802 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
804 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
806 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
808 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
810 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
813 name: opnfv/functest-smoke:{tag}
815 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
817 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
819 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
821 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
823 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
825 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
827 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
829 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
831 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
833 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
835 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
837 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
839 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
841 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
843 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
846 name: opnfv/functest-benchmarking:{tag}
848 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
850 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
852 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
854 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
857 name: opnfv/functest-vnf:{tag}
858 execution-type: SEQUENTIALLY
860 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
862 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
864 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
866 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
868 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
875 - 'functest-{tag}-daily'
876 - 'functest-{tag}-check'
877 - 'functest-{tag}-gate'
889 regex: ^functest-[a-z]+-(daily|check|gate)$