2 - functest-containers: &functest-containers
3 name: 'functest-containers'
6 container: '{container}'
9 - functest-params: &functest-params
10 name: 'functest-params'
19 DASHBOARD_URL: http://172.30.13.94
26 DASHBOARD_URL: http://172.30.13.94
33 DASHBOARD_URL: http://172.30.12.88
40 DASHBOARD_URL: http://172.30.12.83
43 - functest-jobs: &functest-jobs
45 current-parameters: true
55 name: functest-build_tag
61 name: functest-EXTERNAL_NETWORK
64 name: EXTERNAL_NETWORK
67 name: functest-VOLUME_DEVICE_NAME
70 name: VOLUME_DEVICE_NAME
73 name: functest-IMAGE_PROPERTIES
76 name: IMAGE_PROPERTIES
77 default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
79 - functest-run-containers: &functest-run-containers
80 name: 'functest-run-containers'
81 <<: *functest-containers
83 privileged: '{privileged}'
85 DASHBOARD_URL: '{DASHBOARD_URL}'
88 name: functest-pull-containers
92 if [ "{repo}" = "_" ]; then
93 image={container}:{tag}
94 elif [ "{port}" = "None" ]; then
95 image={repo}/{container}:{tag}
97 image={repo}:{port}/{container}:{tag}
99 sudo docker pull $image
102 name: functest-run-containers
106 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
107 if [ "{repo}" = "_" ]; then
108 image={container}:{tag}
109 elif [ "{port}" = "None" ]; then
110 image={repo}/{container}:{tag}
112 image={repo}:{port}/{container}:{tag}
114 sudo docker run --rm \
115 --privileged={privileged} \
116 --network={network} \
117 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
118 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
119 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
120 -v /home/opnfv/functest/.boto:/root/.boto \
121 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
122 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
123 -e NODE_NAME=$slave \
124 -e BUILD_TAG=$BUILD_TAG \
125 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
126 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
127 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
128 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
129 -e DASHBOARD_URL={DASHBOARD_URL} \
130 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
131 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
132 $image run_tests -t {test} -p -r
135 name: functest-remove-images
139 if [ "{repo}" = "_" ]; then
140 image={container}:{tag}
141 elif [ "{port}" = "None" ]; then
142 image={repo}/{container}:{tag}
144 image={repo}:{port}/{container}:{tag}
146 sudo docker rmi $image || true
149 name: 'functest-{repo}-{container}-{tag}-pull'
154 - functest-pull-containers:
155 <<: *functest-containers
158 name: 'functest-opnfv-functest-healthcheck-pull'
160 container: 'functest-healthcheck'
162 - 'functest-{repo}-{container}-{tag}-pull'
165 name: 'functest-opnfv-functest-smoke-pull'
167 container: 'functest-smoke'
169 - 'functest-{repo}-{container}-{tag}-pull'
172 name: 'functest-opnfv-functest-smoke-cntt-pull'
174 container: 'functest-smoke-cntt'
176 - 'functest-{repo}-{container}-{tag}-pull'
179 name: 'functest-opnfv-functest-benchmarking-pull'
181 container: 'functest-benchmarking'
183 - 'functest-{repo}-{container}-{tag}-pull'
186 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
188 container: 'functest-benchmarking-cntt'
190 - 'functest-{repo}-{container}-{tag}-pull'
193 name: 'functest-opnfv-functest-vnf-pull'
195 container: 'functest-vnf'
197 - 'functest-{repo}-{container}-{tag}-pull'
200 name: 'functest-{repo}-{container}-{tag}-rmi'
205 - functest-remove-images:
206 <<: *functest-containers
209 name: 'functest-opnfv-functest-healthcheck-rmi'
211 container: 'functest-healthcheck'
213 - 'functest-{repo}-{container}-{tag}-rmi'
216 name: 'functest-opnfv-functest-smoke-rmi'
218 container: 'functest-smoke'
220 - 'functest-{repo}-{container}-{tag}-rmi'
223 name: 'functest-opnfv-functest-smoke-cntt-rmi'
225 container: 'functest-smoke-cntt'
227 - 'functest-{repo}-{container}-{tag}-rmi'
230 name: 'functest-opnfv-functest-benchmarking-rmi'
232 container: 'functest-benchmarking'
234 - 'functest-{repo}-{container}-{tag}-rmi'
237 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
239 container: 'functest-benchmarking-cntt'
241 - 'functest-{repo}-{container}-{tag}-rmi'
244 name: 'functest-opnfv-functest-vnf-rmi'
246 container: 'functest-vnf'
248 - 'functest-{repo}-{container}-{tag}-rmi'
251 name: 'functest-{repo}-{container}-{tag}-{test}-run'
255 - functest-build_tag:
257 - functest-EXTERNAL_NETWORK:
258 EXTERNAL_NETWORK: public
259 - functest-VOLUME_DEVICE_NAME:
260 VOLUME_DEVICE_NAME: sdb
261 - functest-IMAGE_PROPERTIES:
262 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
264 - functest-run-containers:
265 <<: *functest-run-containers
268 name: 'functest-opnfv-functest-healthcheck'
270 container: 'functest-healthcheck'
288 - 'functest-{repo}-{container}-{tag}-{test}-run'
291 name: 'functest-opnfv-functest-smoke'
293 container: 'functest-smoke'
320 - {'tag': 'latest', 'test': 'refstack_defcore'}
321 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
322 - {'tag': 'latest', 'test': 'networking-sfc'}
323 - {'tag': 'latest', 'test': 'patrole'}
324 - {'tag': 'leguer', 'test': 'refstack_defcore'}
325 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
326 - {'tag': 'leguer', 'test': 'networking-sfc'}
327 - {'tag': 'leguer', 'test': 'patrole'}
328 - {'tag': 'kali', 'test': 'refstack_defcore'}
329 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
330 - {'tag': 'kali', 'test': 'networking-sfc'}
331 - {'tag': 'kali', 'test': 'patrole_admin'}
332 - {'tag': 'kali', 'test': 'patrole_member'}
333 - {'tag': 'kali', 'test': 'patrole_reader'}
334 - {'tag': 'jerma', 'test': 'refstack_defcore'}
335 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
336 - {'tag': 'jerma', 'test': 'networking-sfc'}
337 - {'tag': 'jerma', 'test': 'patrole_admin'}
338 - {'tag': 'jerma', 'test': 'patrole_member'}
339 - {'tag': 'jerma', 'test': 'patrole_reader'}
340 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
342 - 'functest-{repo}-{container}-{tag}-{test}-run'
345 name: 'functest-opnfv-functest-smoke-cntt'
347 container: 'functest-smoke-cntt'
349 - tempest_neutron_cntt
350 - tempest_cinder_cntt
351 - tempest_keystone_cntt
355 - tempest_scenario_cntt
360 - 'functest-{repo}-{container}-{tag}-{test}-run'
363 name: 'functest-opnfv-functest-benchmarking'
365 container: 'functest-benchmarking'
374 - 'functest-{repo}-{container}-{tag}-{test}-run'
377 name: 'functest-opnfv-functest-benchmarking-cntt'
379 container: 'functest-benchmarking-cntt'
386 - 'functest-{repo}-{container}-{tag}-{test}-run'
389 name: 'functest-opnfv-functest-vnf'
391 container: 'functest-vnf'
401 - 'functest-{repo}-{container}-{tag}-{test}-run'
409 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
410 if [ "{repo}" = "_" ]; then
411 image={container}:{tag}
412 elif [ "{port}" = "None" ]; then
413 image={repo}/{container}:{tag}
415 image={repo}:{port}/{container}:{tag}
417 sudo docker run --rm \
418 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
419 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
420 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
421 -v /home/opnfv/functest/.boto:/root/.boto \
422 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
423 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
424 -e BUILD_TAG=$BUILD_TAG \
425 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
426 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
427 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
428 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
429 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
430 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
434 name: 'functest-{tag}-zip'
438 - functest-build_tag:
440 - functest-EXTERNAL_NETWORK:
441 EXTERNAL_NETWORK: public
442 - functest-VOLUME_DEVICE_NAME:
443 VOLUME_DEVICE_NAME: sdb
444 - functest-IMAGE_PROPERTIES:
445 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
448 <<: *functest-containers
451 name: 'functest-{tag}-zip'
453 container: 'functest-healthcheck'
455 - 'functest-{tag}-zip'
458 name: 'functest-{tag}-daily'
459 project-type: multijob
465 - functest-build_tag:
467 - functest-EXTERNAL_NETWORK:
468 EXTERNAL_NETWORK: public
469 - functest-VOLUME_DEVICE_NAME:
470 VOLUME_DEVICE_NAME: sdb
471 - functest-IMAGE_PROPERTIES:
472 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
475 use-build-blocker: true
476 blocking-level: 'NODE'
478 - '^functest-{tag}-(daily|docker|review)$'
481 name: remove former images
483 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
485 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
487 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
489 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
491 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
493 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
496 name: pull containers
498 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
500 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
502 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
504 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
506 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
508 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
511 name: opnfv/functest-healthcheck:{tag}
513 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
515 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
517 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
519 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
521 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
523 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
525 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
527 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
529 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
531 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
533 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
535 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
537 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
540 name: opnfv/functest-smoke:{tag}
542 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
544 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
546 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
548 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
550 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
552 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
554 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
556 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
558 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
560 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
562 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
564 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
566 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
568 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
570 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
572 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
574 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
576 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
578 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
580 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
582 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
584 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
587 name: opnfv/functest-smoke-cntt:{tag}
589 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
591 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
593 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
595 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
597 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
599 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
601 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
603 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
606 name: opnfv/functest-benchmarking:{tag}
608 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
610 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
612 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
614 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
617 name: opnfv/functest-benchmarking-cntt:{tag}
619 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
621 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
624 name: opnfv/functest-vnf:{tag}
626 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
628 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
630 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
632 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
634 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
637 name: dump all campaign data
639 - name: 'functest-{tag}-zip'
643 name: 'functest-daily'
646 - 'functest-{tag}-daily'
658 regex: ^functest-[a-z0-9.]+-daily$
660 - functest-build-containers: &functest-build-containers
661 name: 'functest-build-containers'
662 <<: *functest-containers
665 buildargs: '{buildargs}'
669 name: functest-build-containers
673 if [ "{repo}" = "_" ]; then
674 image={container}:{tag}
675 elif [ "{port}" = "None" ]; then
676 image={repo}/{container}:{tag}
678 image={repo}:{port}/{container}:{tag}
681 if [ "{buildargs}" != "None" ]; then
682 build_args="{buildargs}"
684 if [ "{ref_arg}" != "None" ]; then
685 build_args="$build_args --build-arg {ref_arg}={ref}"
688 if [ "{from}" != "None" ]; then
689 sed -i {from} Dockerfile
691 sudo docker build $build_args \
692 --pull=false --no-cache --force-rm=true \
699 url: 'https://gerrit.opnfv.org/gerrit/functest'
700 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
704 - functest-dep: &functest-dep
705 name: 'functest-containers'
709 dependency: '{dependency}'
712 name: functest-pull-dep-images
716 if [ "_" = "_" ]; then
717 image=alpine:{dependency}
718 elif [ "None" = "None" ]; then
719 image=_/alpine:{dependency}
721 image=_:/alpine:{dependency}
723 sudo docker pull $image || true
726 name: functest-remove-dep-images
730 if [ "_" = "_" ]; then
731 image=alpine:{dependency}
732 elif [ "" = "None" ]; then
733 image=_/alpine:{dependency}
735 image=_:/alpine:{dependency}
737 sudo docker rmi $image || true
740 name: 'functest-{repo}-{tag}-dep-pull'
745 - functest-pull-dep-images:
749 name: 'functest-{repo}-{tag}-dep-pull'
752 - 'functest-{repo}-{tag}-dep-pull'
755 name: 'functest-{repo}-{tag}-dep-rmi'
760 - functest-remove-dep-images:
764 name: 'functest-{repo}-{tag}-dep-rmi'
767 - 'functest-{repo}-{tag}-dep-rmi'
774 sudo apt-get update && sudo apt-get install \
775 software-properties-common gpg -y
776 sudo add-apt-repository -y ppa:deadsnakes/ppa
777 sudo apt-get update && sudo apt-get install python3.8 \
778 python3.8-dev python3.8-distutils \
779 python3.7 python3.7-dev python3.6 python3.6-dev \
780 python python-dev python3-pip enchant -y
781 sudo pip3 install tox tox-pip-version
786 name: 'functest-{tag}-tox'
791 - functest-patchset-created:
803 - 'functest-{tag}-tox'
806 name: 'functest-{repo}-{container}-{tag}-gate'
814 - functest-build-containers:
815 <<: *functest-build-containers
817 buildargs: '{buildargs}'
820 name: functest-opnfv-functest-core-{tag}-gate
822 container: functest-core
826 - 'functest-{repo}-{container}-{tag}-gate'
829 name: functest-opnfv-functest-tempest-{tag}-gate
831 container: functest-tempest
840 - 'functest-{repo}-{container}-{tag}-gate'
843 name: functest-opnfv-functest-healthcheck-{tag}-gate
845 container: functest-healthcheck
847 path: docker/healthcheck
849 - 'functest-{repo}-{container}-{tag}-gate'
852 name: functest-opnfv-functest-smoke-{tag}-gate
854 container: functest-smoke
858 - 'functest-{repo}-{container}-{tag}-gate'
861 name: functest-opnfv-functest-benchmarking-{tag}-gate
863 container: functest-benchmarking
865 path: docker/benchmarking
867 - 'functest-{repo}-{container}-{tag}-gate'
870 name: functest-opnfv-functest-vnf-{tag}-gate
872 container: functest-vnf
876 - 'functest-{repo}-{container}-{tag}-gate'
879 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
881 container: functest-smoke-cntt
883 path: docker/smoke-cntt
885 - 'functest-{repo}-{container}-{tag}-gate'
888 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
890 container: functest-benchmarking-cntt
892 path: docker/benchmarking-cntt
894 - 'functest-{repo}-{container}-{tag}-gate'
898 name: functest-patchset-created
902 - patchset-created-event
903 - comment-added-contains-event:
904 comment-contains-value: 'recheck'
905 - comment-added-contains-event:
906 comment-contains-value: 'reverify'
908 - project-compare-type: 'ANT'
909 project-pattern: 'functest'
911 - branch-compare-type: 'ANT'
912 branch-pattern: '**/{branch}'
915 name: 'functest-{tag}-review'
916 project-type: multijob
918 - functest-patchset-created:
923 - functest-build_tag:
925 - functest-EXTERNAL_NETWORK:
926 EXTERNAL_NETWORK: public
927 - functest-VOLUME_DEVICE_NAME:
928 VOLUME_DEVICE_NAME: sdb
929 - functest-IMAGE_PROPERTIES:
930 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
933 use-build-blocker: true
934 blocking-level: 'NODE'
936 - '^functest-{tag}-(daily|docker|review)$'
939 name: remove former images
941 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
943 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
945 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
947 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
949 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
951 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
954 name: remove dependency
956 - name: 'functest-{repo}-{tag}-dep-rmi'
959 name: pull dependency
961 - name: 'functest-{repo}-{tag}-dep-pull'
964 name: build opnfv/functest-core
966 - name: 'functest-opnfv-functest-core-{tag}-gate'
969 name: build opnfv/functest-tempest
971 - name: 'functest-opnfv-functest-tempest-{tag}-gate'
974 name: build containers
976 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
978 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
980 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
982 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
985 name: build cntt containers
987 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
989 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
992 name: opnfv/functest-healthcheck:{tag}
994 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
996 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
998 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
1000 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
1002 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
1004 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
1006 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1008 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1010 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1012 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1014 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1016 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1018 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1021 name: opnfv/functest-smoke:{tag}
1023 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
1025 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1027 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1029 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
1031 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
1033 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1035 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1037 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1039 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1041 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1043 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1045 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1047 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1049 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1051 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1053 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1055 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1057 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1059 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1061 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1063 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1065 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1068 name: opnfv/functest-smoke-cntt:{tag}
1070 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1072 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1074 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1076 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1078 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1080 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1082 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1084 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1087 name: opnfv/functest-benchmarking:{tag}
1089 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1091 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1093 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1095 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1098 name: opnfv/functest-benchmarking-cntt:{tag}
1100 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1102 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1105 name: opnfv/functest-vnf:{tag}
1107 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1109 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1111 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1113 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1115 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1119 name: 'functest-review'
1120 <<: *functest-params
1122 - 'functest-{tag}-review'
1125 name: functest-review
1134 regex: ^functest-[a-z0-9.]+-review$
1146 regex: ^functest-[a-z0-9.]+-tox$
1149 name: functest-push-containers
1153 if [ "{repo}" = "_" ]; then
1154 image={container}:{tag}
1155 elif [ "{port}" = "None" ]; then
1156 image={repo}/{container}:{tag}
1158 image={repo}:{port}/{container}:{tag}
1160 sudo docker push $image
1163 name: functest-commit
1166 cron: "*/30 * * * *"
1169 name: 'functest-{repo}-{container}-{tag}-build'
1177 - functest-build-containers:
1178 <<: *functest-build-containers
1180 buildargs: '{buildargs}'
1181 - functest-push-containers:
1182 <<: *functest-build-containers
1186 name: functest-opnfv-functest-core-{tag}-build
1187 <<: *functest-params
1188 container: functest-core
1192 - 'functest-{repo}-{container}-{tag}-build'
1195 name: functest-opnfv-functest-tempest-{tag}-build
1196 <<: *functest-params
1197 container: functest-tempest
1199 path: docker/tempest
1206 - 'functest-{repo}-{container}-{tag}-build'
1209 name: functest-opnfv-functest-healthcheck-{tag}-build
1210 <<: *functest-params
1211 container: functest-healthcheck
1213 path: docker/healthcheck
1215 - 'functest-{repo}-{container}-{tag}-build'
1218 name: functest-opnfv-functest-smoke-{tag}-build
1219 <<: *functest-params
1220 container: functest-smoke
1224 - 'functest-{repo}-{container}-{tag}-build'
1227 name: functest-opnfv-functest-benchmarking-{tag}-build
1228 <<: *functest-params
1229 container: functest-benchmarking
1231 path: docker/benchmarking
1233 - 'functest-{repo}-{container}-{tag}-build'
1236 name: functest-opnfv-functest-vnf-{tag}-build
1237 <<: *functest-params
1238 container: functest-vnf
1242 - 'functest-{repo}-{container}-{tag}-build'
1245 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1246 <<: *functest-params
1247 container: functest-smoke-cntt
1249 path: docker/smoke-cntt
1251 - 'functest-{repo}-{container}-{tag}-build'
1254 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1255 <<: *functest-params
1256 container: functest-benchmarking-cntt
1258 path: docker/benchmarking-cntt
1260 - 'functest-{repo}-{container}-{tag}-build'
1264 name: 'functest-{tag}-docker'
1265 project-type: multijob
1276 use-build-blocker: true
1277 blocking-level: 'NODE'
1279 - '^functest-{tag}-(daily|docker|review)$'
1282 name: remove dependency
1284 - name: 'functest-{repo}-{tag}-dep-rmi'
1287 name: pull dependency
1289 - name: 'functest-{repo}-{tag}-dep-pull'
1292 name: build opnfv/functest-core
1294 - name: 'functest-opnfv-functest-core-{tag}-build'
1297 name: build opnfv/functest-tempest
1299 - name: 'functest-opnfv-functest-tempest-{tag}-build'
1302 name: build containers
1304 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1306 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1308 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1310 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1313 name: build cntt containers
1315 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1317 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1321 name: functest-trivy
1324 sudo apt-get update && sudo apt-get install curl -y
1326 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1327 if [ "{repo}" = "_" ]; then
1328 image={container}:{tag}
1329 elif [ "{port}" = "None" ]; then
1330 image={repo}/{container}:{tag}
1332 image={repo}:{port}/{container}:{tag}
1334 ./trivy --exit-code 1 $image
1337 name: 'functest-{repo}-{container}-{tag}-trivy'
1345 <<: *functest-containers
1348 name: 'functest-opnfv-functest-core-trivy'
1349 <<: *functest-params
1350 container: 'functest-core'
1352 - 'functest-{repo}-{container}-{tag}-trivy'
1355 name: 'functest-opnfv-functest-tempest-trivy'
1356 <<: *functest-params
1357 container: 'functest-tempest'
1359 - 'functest-{repo}-{container}-{tag}-trivy'
1362 name: 'functest-opnfv-functest-healthcheck-trivy'
1363 <<: *functest-params
1364 container: 'functest-healthcheck'
1366 - 'functest-{repo}-{container}-{tag}-trivy'
1369 name: 'functest-opnfv-functest-smoke-trivy'
1370 <<: *functest-params
1371 container: 'functest-smoke'
1373 - 'functest-{repo}-{container}-{tag}-trivy'
1376 name: 'functest-opnfv-functest-benchmarking-trivy'
1377 <<: *functest-params
1378 container: 'functest-benchmarking'
1380 - 'functest-{repo}-{container}-{tag}-trivy'
1383 name: 'functest-opnfv-functest-vnf-trivy'
1384 <<: *functest-params
1385 container: 'functest-vnf'
1387 - 'functest-{repo}-{container}-{tag}-trivy'
1390 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1391 <<: *functest-params
1392 container: 'functest-smoke-cntt'
1394 - 'functest-{repo}-{container}-{tag}-trivy'
1397 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1398 <<: *functest-params
1399 container: 'functest-benchmarking-cntt'
1401 - 'functest-{repo}-{container}-{tag}-trivy'
1405 <<: *functest-params
1407 - 'functest-{tag}-docker'
1410 name: functest-docker
1419 regex: ^functest-[a-z0-9.]+-docker$
1422 name: functest-trivy
1431 regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$