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 \
107 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
108 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
109 -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python2.7/\
110 site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
111 $image run_tests -t {test}
113 gsutil -m cp -r $WORKSPACE/ \
114 gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
115 find $WORKSPACE -type f \
117 "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
121 name: functest-remove-images
125 if [ "{repo}" = "_" ]; then
126 image={container}:{tag}
127 elif [ "{port}" = "None" ]; then
128 image={repo}/{container}:{tag}
130 image={repo}:{port}/{container}:{tag}
132 sudo docker rmi $image || true
138 url: https://gerrit.opnfv.org/gerrit/functest
139 refspec: '+refs/changes/*:refs/changes/*'
144 name: 'functest-{repo}-{container}-{tag}-pull'
149 - functest-pull-containers:
150 <<: *functest-containers
153 name: 'functest-opnfv-functest-healthcheck-pull'
155 container: 'functest-healthcheck'
157 - 'functest-{repo}-{container}-{tag}-pull'
160 name: 'functest-opnfv-functest-smoke-pull'
162 container: 'functest-smoke'
164 - 'functest-{repo}-{container}-{tag}-pull'
167 name: 'functest-opnfv-functest-benchmarking-pull'
169 container: 'functest-benchmarking'
171 - 'functest-{repo}-{container}-{tag}-pull'
174 name: 'functest-opnfv-functest-vnf-pull'
176 container: 'functest-vnf'
178 - 'functest-{repo}-{container}-{tag}-pull'
181 name: 'functest-opnfv-functest-features-pull'
183 container: 'functest-features'
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-opnfv-functest-features-rmi'
227 container: 'functest-features'
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
276 - 'functest-{repo}-{container}-{tag}-{test}-run'
279 name: 'functest-opnfv-functest-benchmarking'
281 container: 'functest-benchmarking'
288 - 'functest-{repo}-{container}-{tag}-{test}-run'
291 name: 'functest-opnfv-functest-vnf'
293 container: 'functest-vnf'
301 - 'functest-{repo}-{container}-{tag}-{test}-run'
304 name: 'functest-opnfv-functest-features'
306 container: 'functest-features'
308 - doctor-notification
314 - 'functest-{repo}-{container}-{tag}-{test}-run'
317 name: 'functest-{tag}-daily'
318 project-type: multijob
326 use-build-blocker: true
327 blocking-level: 'NODE'
329 - '^functest-{tag}-(daily|check|gate)$'
332 name: remove former images
334 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
336 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
338 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
340 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
342 - name: 'functest-opnfv-functest-features-{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'
355 - name: 'functest-opnfv-functest-features-{tag}-pull'
358 name: opnfv/functest-healthcheck:{tag}
360 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
362 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
364 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
366 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
368 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
370 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
372 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
374 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
376 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
378 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
380 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
382 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
385 name: opnfv/functest-smoke:{tag}
387 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
389 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
391 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
393 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
395 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
397 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
399 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
401 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
403 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
405 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
408 name: opnfv/functest-benchmarking:{tag}
410 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
412 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
414 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
416 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
419 name: opnfv/functest-vnf:{tag}
420 execution-type: SEQUENTIALLY
422 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
424 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
426 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
428 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
430 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
433 name: opnfv/functest-features:{tag}
435 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
437 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
439 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
441 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
443 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
447 name: 'functest-{repo}-{container}-{tag}-gate'
455 - functest-build-containers:
456 <<: *functest-build-containers
460 name: 'functest-{repo}-{container}-{tag}-check'
470 - functest-build-containers:
471 <<: *functest-build-containers
475 name: 'functest-_-alpine-3.9-rmi'
482 - 'functest-{repo}-{container}-{tag}-rmi'
485 name: 'functest-_-alpine-3.9-pull'
492 - 'functest-{repo}-{container}-{tag}-pull'
495 name: functest-opnfv-functest-core-{tag}-build
497 container: functest-core
501 - 'functest-{repo}-{container}-{tag}-gate'
502 - 'functest-{repo}-{container}-{tag}-check'
505 name: functest-opnfv-functest-tempest-{tag}-build
507 container: functest-tempest
511 - 'functest-{repo}-{container}-{tag}-gate'
512 - 'functest-{repo}-{container}-{tag}-check'
515 name: functest-opnfv-functest-healthcheck-{tag}-build
517 container: functest-healthcheck
519 path: docker/healthcheck
521 - 'functest-{repo}-{container}-{tag}-gate'
522 - 'functest-{repo}-{container}-{tag}-check'
525 name: functest-opnfv-functest-smoke-{tag}-build
527 container: functest-smoke
531 - 'functest-{repo}-{container}-{tag}-gate'
532 - 'functest-{repo}-{container}-{tag}-check'
535 name: functest-opnfv-functest-benchmarking-{tag}-build
537 container: functest-benchmarking
539 path: docker/benchmarking
541 - 'functest-{repo}-{container}-{tag}-gate'
542 - 'functest-{repo}-{container}-{tag}-check'
545 name: functest-opnfv-functest-vnf-{tag}-build
547 container: functest-vnf
551 - 'functest-{repo}-{container}-{tag}-gate'
552 - 'functest-{repo}-{container}-{tag}-check'
555 name: functest-opnfv-functest-features-{tag}-build
557 container: functest-features
559 path: docker/features
561 - 'functest-{repo}-{container}-{tag}-gate'
562 - 'functest-{repo}-{container}-{tag}-check'
565 name: 'functest-{tag}-check'
566 project-type: multijob
574 use-build-blocker: true
575 blocking-level: 'NODE'
577 - '^functest-{tag}-(daily|check|gate)$'
580 name: remove former images
582 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
584 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
586 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
588 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
590 - name: 'functest-opnfv-functest-features-{tag}-rmi'
593 name: remove dependencies
595 - name: 'functest-_-alpine-3.9-rmi'
598 name: pull dependencies
600 - name: 'functest-_-alpine-3.9-pull'
603 name: build opnfv/functest-core
605 - name: 'functest-opnfv-functest-core-{tag}-check'
608 name: build opnfv/functest-tempest
610 - name: 'functest-opnfv-functest-tempest-{tag}-check'
613 name: build containers
615 - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
617 - name: 'functest-opnfv-functest-smoke-{tag}-check'
619 - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
621 - name: 'functest-opnfv-functest-vnf-{tag}-check'
623 - name: 'functest-opnfv-functest-features-{tag}-check'
626 name: opnfv/functest-healthcheck:{tag}
628 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
630 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
632 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
634 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
636 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
638 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
640 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
642 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
644 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
646 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
648 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
650 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
653 name: opnfv/functest-smoke:{tag}
655 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
657 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
659 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
661 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
663 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
665 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
667 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
669 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
671 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
673 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
676 name: opnfv/functest-benchmarking:{tag}
678 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
680 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
682 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
684 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
687 name: opnfv/functest-vnf:{tag}
688 execution-type: SEQUENTIALLY
690 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
692 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
694 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
696 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
698 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
701 name: opnfv/functest-features:{tag}
703 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
705 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
707 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
709 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
711 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
715 name: functest-patchset-created
718 server-name: 'gerrit.opnfv.org'
720 - patchset-created-event
721 - comment-added-contains-event:
722 comment-contains-value: 'recheck'
723 - comment-added-contains-event:
724 comment-contains-value: 'reverify'
726 - project-compare-type: 'ANT'
727 project-pattern: 'functest'
729 - branch-compare-type: 'ANT'
730 branch-pattern: '**/{branch}'
738 name: 'functest-{tag}-gate'
739 project-type: multijob
741 - functest-patchset-created:
748 use-build-blocker: true
749 blocking-level: 'NODE'
751 - '^functest-{tag}-(daily|check|gate)$'
754 name: remove former images
756 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
758 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
760 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
762 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
764 - name: 'functest-opnfv-functest-features-{tag}-rmi'
767 name: remove dependencies
769 - name: 'functest-_-alpine-3.9-rmi'
772 name: pull dependencies
774 - name: 'functest-_-alpine-3.9-pull'
777 name: build opnfv/functest-core
779 - name: 'functest-opnfv-functest-core-{tag}-gate'
782 name: build opnfv/functest-tempest
784 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
787 name: build containers
789 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
791 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
793 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
795 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
797 - name: 'functest-opnfv-functest-features-{tag}-gate'
800 name: opnfv/functest-healthcheck:{tag}
802 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
804 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
806 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
808 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
810 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
812 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
814 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
816 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
818 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
820 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
822 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
824 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
827 name: opnfv/functest-smoke:{tag}
829 - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
831 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
833 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
835 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
837 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
839 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
841 - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
843 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
845 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
847 - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
850 name: opnfv/functest-benchmarking:{tag}
852 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
854 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
856 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
858 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
861 name: opnfv/functest-vnf:{tag}
862 execution-type: SEQUENTIALLY
864 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
866 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
868 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
870 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
872 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
875 name: opnfv/functest-features:{tag}
877 - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
879 - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
881 - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
883 - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
885 - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
892 - 'functest-{tag}-daily'
893 - 'functest-{tag}-check'
894 - 'functest-{tag}-gate'
906 regex: ^functest-[a-z]+-(daily|check|gate)$