2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
17 DASHBOARD_URL: http://172.30.13.94
22 DASHBOARD_URL: http://172.30.13.94
27 DASHBOARD_URL: http://172.30.12.88
32 DASHBOARD_URL: http://172.30.12.83
37 DASHBOARD_URL: http://172.30.13.89
42 DASHBOARD_URL: http://172.30.13.91
45 - functest-jobs: &functest-jobs
47 current-parameters: true
57 name: functest-build_tag
63 name: functest-EXTERNAL_NETWORK
66 name: EXTERNAL_NETWORK
69 name: functest-VOLUME_DEVICE_NAME
72 name: VOLUME_DEVICE_NAME
75 name: functest-IMAGE_PROPERTIES
78 name: IMAGE_PROPERTIES
79 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
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
151 name: 'functest-{repo}-{container}-{tag}-pull'
156 - functest-pull-containers:
157 <<: *functest-containers
160 name: 'functest-opnfv-functest-healthcheck-pull'
162 container: 'functest-healthcheck'
164 - 'functest-{repo}-{container}-{tag}-pull'
167 name: 'functest-opnfv-functest-smoke-pull'
169 container: 'functest-smoke'
171 - 'functest-{repo}-{container}-{tag}-pull'
174 name: 'functest-opnfv-functest-smoke-cntt-pull'
176 container: 'functest-smoke-cntt'
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-benchmarking-cntt-pull'
190 container: 'functest-benchmarking-cntt'
192 - 'functest-{repo}-{container}-{tag}-pull'
195 name: 'functest-opnfv-functest-vnf-pull'
197 container: 'functest-vnf'
199 - 'functest-{repo}-{container}-{tag}-pull'
202 name: 'functest-{repo}-{container}-{tag}-rmi'
207 - functest-remove-images:
208 <<: *functest-containers
211 name: 'functest-opnfv-functest-healthcheck-rmi'
213 container: 'functest-healthcheck'
215 - 'functest-{repo}-{container}-{tag}-rmi'
218 name: 'functest-opnfv-functest-smoke-rmi'
220 container: 'functest-smoke'
222 - 'functest-{repo}-{container}-{tag}-rmi'
225 name: 'functest-opnfv-functest-smoke-cntt-rmi'
227 container: 'functest-smoke-cntt'
229 - 'functest-{repo}-{container}-{tag}-rmi'
232 name: 'functest-opnfv-functest-benchmarking-rmi'
234 container: 'functest-benchmarking'
236 - 'functest-{repo}-{container}-{tag}-rmi'
239 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
241 container: 'functest-benchmarking-cntt'
243 - 'functest-{repo}-{container}-{tag}-rmi'
246 name: 'functest-opnfv-functest-vnf-rmi'
248 container: 'functest-vnf'
250 - 'functest-{repo}-{container}-{tag}-rmi'
253 name: 'functest-{repo}-{container}-{tag}-{test}-run'
257 - functest-build_tag:
259 - functest-EXTERNAL_NETWORK:
260 EXTERNAL_NETWORK: public
261 - functest-VOLUME_DEVICE_NAME:
262 VOLUME_DEVICE_NAME: sdb
263 - functest-IMAGE_PROPERTIES:
264 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
266 - functest-run-containers:
267 <<: *functest-run-containers
270 name: 'functest-opnfv-functest-healthcheck'
272 container: 'functest-healthcheck'
290 - 'functest-{repo}-{container}-{tag}-{test}-run'
293 name: 'functest-opnfv-functest-smoke'
295 container: 'functest-smoke'
322 - {'tag': 'latest', 'test': 'refstack_defcore'}
323 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
324 - {'tag': 'latest', 'test': 'networking-sfc'}
325 - {'tag': 'latest', 'test': 'patrole'}
326 - {'tag': 'leguer', 'test': 'refstack_defcore'}
327 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
328 - {'tag': 'leguer', 'test': 'networking-sfc'}
329 - {'tag': 'leguer', 'test': 'patrole'}
330 - {'tag': 'kali', 'test': 'refstack_defcore'}
331 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
332 - {'tag': 'kali', 'test': 'networking-sfc'}
333 - {'tag': 'kali', 'test': 'patrole_admin'}
334 - {'tag': 'kali', 'test': 'patrole_member'}
335 - {'tag': 'kali', 'test': 'patrole_reader'}
336 - {'tag': 'jerma', 'test': 'refstack_defcore'}
337 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
338 - {'tag': 'jerma', 'test': 'networking-sfc'}
339 - {'tag': 'jerma', 'test': 'patrole_admin'}
340 - {'tag': 'jerma', 'test': 'patrole_member'}
341 - {'tag': 'jerma', 'test': 'patrole_reader'}
342 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
343 - {'tag': 'iruya', 'test': 'refstack_defcore'}
344 - {'tag': 'iruya', 'test': 'patrole_admin'}
345 - {'tag': 'iruya', 'test': 'patrole_member'}
346 - {'tag': 'iruya', 'test': 'patrole_reader'}
347 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
348 - {'tag': 'hunter', 'test': 'refstack_compute'}
349 - {'tag': 'hunter', 'test': 'refstack_object'}
350 - {'tag': 'hunter', 'test': 'refstack_platform'}
351 - {'tag': 'hunter', 'test': 'tempest_octavia'}
352 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
353 - {'tag': 'hunter', 'test': 'patrole_admin'}
354 - {'tag': 'hunter', 'test': 'patrole_member'}
355 - {'tag': 'hunter', 'test': 'patrole_reader'}
356 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
358 - 'functest-{repo}-{container}-{tag}-{test}-run'
361 name: 'functest-opnfv-functest-smoke-cntt'
363 container: 'functest-smoke-cntt'
365 - tempest_neutron_cntt
366 - tempest_cinder_cntt
367 - tempest_keystone_cntt
371 - tempest_scenario_cntt
376 - 'functest-{repo}-{container}-{tag}-{test}-run'
379 name: 'functest-opnfv-functest-benchmarking'
381 container: 'functest-benchmarking'
390 - 'functest-{repo}-{container}-{tag}-{test}-run'
393 name: 'functest-opnfv-functest-benchmarking-cntt'
395 container: 'functest-benchmarking-cntt'
402 - 'functest-{repo}-{container}-{tag}-{test}-run'
405 name: 'functest-opnfv-functest-vnf'
407 container: 'functest-vnf'
417 - 'functest-{repo}-{container}-{tag}-{test}-run'
425 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
426 if [ "{repo}" = "_" ]; then
427 image={container}:{tag}
428 elif [ "{port}" = "None" ]; then
429 image={repo}/{container}:{tag}
431 image={repo}:{port}/{container}:{tag}
433 sudo docker run --rm \
434 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
435 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
436 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
437 -v /home/opnfv/functest/.boto:/root/.boto \
438 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
439 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
440 -e BUILD_TAG=$BUILD_TAG \
441 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
442 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
443 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
444 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
445 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
446 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
450 name: 'functest-{tag}-zip'
454 - functest-build_tag:
456 - functest-EXTERNAL_NETWORK:
457 EXTERNAL_NETWORK: public
458 - functest-VOLUME_DEVICE_NAME:
459 VOLUME_DEVICE_NAME: sdb
460 - functest-IMAGE_PROPERTIES:
461 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
464 <<: *functest-containers
467 name: 'functest-{tag}-zip'
469 container: 'functest-healthcheck'
471 - 'functest-{tag}-zip'
474 name: 'functest-{tag}-daily'
475 project-type: multijob
481 - functest-build_tag:
483 - functest-EXTERNAL_NETWORK:
484 EXTERNAL_NETWORK: public
485 - functest-VOLUME_DEVICE_NAME:
486 VOLUME_DEVICE_NAME: sdb
487 - functest-IMAGE_PROPERTIES:
488 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
491 use-build-blocker: true
492 blocking-level: 'NODE'
494 - '^functest-{tag}-(daily|docker|review)$'
497 name: remove former images
499 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
501 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
503 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
505 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
507 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
509 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
512 name: pull containers
514 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
516 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
518 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
520 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
522 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
524 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
527 name: opnfv/functest-healthcheck:{tag}
529 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
531 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
533 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
535 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
537 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
539 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
541 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
543 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
545 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
547 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
549 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
551 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
553 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
556 name: opnfv/functest-smoke:{tag}
558 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
560 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
562 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
564 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
566 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
568 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
570 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
572 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
574 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
576 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
578 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
580 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
582 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
584 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
586 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
588 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
590 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
592 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
594 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
603 name: opnfv/functest-smoke-cntt:{tag}
605 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
607 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
609 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
611 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
613 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
615 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
617 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
619 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
622 name: opnfv/functest-benchmarking:{tag}
624 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
626 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
628 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
630 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
633 name: opnfv/functest-benchmarking-cntt:{tag}
635 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
637 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
640 name: opnfv/functest-vnf:{tag}
642 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
644 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
646 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
648 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
650 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
653 name: dump all campaign data
655 - name: 'functest-{tag}-zip'
659 name: 'functest-daily'
662 - 'functest-{tag}-daily'
674 regex: ^functest-[a-z0-9.]+-daily$
676 - functest-build-containers: &functest-build-containers
677 name: 'functest-build-containers'
678 <<: *functest-containers
683 name: functest-build-containers
687 if [ "{repo}" = "_" ]; then
688 image={container}:{tag}
689 elif [ "{port}" = "None" ]; then
690 image={repo}/{container}:{tag}
692 image={repo}:{port}/{container}:{tag}
694 if [ "{ref_arg}" = "None" ]; then
697 build_arg="--build-arg {ref_arg}={ref}"
700 sudo docker build $build_arg \
701 --pull=false --no-cache --force-rm=true \
708 url: 'https://gerrit.opnfv.org/gerrit/functest'
709 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
713 - functest-dep: &functest-dep
714 name: 'functest-containers'
718 dependency: '{dependency}'
721 name: functest-pull-dep-images
725 if [ "_" = "_" ]; then
726 image=alpine:{dependency}
727 elif [ "_" = "None" ]; then
728 image=_/alpine:{dependency}
730 image=_:/alpine{dependency}
732 sudo docker pull $image || true
735 name: functest-remove-dep-images
739 if [ "_" = "_" ]; then
740 image=alpine:{dependency}
741 elif [ "_" = "None" ]; then
742 image=_/alpine:{dependency}
744 image=_:/alpine{dependency}
746 sudo docker rmi $image || true
749 name: 'functest-{repo}-{tag}-dep-pull'
754 - functest-pull-dep-images:
758 name: 'functest-{repo}-{tag}-dep-pull'
761 - 'functest-{repo}-{tag}-dep-pull'
764 name: 'functest-{repo}-{tag}-dep-rmi'
769 - functest-remove-dep-images:
773 name: 'functest-{repo}-{tag}-dep-rmi'
776 - 'functest-{repo}-{tag}-dep-rmi'
783 sudo apt-get update && sudo apt-get install software-properties-common gpg -y
784 sudo add-apt-repository -y ppa:deadsnakes/ppa
785 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
786 python3.8-distutils \
787 python3.7 python3.7-dev python3.6 python3.6-dev \
788 python python-dev python3-pip enchant -y
789 sudo pip3 install tox tox-pip-version
793 name: 'functest-{tag}-tox'
798 - functest-patchset-created:
810 - 'functest-{tag}-tox'
813 name: functest-opnfv-functest-core-{tag}-gate
815 container: functest-core
819 - 'functest-{repo}-{container}-{tag}-gate'
822 name: functest-opnfv-functest-tempest-{tag}-gate
824 container: functest-tempest
833 - 'functest-{repo}-{container}-{tag}-gate'
836 name: functest-opnfv-functest-healthcheck-{tag}-gate
838 container: functest-healthcheck
840 path: docker/healthcheck
842 - 'functest-{repo}-{container}-{tag}-gate'
845 name: functest-opnfv-functest-smoke-{tag}-gate
847 container: functest-smoke
851 - 'functest-{repo}-{container}-{tag}-gate'
854 name: functest-opnfv-functest-benchmarking-{tag}-gate
856 container: functest-benchmarking
858 path: docker/benchmarking
860 - 'functest-{repo}-{container}-{tag}-gate'
863 name: functest-opnfv-functest-vnf-{tag}-gate
865 container: functest-vnf
869 - 'functest-{repo}-{container}-{tag}-gate'
872 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
874 container: functest-smoke-cntt
876 path: docker/smoke-cntt
878 - 'functest-{repo}-{container}-{tag}-gate'
881 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
883 container: functest-benchmarking-cntt
885 path: docker/benchmarking-cntt
887 - 'functest-{repo}-{container}-{tag}-gate'
891 name: 'functest-{repo}-{container}-{tag}-gate'
899 - functest-build-containers:
900 <<: *functest-build-containers
904 name: functest-patchset-created
908 - patchset-created-event
909 - comment-added-contains-event:
910 comment-contains-value: 'recheck'
911 - comment-added-contains-event:
912 comment-contains-value: 'reverify'
914 - project-compare-type: 'ANT'
915 project-pattern: 'functest'
917 - branch-compare-type: 'ANT'
918 branch-pattern: '**/{branch}'
921 name: 'functest-{tag}-review'
922 project-type: multijob
924 - functest-patchset-created:
929 - functest-build_tag:
931 - functest-EXTERNAL_NETWORK:
932 EXTERNAL_NETWORK: public
933 - functest-VOLUME_DEVICE_NAME:
934 VOLUME_DEVICE_NAME: sdb
935 - functest-IMAGE_PROPERTIES:
936 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
939 use-build-blocker: true
940 blocking-level: 'NODE'
942 - '^functest-{tag}-(daily|docker|review)$'
945 name: remove former images
947 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
949 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
951 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
953 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
955 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
957 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
960 name: remove dependency
962 - name: 'functest-{repo}-{tag}-dep-rmi'
965 name: pull dependency
967 - name: 'functest-{repo}-{tag}-dep-pull'
970 name: build opnfv/functest-core
972 - name: 'functest-opnfv-functest-core-{tag}-gate'
975 name: build opnfv/functest-tempest
977 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
980 name: build containers
982 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
984 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
986 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
988 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
991 name: build cntt containers
993 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
995 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
998 name: opnfv/functest-healthcheck:{tag}
1000 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
1002 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
1004 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1006 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1008 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1010 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1012 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1014 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1016 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1018 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1020 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1022 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1024 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1027 name: opnfv/functest-smoke:{tag}
1029 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1031 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1033 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1035 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1037 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1039 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1041 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1043 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1045 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1047 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1049 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1051 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1067 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1069 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1071 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1074 name: opnfv/functest-smoke-cntt:{tag}
1076 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1078 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1080 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1082 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1084 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1086 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1088 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1090 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1093 name: opnfv/functest-benchmarking:{tag}
1095 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1097 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1099 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1101 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1104 name: opnfv/functest-benchmarking-cntt:{tag}
1106 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1108 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1111 name: opnfv/functest-vnf:{tag}
1113 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1115 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1117 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1119 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1121 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1125 name: 'functest-review'
1126 <<: *functest-params
1128 - 'functest-{tag}-review'
1131 name: functest-review
1140 regex: ^functest-[a-z0-9.]+-review$
1152 regex: ^functest-[a-z0-9.]+-tox$
1155 name: functest-push-containers
1159 if [ "{repo}" = "_" ]; then
1160 image={container}:{tag}
1161 elif [ "{port}" = "None" ]; then
1162 image={repo}/{container}:{tag}
1164 image={repo}:{port}/{container}:{tag}
1166 sudo docker push $image
1169 name: functest-commit
1172 cron: "*/30 * * * *"
1175 name: 'functest-{repo}-{container}-{tag}-build'
1183 - functest-build-containers:
1184 <<: *functest-build-containers
1186 - functest-push-containers:
1187 <<: *functest-build-containers
1191 name: functest-opnfv-functest-core-{tag}-build
1192 <<: *functest-params
1193 container: functest-core
1197 - 'functest-{repo}-{container}-{tag}-build'
1200 name: functest-opnfv-functest-tempest-{tag}-build
1201 <<: *functest-params
1202 container: functest-tempest
1204 path: docker/tempest
1211 - 'functest-{repo}-{container}-{tag}-build'
1214 name: functest-opnfv-functest-healthcheck-{tag}-build
1215 <<: *functest-params
1216 container: functest-healthcheck
1218 path: docker/healthcheck
1220 - 'functest-{repo}-{container}-{tag}-build'
1223 name: functest-opnfv-functest-smoke-{tag}-build
1224 <<: *functest-params
1225 container: functest-smoke
1229 - 'functest-{repo}-{container}-{tag}-build'
1232 name: functest-opnfv-functest-benchmarking-{tag}-build
1233 <<: *functest-params
1234 container: functest-benchmarking
1236 path: docker/benchmarking
1238 - 'functest-{repo}-{container}-{tag}-build'
1241 name: functest-opnfv-functest-vnf-{tag}-build
1242 <<: *functest-params
1243 container: functest-vnf
1247 - 'functest-{repo}-{container}-{tag}-build'
1250 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1251 <<: *functest-params
1252 container: functest-smoke-cntt
1254 path: docker/smoke-cntt
1256 - 'functest-{repo}-{container}-{tag}-build'
1259 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1260 <<: *functest-params
1261 container: functest-benchmarking-cntt
1263 path: docker/benchmarking-cntt
1265 - 'functest-{repo}-{container}-{tag}-build'
1269 name: 'functest-{tag}-docker'
1270 project-type: multijob
1281 use-build-blocker: true
1282 blocking-level: 'NODE'
1284 - '^functest-{tag}-(daily|docker|review)$'
1287 name: remove dependency
1289 - name: 'functest-{repo}-{tag}-dep-rmi'
1292 name: pull dependency
1294 - name: 'functest-{repo}-{tag}-dep-pull'
1297 name: build opnfv/functest-core
1299 - name: 'functest-opnfv-functest-core-{tag}-build'
1302 name: build opnfv/functest-tempest
1304 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1307 name: build containers
1309 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1311 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1313 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1315 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1318 name: build cntt containers
1320 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1322 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1326 name: functest-trivy
1329 sudo apt-get update && sudo apt-get install curl -y
1330 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1331 if [ "{repo}" = "_" ]; then
1332 image={container}:{tag}
1333 elif [ "{port}" = "None" ]; then
1334 image={repo}/{container}:{tag}
1336 image={repo}:{port}/{container}:{tag}
1338 ./trivy --exit-code 1 $image
1341 name: 'functest-{repo}-{container}-{tag}-trivy'
1349 <<: *functest-containers
1352 name: 'functest-opnfv-functest-healthcheck-trivy'
1353 <<: *functest-params
1354 container: 'functest-healthcheck'
1356 - 'functest-{repo}-{container}-{tag}-trivy'
1358 name: 'functest-opnfv-functest-smoke-trivy'
1359 <<: *functest-params
1360 container: 'functest-smoke'
1362 - 'functest-{repo}-{container}-{tag}-trivy'
1364 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1365 <<: *functest-params
1366 container: 'functest-smoke-cntt'
1368 - 'functest-{repo}-{container}-{tag}-trivy'
1370 name: 'functest-opnfv-functest-benchmarking-trivy'
1371 <<: *functest-params
1372 container: 'functest-benchmarking'
1374 - 'functest-{repo}-{container}-{tag}-trivy'
1376 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1377 <<: *functest-params
1378 container: 'functest-benchmarking-cntt'
1380 - 'functest-{repo}-{container}-{tag}-trivy'
1382 name: 'functest-opnfv-functest-vnf-trivy'
1383 <<: *functest-params
1384 container: 'functest-vnf'
1386 - 'functest-{repo}-{container}-{tag}-trivy'
1390 <<: *functest-params
1392 - 'functest-{tag}-docker'
1395 name: functest-docker
1404 regex: ^functest-[a-z0-9.]+-docker$
1407 name: functest-trivy
1416 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$