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}
408 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
410 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
412 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
414 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
416 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
419 name: opnfv/functest-features:{tag}
421 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
423 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
425 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
427 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
429 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
433 name: 'functest-{repo}-{container}-{tag}-gate'
440 - functest-build-containers:
441 <<: *functest-build-containers
445 name: 'functest-{repo}-{container}-{tag}-check'
454 - functest-build-containers:
455 <<: *functest-build-containers
459 name: 'functest-_-alpine-3.9-rmi'
465 - 'functest-{repo}-{container}-{tag}-rmi'
468 name: 'functest-_-alpine-3.9-pull'
474 - 'functest-{repo}-{container}-{tag}-pull'
477 name: functest-opnfv-functest-core-{tag}-build
479 container: functest-core
483 - 'functest-{repo}-{container}-{tag}-gate'
484 - 'functest-{repo}-{container}-{tag}-check'
487 name: functest-opnfv-functest-tempest-{tag}-build
489 container: functest-tempest
493 - 'functest-{repo}-{container}-{tag}-gate'
494 - 'functest-{repo}-{container}-{tag}-check'
497 name: functest-opnfv-functest-healthcheck-{tag}-build
499 container: functest-healthcheck
501 path: docker/healthcheck
503 - 'functest-{repo}-{container}-{tag}-gate'
504 - 'functest-{repo}-{container}-{tag}-check'
507 name: functest-opnfv-functest-smoke-{tag}-build
509 container: functest-smoke
513 - 'functest-{repo}-{container}-{tag}-gate'
514 - 'functest-{repo}-{container}-{tag}-check'
517 name: functest-opnfv-functest-benchmarking-{tag}-build
519 container: functest-benchmarking
521 path: docker/benchmarking
523 - 'functest-{repo}-{container}-{tag}-gate'
524 - 'functest-{repo}-{container}-{tag}-check'
527 name: functest-opnfv-functest-vnf-{tag}-build
529 container: functest-vnf
533 - 'functest-{repo}-{container}-{tag}-gate'
534 - 'functest-{repo}-{container}-{tag}-check'
537 name: functest-opnfv-functest-features-{tag}-build
539 container: functest-features
541 path: docker/features
543 - 'functest-{repo}-{container}-{tag}-gate'
544 - 'functest-{repo}-{container}-{tag}-check'
547 name: 'functest-{tag}-check'
548 project-type: multijob
555 use-build-blocker: true
556 blocking-level: 'NODE'
558 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
561 name: remove former images
563 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
565 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
567 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
569 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
571 - name: 'functest-opnfv-functest-features-{tag}-rmi'
574 name: remove dependencies
576 - name: 'functest-_-alpine-3.9-rmi'
579 name: pull dependencies
581 - name: 'functest-_-alpine-3.9-pull'
584 name: build opnfv/functest-core
586 - name: 'functest-opnfv-functest-core-{tag}-check'
589 name: build opnfv/functest-tempest
591 - name: 'functest-opnfv-functest-tempest-{tag}-check'
594 name: build containers
596 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
598 - name: 'functest-opnfv-functest-smoke-{tag}-check'
600 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
602 - name: 'functest-opnfv-functest-vnf-{tag}-check'
604 - name: 'functest-opnfv-functest-features-{tag}-check'
607 name: opnfv/functest-healthcheck:{tag}
609 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
611 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
613 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
615 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
617 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
619 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
621 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
623 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
625 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
627 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
631 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
634 name: opnfv/functest-smoke:{tag}
636 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
638 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
640 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
642 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
644 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
646 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
648 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
650 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
652 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
654 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
657 name: opnfv/functest-benchmarking:{tag}
659 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
661 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
663 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
665 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
668 name: opnfv/functest-vnf:{tag}
670 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
672 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
674 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
676 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
678 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
681 name: opnfv/functest-features:{tag}
683 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
685 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
687 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
689 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
691 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-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:
727 use-build-blocker: true
728 blocking-level: 'NODE'
730 - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
733 name: remove former images
735 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
737 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
739 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
741 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
743 - name: 'functest-opnfv-functest-features-{tag}-rmi'
746 name: remove dependencies
748 - name: 'functest-_-alpine-3.9-rmi'
751 name: pull dependencies
753 - name: 'functest-_-alpine-3.9-pull'
756 name: build opnfv/functest-core
758 - name: 'functest-opnfv-functest-core-{tag}-gate'
761 name: build opnfv/functest-tempest
763 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
766 name: build containers
768 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
770 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
772 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
774 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
776 - name: 'functest-opnfv-functest-features-{tag}-gate'
779 name: opnfv/functest-healthcheck:{tag}
781 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
783 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
785 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
787 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
789 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
791 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
793 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
795 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
797 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
799 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
801 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
803 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
806 name: opnfv/functest-smoke:{tag}
808 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
810 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
812 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
814 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
816 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
818 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
820 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
822 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
824 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
826 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
829 name: opnfv/functest-benchmarking:{tag}
831 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
833 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
835 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
837 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
840 name: opnfv/functest-vnf:{tag}
842 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
844 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
846 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
848 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
850 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
853 name: opnfv/functest-features:{tag}
855 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
857 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
859 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
861 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
863 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
870 - 'functest-{tag}-daily'
871 - 'functest-{tag}-check'
872 - 'functest-{tag}-gate'
884 regex: ^functest-[a-z]+-(daily|check|gate)$