2 - functest-jobs: &functest-jobs
4 current-parameters: true
6 - functest-params: &functest-params
7 name: 'functest-params'
14 dashboard_url: http://172.30.13.94
18 dashboard_url: http://172.30.13.89
22 dashboard_url: http://172.30.13.89
26 dashboard_url: http://172.30.13.91
42 - functest-containers: &functest-containers
43 name: 'functest-containers'
46 container: '{container}'
49 - functest-run-containers: &functest-run-containers
50 name: 'functest-build-containers'
51 <<: *functest-containers
53 dashboard_url: '{dashboard_url}'
55 - functest-build-containers: &functest-build-containers
56 name: 'functest-build-containers'
57 <<: *functest-containers
62 name: functest-pull-containers
66 if [ "{repo}" = "_" ]; then
67 image={container}:{tag}
68 elif [ "{port}" = "None" ]; then
69 image={repo}/{container}:{tag}
71 image={repo}:{port}/{container}:{tag}
73 sudo docker pull $image
76 name: functest-build-containers
80 if [ "{repo}" = "_" ]; then
81 image={container}:{tag}
82 elif [ "{port}" = "None" ]; then
83 image={repo}/{container}:{tag}
85 image={repo}:{port}/{container}:{tag}
87 if [ "{ref_arg}" = "None" ]; then
90 build_arg="--build-arg {ref_arg}={ref}"
93 sudo docker build $build_arg \
94 --pull=false --no-cache --force-rm=true \
98 name: functest-run-containers
102 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
103 if [ "{repo}" = "_" ]; then
104 image={container}:{tag}
105 elif [ "{port}" = "None" ]; then
106 image={repo}/{container}:{tag}
108 image={repo}:{port}/{container}:{tag}
110 if [ "{tag}" = "latest" ]; then
112 elif [ "{tag}" = "jerma" ]; then
114 elif [ "{tag}" = "iruya" ]; then
119 sudo docker run --rm \
120 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
122 -e EXTERNAL_NETWORK=public \
123 -e DASHBOARD_URL={dashboard_url} \
124 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
125 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID \
126 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID \
127 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
128 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
129 -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
130 site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
132 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
133 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
134 -v /home/opnfv/functest/.boto:/root/.boto \
135 $image run_tests -t {test} -p
138 name: functest-remove-images
142 if [ "{repo}" = "_" ]; then
143 image={container}:{tag}
144 elif [ "{port}" = "None" ]; then
145 image={repo}/{container}:{tag}
147 image={repo}:{port}/{container}:{tag}
149 sudo docker rmi $image || true
155 url: https://gerrit.opnfv.org/gerrit/functest
156 refspec: '+refs/changes/*:refs/changes/*'
161 name: 'functest-{repo}-{container}-{tag}-pull'
166 - functest-pull-containers:
167 <<: *functest-containers
170 name: 'functest-opnfv-functest-healthcheck-pull'
172 container: 'functest-healthcheck'
174 - 'functest-{repo}-{container}-{tag}-pull'
177 name: 'functest-opnfv-functest-smoke-pull'
179 container: 'functest-smoke'
181 - 'functest-{repo}-{container}-{tag}-pull'
184 name: 'functest-opnfv-functest-benchmarking-pull'
186 container: 'functest-benchmarking'
188 - 'functest-{repo}-{container}-{tag}-pull'
191 name: 'functest-opnfv-functest-vnf-pull'
193 container: 'functest-vnf'
195 - 'functest-{repo}-{container}-{tag}-pull'
198 name: 'functest-{repo}-{container}-{tag}-rmi'
203 - functest-remove-images:
204 <<: *functest-containers
207 name: 'functest-opnfv-functest-healthcheck-rmi'
209 container: 'functest-healthcheck'
211 - 'functest-{repo}-{container}-{tag}-rmi'
214 name: 'functest-opnfv-functest-smoke-rmi'
216 container: 'functest-smoke'
218 - 'functest-{repo}-{container}-{tag}-rmi'
221 name: 'functest-opnfv-functest-benchmarking-rmi'
223 container: 'functest-benchmarking'
225 - 'functest-{repo}-{container}-{tag}-rmi'
228 name: 'functest-opnfv-functest-vnf-rmi'
230 container: 'functest-vnf'
232 - 'functest-{repo}-{container}-{tag}-rmi'
235 name: 'functest-{repo}-{container}-{tag}-{test}-run'
240 - functest-run-containers:
241 <<: *functest-run-containers
244 name: 'functest-opnfv-functest-healthcheck'
246 container: 'functest-healthcheck'
263 test: tempest_horizon
265 - 'functest-{repo}-{container}-{tag}-{test}-run'
268 name: 'functest-opnfv-functest-smoke'
270 container: 'functest-smoke'
272 - neutron-tempest-plugin-api
291 test: refstack_defcore
293 test: refstack_defcore
295 test: refstack_defcore
299 test: refstack_compute
301 test: refstack_object
303 test: refstack_platform
309 test: tempest_keystone
313 - 'functest-{repo}-{container}-{tag}-{test}-run'
316 name: 'functest-opnfv-functest-benchmarking'
318 container: 'functest-benchmarking'
325 - 'functest-{repo}-{container}-{tag}-{test}-run'
328 name: 'functest-opnfv-functest-vnf'
330 container: 'functest-vnf'
338 - 'functest-{repo}-{container}-{tag}-{test}-run'
341 name: 'functest-{tag}-daily'
342 project-type: multijob
350 use-build-blocker: true
351 blocking-level: 'NODE'
353 - '^functest-{tag}-(daily|check|gate)$'
356 name: remove former images
358 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
360 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
362 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
364 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
367 name: pull containers
369 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
371 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
373 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
375 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
378 name: opnfv/functest-healthcheck:{tag}
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
382 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
384 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
386 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
388 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
390 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
392 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
394 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
396 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
398 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
400 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
402 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
404 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
407 name: opnfv/functest-smoke:{tag}
409 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
411 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
413 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
415 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
417 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
419 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
421 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
423 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
425 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
427 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
429 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
431 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
433 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
435 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
437 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
439 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
441 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
444 name: opnfv/functest-benchmarking:{tag}
446 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
448 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
450 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
452 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
455 name: opnfv/functest-vnf:{tag}
456 execution-type: SEQUENTIALLY
458 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
460 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
462 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
464 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
466 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
470 name: 'functest-{repo}-{container}-{tag}-gate'
478 - functest-build-containers:
479 <<: *functest-build-containers
483 name: 'functest-{repo}-{container}-{tag}-check'
493 - functest-build-containers:
494 <<: *functest-build-containers
498 name: 'functest-_-alpine-3.10-rmi'
505 - 'functest-{repo}-{container}-{tag}-rmi'
508 name: 'functest-_-alpine-3.10-pull'
515 - 'functest-{repo}-{container}-{tag}-pull'
518 name: functest-opnfv-functest-core-{tag}-build
520 container: functest-core
524 - 'functest-{repo}-{container}-{tag}-gate'
525 - 'functest-{repo}-{container}-{tag}-check'
528 name: functest-opnfv-functest-tempest-{tag}-build
530 container: functest-tempest
534 - 'functest-{repo}-{container}-{tag}-gate'
535 - 'functest-{repo}-{container}-{tag}-check'
541 name: functest-opnfv-functest-healthcheck-{tag}-build
543 container: functest-healthcheck
545 path: docker/healthcheck
547 - 'functest-{repo}-{container}-{tag}-gate'
548 - 'functest-{repo}-{container}-{tag}-check'
551 name: functest-opnfv-functest-smoke-{tag}-build
553 container: functest-smoke
557 - 'functest-{repo}-{container}-{tag}-gate'
558 - 'functest-{repo}-{container}-{tag}-check'
561 name: functest-opnfv-functest-benchmarking-{tag}-build
563 container: functest-benchmarking
565 path: docker/benchmarking
567 - 'functest-{repo}-{container}-{tag}-gate'
568 - 'functest-{repo}-{container}-{tag}-check'
571 name: functest-opnfv-functest-vnf-{tag}-build
573 container: functest-vnf
577 - 'functest-{repo}-{container}-{tag}-gate'
578 - 'functest-{repo}-{container}-{tag}-check'
581 name: 'functest-{tag}-check'
582 project-type: multijob
590 use-build-blocker: true
591 blocking-level: 'NODE'
593 - '^functest-{tag}-(daily|check|gate)$'
596 name: remove former images
598 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
600 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
602 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
604 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
607 name: remove dependencies
609 - name: 'functest-_-alpine-3.10-rmi'
612 name: pull dependencies
614 - name: 'functest-_-alpine-3.10-pull'
617 name: build opnfv/functest-core
619 - name: 'functest-opnfv-functest-core-{tag}-check'
622 name: build opnfv/functest-tempest
624 - name: 'functest-opnfv-functest-tempest-{tag}-check'
627 name: build containers
629 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
631 - name: 'functest-opnfv-functest-smoke-{tag}-check'
633 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
635 - name: 'functest-opnfv-functest-vnf-{tag}-check'
638 name: opnfv/functest-healthcheck:{tag}
640 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
642 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
644 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
646 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
648 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
650 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
652 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
654 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
656 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
658 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
660 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
662 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
664 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
667 name: opnfv/functest-smoke:{tag}
669 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
671 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
673 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
675 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
677 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
679 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
681 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
683 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
685 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
687 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
689 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
691 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
693 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
695 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
697 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
699 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
701 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
704 name: opnfv/functest-benchmarking:{tag}
706 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
708 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
710 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
712 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
715 name: opnfv/functest-vnf:{tag}
716 execution-type: SEQUENTIALLY
718 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
720 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
722 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
724 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
726 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
730 name: functest-patchset-created
733 server-name: 'gerrit.opnfv.org'
735 - patchset-created-event
736 - comment-added-contains-event:
737 comment-contains-value: 'recheck'
738 - comment-added-contains-event:
739 comment-contains-value: 'reverify'
741 - project-compare-type: 'ANT'
742 project-pattern: 'functest'
744 - branch-compare-type: 'ANT'
745 branch-pattern: '**/{branch}'
753 name: 'functest-{tag}-gate'
754 project-type: multijob
756 - functest-patchset-created:
763 use-build-blocker: true
764 blocking-level: 'NODE'
766 - '^functest-{tag}-(daily|check|gate)$'
769 name: remove former images
771 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
773 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
775 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
777 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
780 name: remove dependencies
782 - name: 'functest-_-alpine-3.10-rmi'
785 name: pull dependencies
787 - name: 'functest-_-alpine-3.10-pull'
790 name: build opnfv/functest-core
792 - name: 'functest-opnfv-functest-core-{tag}-gate'
795 name: build opnfv/functest-tempest
797 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
800 name: build containers
802 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
804 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
806 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
808 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
811 name: opnfv/functest-healthcheck:{tag}
813 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
815 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
817 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
819 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
821 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
823 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
825 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
827 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
829 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
831 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
833 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
835 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
837 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
840 name: opnfv/functest-smoke:{tag}
842 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
844 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
846 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
848 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
850 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
852 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
854 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
856 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
858 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
860 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
862 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
864 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
866 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
868 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
870 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
872 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
874 - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
877 name: opnfv/functest-benchmarking:{tag}
879 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
881 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
883 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
885 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
888 name: opnfv/functest-vnf:{tag}
889 execution-type: SEQUENTIALLY
891 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
893 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
895 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
897 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
899 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
906 - 'functest-{tag}-daily'
907 - 'functest-{tag}-check'
908 - 'functest-{tag}-gate'
920 regex: ^functest-[a-z]+-(daily|check|gate)$