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
19 DASHBOARD_URL: http://172.30.13.94
24 DASHBOARD_URL: http://172.30.12.88
29 DASHBOARD_URL: http://172.30.12.83
34 DASHBOARD_URL: http://172.30.13.89
39 DASHBOARD_URL: http://172.30.13.91
50 name: functest-build_tag
56 name: functest-EXTERNAL_NETWORK
59 name: EXTERNAL_NETWORK
62 name: functest-VOLUME_DEVICE_NAME
65 name: VOLUME_DEVICE_NAME
68 name: functest-IMAGE_PROPERTIES
71 name: IMAGE_PROPERTIES
72 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
74 - functest-containers: &functest-containers
75 name: 'functest-containers'
78 container: '{container}'
81 - functest-run-containers: &functest-run-containers
82 name: 'functest-run-containers'
83 <<: *functest-containers
85 privileged: '{privileged}'
87 DASHBOARD_URL: '{DASHBOARD_URL}'
90 name: functest-pull-containers
94 if [ "{repo}" = "_" ]; then
95 image={container}:{tag}
96 elif [ "{port}" = "None" ]; then
97 image={repo}/{container}:{tag}
99 image={repo}:{port}/{container}:{tag}
101 sudo docker pull $image
104 name: functest-run-containers
108 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
109 if [ "{repo}" = "_" ]; then
110 image={container}:{tag}
111 elif [ "{port}" = "None" ]; then
112 image={repo}/{container}:{tag}
114 image={repo}:{port}/{container}:{tag}
116 sudo docker run --rm \
117 --privileged={privileged} \
118 --network={network} \
119 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
120 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
121 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
122 -v /home/opnfv/functest/.boto:/root/.boto \
123 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
124 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
125 -e NODE_NAME=$slave \
126 -e BUILD_TAG=$BUILD_TAG \
127 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
128 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
129 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
130 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
131 -e DASHBOARD_URL={DASHBOARD_URL} \
132 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
133 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
134 $image run_tests -t {test} -p -r
137 name: functest-remove-images
141 if [ "{repo}" = "_" ]; then
142 image={container}:{tag}
143 elif [ "{port}" = "None" ]; then
144 image={repo}/{container}:{tag}
146 image={repo}:{port}/{container}:{tag}
148 sudo docker rmi $image || true
150 - functest-build-containers: &functest-build-containers
151 name: 'functest-build-containers'
152 <<: *functest-containers
157 name: functest-build-containers
161 if [ "{repo}" = "_" ]; then
162 image={container}:{tag}
163 elif [ "{port}" = "None" ]; then
164 image={repo}/{container}:{tag}
166 image={repo}:{port}/{container}:{tag}
168 if [ "{ref_arg}" = "None" ]; then
171 build_arg="--build-arg {ref_arg}={ref}"
174 sudo docker build $build_arg \
175 --pull=false --no-cache --force-rm=true \
182 url: 'https://gerrit.opnfv.org/gerrit/functest'
183 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
188 name: 'functest-{repo}-{container}-{tag}-pull'
193 - functest-pull-containers:
194 <<: *functest-containers
197 name: 'functest-opnfv-functest-healthcheck-pull'
199 container: 'functest-healthcheck'
201 - 'functest-{repo}-{container}-{tag}-pull'
204 name: 'functest-opnfv-functest-smoke-pull'
206 container: 'functest-smoke'
208 - 'functest-{repo}-{container}-{tag}-pull'
211 name: 'functest-opnfv-functest-smoke-cntt-pull'
213 container: 'functest-smoke-cntt'
215 - 'functest-{repo}-{container}-{tag}-pull'
218 name: 'functest-opnfv-functest-benchmarking-pull'
220 container: 'functest-benchmarking'
222 - 'functest-{repo}-{container}-{tag}-pull'
225 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
227 container: 'functest-benchmarking-cntt'
229 - 'functest-{repo}-{container}-{tag}-pull'
232 name: 'functest-opnfv-functest-vnf-pull'
234 container: 'functest-vnf'
236 - 'functest-{repo}-{container}-{tag}-pull'
239 name: 'functest-{repo}-{container}-{tag}-rmi'
244 - functest-remove-images:
245 <<: *functest-containers
248 name: 'functest-opnfv-functest-healthcheck-rmi'
250 container: 'functest-healthcheck'
252 - 'functest-{repo}-{container}-{tag}-rmi'
255 name: 'functest-opnfv-functest-smoke-rmi'
257 container: 'functest-smoke'
259 - 'functest-{repo}-{container}-{tag}-rmi'
262 name: 'functest-opnfv-functest-smoke-cntt-rmi'
264 container: 'functest-smoke-cntt'
266 - 'functest-{repo}-{container}-{tag}-rmi'
269 name: 'functest-opnfv-functest-benchmarking-rmi'
271 container: 'functest-benchmarking'
273 - 'functest-{repo}-{container}-{tag}-rmi'
276 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
278 container: 'functest-benchmarking-cntt'
280 - 'functest-{repo}-{container}-{tag}-rmi'
283 name: 'functest-opnfv-functest-vnf-rmi'
285 container: 'functest-vnf'
287 - 'functest-{repo}-{container}-{tag}-rmi'
290 name: 'functest-{repo}-{container}-{tag}-{test}-run'
294 - functest-build_tag:
296 - functest-EXTERNAL_NETWORK:
297 EXTERNAL_NETWORK: public
298 - functest-VOLUME_DEVICE_NAME:
299 VOLUME_DEVICE_NAME: sdb
300 - functest-IMAGE_PROPERTIES:
301 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
303 - functest-run-containers:
304 <<: *functest-run-containers
307 name: 'functest-opnfv-functest-healthcheck'
309 container: 'functest-healthcheck'
327 - 'functest-{repo}-{container}-{tag}-{test}-run'
330 name: 'functest-opnfv-functest-smoke'
332 container: 'functest-smoke'
359 - {'tag': 'latest', 'test': 'refstack_defcore'}
360 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
361 - {'tag': 'latest', 'test': 'networking-sfc'}
362 - {'tag': 'latest', 'test': 'patrole'}
363 - {'tag': 'leguer', 'test': 'refstack_defcore'}
364 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
365 - {'tag': 'leguer', 'test': 'networking-sfc'}
366 - {'tag': 'leguer', 'test': 'patrole'}
367 - {'tag': 'kali', 'test': 'refstack_defcore'}
368 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
369 - {'tag': 'kali', 'test': 'networking-sfc'}
370 - {'tag': 'kali', 'test': 'patrole_admin'}
371 - {'tag': 'kali', 'test': 'patrole_member'}
372 - {'tag': 'kali', 'test': 'patrole_reader'}
373 - {'tag': 'jerma', 'test': 'refstack_defcore'}
374 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
375 - {'tag': 'jerma', 'test': 'networking-sfc'}
376 - {'tag': 'jerma', 'test': 'patrole_admin'}
377 - {'tag': 'jerma', 'test': 'patrole_member'}
378 - {'tag': 'jerma', 'test': 'patrole_reader'}
379 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
380 - {'tag': 'iruya', 'test': 'refstack_defcore'}
381 - {'tag': 'iruya', 'test': 'patrole_admin'}
382 - {'tag': 'iruya', 'test': 'patrole_member'}
383 - {'tag': 'iruya', 'test': 'patrole_reader'}
384 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
385 - {'tag': 'hunter', 'test': 'refstack_compute'}
386 - {'tag': 'hunter', 'test': 'refstack_object'}
387 - {'tag': 'hunter', 'test': 'refstack_platform'}
388 - {'tag': 'hunter', 'test': 'tempest_octavia'}
389 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
390 - {'tag': 'hunter', 'test': 'patrole_admin'}
391 - {'tag': 'hunter', 'test': 'patrole_member'}
392 - {'tag': 'hunter', 'test': 'patrole_reader'}
393 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
395 - 'functest-{repo}-{container}-{tag}-{test}-run'
398 name: 'functest-opnfv-functest-smoke-cntt'
400 container: 'functest-smoke-cntt'
402 - tempest_neutron_cntt
403 - tempest_cinder_cntt
404 - tempest_keystone_cntt
408 - tempest_scenario_cntt
413 - 'functest-{repo}-{container}-{tag}-{test}-run'
416 name: 'functest-opnfv-functest-benchmarking'
418 container: 'functest-benchmarking'
427 - 'functest-{repo}-{container}-{tag}-{test}-run'
430 name: 'functest-opnfv-functest-benchmarking-cntt'
432 container: 'functest-benchmarking-cntt'
439 - 'functest-{repo}-{container}-{tag}-{test}-run'
442 name: 'functest-opnfv-functest-vnf'
444 container: 'functest-vnf'
454 - 'functest-{repo}-{container}-{tag}-{test}-run'
462 if [ "{repo}" = "_" ]; then
463 image={container}:{tag}
464 elif [ "{port}" = "None" ]; then
465 image={repo}/{container}:{tag}
467 image={repo}:{port}/{container}:{tag}
469 sudo docker run --rm \
470 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
471 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
472 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
473 -v /home/opnfv/functest/.boto:/root/.boto \
474 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
475 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
476 -e BUILD_TAG=$BUILD_TAG \
477 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
478 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
479 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
480 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
481 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
482 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
486 name: 'functest-{tag}-zip'
490 - functest-build_tag:
492 - functest-EXTERNAL_NETWORK:
493 EXTERNAL_NETWORK: public
494 - functest-VOLUME_DEVICE_NAME:
495 VOLUME_DEVICE_NAME: sdb
496 - functest-IMAGE_PROPERTIES:
497 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
500 <<: *functest-containers
503 name: 'functest-{tag}-zip'
505 container: 'functest-healthcheck'
507 - 'functest-{tag}-zip'
510 name: 'functest-{tag}-daily'
511 project-type: multijob
517 - functest-build_tag:
519 - functest-EXTERNAL_NETWORK:
520 EXTERNAL_NETWORK: public
521 - functest-VOLUME_DEVICE_NAME:
522 VOLUME_DEVICE_NAME: sdb
523 - functest-IMAGE_PROPERTIES:
524 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
527 use-build-blocker: true
528 blocking-level: 'NODE'
530 - '^functest-{tag}-(daily|docker|review)$'
533 name: remove former images
535 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
537 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
539 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
541 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
543 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
545 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
548 name: pull containers
550 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
552 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
554 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
556 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
558 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
560 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
563 name: opnfv/functest-healthcheck:{tag}
565 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
567 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
569 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
571 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
573 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
575 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
577 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
579 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
581 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
583 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
585 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
587 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
589 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
592 name: opnfv/functest-smoke:{tag}
594 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
602 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
604 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
606 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
608 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
610 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
612 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
614 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
616 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
618 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
620 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
622 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
624 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
626 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
628 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
630 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
632 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
634 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
636 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
639 name: opnfv/functest-smoke-cntt:{tag}
641 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
643 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
645 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
647 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
649 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
651 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
653 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
655 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
658 name: opnfv/functest-benchmarking:{tag}
660 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
662 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
666 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
669 name: opnfv/functest-benchmarking-cntt:{tag}
671 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
673 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
676 name: opnfv/functest-vnf:{tag}
678 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
680 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
682 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
684 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
686 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
689 name: dump all campaign data
691 - name: 'functest-{tag}-zip'
695 name: 'functest-daily'
698 - 'functest-{tag}-daily'
710 regex: ^functest-[a-z0-9]+-daily$
712 - functest-dep: &functest-dep
713 name: 'functest-containers'
717 dependency: '{dependency}'
720 name: functest-pull-dep-images
724 if [ "_" = "_" ]; then
725 image=alpine:{dependency}
726 elif [ "_" = "None" ]; then
727 image=_/alpine:{dependency}
729 image=_:/alpine{dependency}
731 sudo docker pull $image || true
734 name: functest-remove-dep-images
738 if [ "_" = "_" ]; then
739 image=alpine:{dependency}
740 elif [ "_" = "None" ]; then
741 image=_/alpine:{dependency}
743 image=_:/alpine{dependency}
745 sudo docker rmi $image || true
748 name: 'functest-{repo}-{tag}-dep-pull'
753 - functest-pull-dep-images:
757 name: 'functest-{repo}-{tag}-dep-pull'
760 - 'functest-{repo}-{tag}-dep-pull'
763 name: 'functest-{repo}-{tag}-dep-rmi'
768 - functest-remove-dep-images:
772 name: 'functest-{repo}-{tag}-dep-rmi'
775 - 'functest-{repo}-{tag}-dep-rmi'
782 sudo apt-get update && sudo apt-get install software-properties-common gpg -y
783 sudo add-apt-repository -y ppa:deadsnakes/ppa
784 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
785 python3.8-distutils \
786 python3.7 python3.7-dev python3.6 python3.6-dev \
787 python python-dev python3-pip enchant -y
788 sudo pip3 install tox tox-pip-version
792 name: 'functest-{tag}-tox'
797 - functest-patchset-created:
809 - 'functest-{tag}-tox'
812 name: functest-opnfv-functest-core-{tag}-gate
814 container: functest-core
818 - 'functest-{repo}-{container}-{tag}-gate'
821 name: functest-opnfv-functest-tempest-{tag}-gate
823 container: functest-tempest
832 - 'functest-{repo}-{container}-{tag}-gate'
835 name: functest-opnfv-functest-healthcheck-{tag}-gate
837 container: functest-healthcheck
839 path: docker/healthcheck
841 - 'functest-{repo}-{container}-{tag}-gate'
844 name: functest-opnfv-functest-smoke-{tag}-gate
846 container: functest-smoke
850 - 'functest-{repo}-{container}-{tag}-gate'
853 name: functest-opnfv-functest-benchmarking-{tag}-gate
855 container: functest-benchmarking
857 path: docker/benchmarking
859 - 'functest-{repo}-{container}-{tag}-gate'
862 name: functest-opnfv-functest-vnf-{tag}-gate
864 container: functest-vnf
868 - 'functest-{repo}-{container}-{tag}-gate'
871 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
873 container: functest-smoke-cntt
875 path: docker/smoke-cntt
877 - 'functest-{repo}-{container}-{tag}-gate'
880 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
882 container: functest-benchmarking-cntt
884 path: docker/benchmarking-cntt
886 - 'functest-{repo}-{container}-{tag}-gate'
890 name: 'functest-{repo}-{container}-{tag}-gate'
898 - functest-build-containers:
899 <<: *functest-build-containers
903 name: functest-patchset-created
907 - patchset-created-event
908 - comment-added-contains-event:
909 comment-contains-value: 'recheck'
910 - comment-added-contains-event:
911 comment-contains-value: 'reverify'
913 - project-compare-type: 'ANT'
914 project-pattern: 'functest'
916 - branch-compare-type: 'ANT'
917 branch-pattern: '**/{branch}'
920 name: 'functest-{tag}-review'
921 project-type: multijob
923 - functest-patchset-created:
928 - functest-build_tag:
930 - functest-EXTERNAL_NETWORK:
931 EXTERNAL_NETWORK: public
932 - functest-VOLUME_DEVICE_NAME:
933 VOLUME_DEVICE_NAME: sdb
934 - functest-IMAGE_PROPERTIES:
935 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
938 use-build-blocker: true
939 blocking-level: 'NODE'
941 - '^functest-{tag}-(daily|docker|review)$'
944 name: remove former images
946 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
948 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
950 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
952 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
954 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
956 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
959 name: remove dependency
961 - name: 'functest-{repo}-{tag}-dep-rmi'
964 name: pull dependency
966 - name: 'functest-{repo}-{tag}-dep-pull'
969 name: build opnfv/functest-core
971 - name: 'functest-opnfv-functest-core-{tag}-gate'
974 name: build opnfv/functest-tempest
976 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
979 name: build containers
981 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
983 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
985 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
987 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
990 name: build cntt containers
992 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
994 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
997 name: opnfv/functest-healthcheck:{tag}
999 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1001 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1003 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1005 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1007 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1009 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1011 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1013 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1015 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1017 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1019 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1021 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1023 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1026 name: opnfv/functest-smoke:{tag}
1028 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1030 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1032 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1034 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1036 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1038 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1040 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1042 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1044 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1046 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1048 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1050 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1052 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1054 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1056 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1058 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1060 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1062 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1064 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1066 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1068 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1070 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1073 name: opnfv/functest-smoke-cntt:{tag}
1075 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1077 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1079 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1081 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1083 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1085 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1087 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1089 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1092 name: opnfv/functest-benchmarking:{tag}
1094 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1096 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1098 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1100 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1103 name: opnfv/functest-benchmarking-cntt:{tag}
1105 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1107 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1110 name: opnfv/functest-vnf:{tag}
1112 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1114 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1116 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1118 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1120 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1124 name: 'functest-review'
1125 <<: *functest-params
1127 - 'functest-{tag}-review'
1130 name: functest-review
1139 regex: ^functest-[a-z0-9]+-review$
1151 regex: ^functest-[a-z0-9]+-tox$
1154 name: functest-push-containers
1158 if [ "{repo}" = "_" ]; then
1159 image={container}:{tag}
1160 elif [ "{port}" = "None" ]; then
1161 image={repo}/{container}:{tag}
1163 image={repo}:{port}/{container}:{tag}
1165 sudo docker push $image
1168 name: functest-commit
1171 cron: "*/30 * * * *"
1174 name: 'functest-{repo}-{container}-{tag}-build'
1182 - functest-build-containers:
1183 <<: *functest-build-containers
1185 - functest-push-containers:
1186 <<: *functest-build-containers
1190 name: functest-opnfv-functest-core-{tag}-build
1191 <<: *functest-params
1192 container: functest-core
1196 - 'functest-{repo}-{container}-{tag}-build'
1199 name: functest-opnfv-functest-tempest-{tag}-build
1200 <<: *functest-params
1201 container: functest-tempest
1203 path: docker/tempest
1210 - 'functest-{repo}-{container}-{tag}-build'
1213 name: functest-opnfv-functest-healthcheck-{tag}-build
1214 <<: *functest-params
1215 container: functest-healthcheck
1217 path: docker/healthcheck
1219 - 'functest-{repo}-{container}-{tag}-build'
1222 name: functest-opnfv-functest-smoke-{tag}-build
1223 <<: *functest-params
1224 container: functest-smoke
1228 - 'functest-{repo}-{container}-{tag}-build'
1231 name: functest-opnfv-functest-benchmarking-{tag}-build
1232 <<: *functest-params
1233 container: functest-benchmarking
1235 path: docker/benchmarking
1237 - 'functest-{repo}-{container}-{tag}-build'
1240 name: functest-opnfv-functest-vnf-{tag}-build
1241 <<: *functest-params
1242 container: functest-vnf
1246 - 'functest-{repo}-{container}-{tag}-build'
1249 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1250 <<: *functest-params
1251 container: functest-smoke-cntt
1253 path: docker/smoke-cntt
1255 - 'functest-{repo}-{container}-{tag}-build'
1258 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1259 <<: *functest-params
1260 container: functest-benchmarking-cntt
1262 path: docker/benchmarking-cntt
1264 - 'functest-{repo}-{container}-{tag}-build'
1268 name: 'functest-{tag}-docker'
1269 project-type: multijob
1280 use-build-blocker: true
1281 blocking-level: 'NODE'
1283 - '^functest-{tag}-(daily|docker|review)$'
1286 name: remove dependency
1288 - name: 'functest-{repo}-{tag}-dep-rmi'
1291 name: pull dependency
1293 - name: 'functest-{repo}-{tag}-dep-pull'
1296 name: build opnfv/functest-core
1298 - name: 'functest-opnfv-functest-core-{tag}-build'
1301 name: build opnfv/functest-tempest
1303 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1306 name: build containers
1308 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1310 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1312 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1314 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1317 name: build cntt containers
1319 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1321 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1325 name: functest-trivy
1328 sudo apt-get update && sudo apt-get install curl -y
1329 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1330 if [ "{repo}" = "_" ]; then
1331 image={container}:{tag}
1332 elif [ "{port}" = "None" ]; then
1333 image={repo}/{container}:{tag}
1335 image={repo}:{port}/{container}:{tag}
1337 ./trivy --exit-code 1 $image
1340 name: 'functest-{repo}-{container}-{tag}-trivy'
1348 <<: *functest-containers
1351 name: 'functest-opnfv-functest-healthcheck-trivy'
1352 <<: *functest-params
1353 container: 'functest-healthcheck'
1355 - 'functest-{repo}-{container}-{tag}-trivy'
1357 name: 'functest-opnfv-functest-smoke-trivy'
1358 <<: *functest-params
1359 container: 'functest-smoke'
1361 - 'functest-{repo}-{container}-{tag}-trivy'
1363 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1364 <<: *functest-params
1365 container: 'functest-smoke-cntt'
1367 - 'functest-{repo}-{container}-{tag}-trivy'
1369 name: 'functest-opnfv-functest-benchmarking-trivy'
1370 <<: *functest-params
1371 container: 'functest-benchmarking'
1373 - 'functest-{repo}-{container}-{tag}-trivy'
1375 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1376 <<: *functest-params
1377 container: 'functest-benchmarking-cntt'
1379 - 'functest-{repo}-{container}-{tag}-trivy'
1381 name: 'functest-opnfv-functest-vnf-trivy'
1382 <<: *functest-params
1383 container: 'functest-vnf'
1385 - 'functest-{repo}-{container}-{tag}-trivy'
1389 <<: *functest-params
1391 - 'functest-{tag}-docker'
1394 name: functest-docker
1403 regex: ^functest-[a-z0-9]+-docker$
1406 name: functest-trivy
1415 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9]+-trivy$