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}'
89 name: functest-pull-containers
93 if [ "{repo}" = "_" ]; then
94 image={container}:{tag}
95 elif [ "{port}" = "None" ]; then
96 image={repo}/{container}:{tag}
98 image={repo}:{port}/{container}:{tag}
100 sudo docker pull $image
103 name: functest-run-containers
107 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
108 if [ "{repo}" = "_" ]; then
109 image={container}:{tag}
110 elif [ "{port}" = "None" ]; then
111 image={repo}/{container}:{tag}
113 image={repo}:{port}/{container}:{tag}
115 sudo docker run --rm \
116 --privileged={privileged} \
117 --network={network} \
118 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
119 -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
120 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
121 -v /home/opnfv/functest/.boto:/root/.boto \
122 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
123 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
124 -e NODE_NAME=$slave \
125 -e BUILD_TAG=$BUILD_TAG \
126 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
127 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
128 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
129 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
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
148 - functest-build-containers: &functest-build-containers
149 name: 'functest-build-containers'
150 <<: *functest-containers
155 name: functest-build-containers
159 if [ "{repo}" = "_" ]; then
160 image={container}:{tag}
161 elif [ "{port}" = "None" ]; then
162 image={repo}/{container}:{tag}
164 image={repo}:{port}/{container}:{tag}
166 if [ "{ref_arg}" = "None" ]; then
169 build_arg="--build-arg {ref_arg}={ref}"
172 sudo docker build $build_arg \
173 --pull=false --no-cache --force-rm=true \
180 url: 'https://gerrit.opnfv.org/gerrit/functest'
181 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
186 name: 'functest-{repo}-{container}-{tag}-pull'
191 - functest-pull-containers:
192 <<: *functest-containers
195 name: 'functest-opnfv-functest-healthcheck-pull'
197 container: 'functest-healthcheck'
199 - 'functest-{repo}-{container}-{tag}-pull'
202 name: 'functest-opnfv-functest-smoke-pull'
204 container: 'functest-smoke'
206 - 'functest-{repo}-{container}-{tag}-pull'
209 name: 'functest-opnfv-functest-smoke-cntt-pull'
211 container: 'functest-smoke-cntt'
213 - 'functest-{repo}-{container}-{tag}-pull'
216 name: 'functest-opnfv-functest-benchmarking-pull'
218 container: 'functest-benchmarking'
220 - 'functest-{repo}-{container}-{tag}-pull'
223 name: 'functest-opnfv-functest-benchmarking-cntt-pull'
225 container: 'functest-benchmarking-cntt'
227 - 'functest-{repo}-{container}-{tag}-pull'
230 name: 'functest-opnfv-functest-vnf-pull'
232 container: 'functest-vnf'
234 - 'functest-{repo}-{container}-{tag}-pull'
237 name: 'functest-{repo}-{container}-{tag}-rmi'
242 - functest-remove-images:
243 <<: *functest-containers
246 name: 'functest-opnfv-functest-healthcheck-rmi'
248 container: 'functest-healthcheck'
250 - 'functest-{repo}-{container}-{tag}-rmi'
253 name: 'functest-opnfv-functest-smoke-rmi'
255 container: 'functest-smoke'
257 - 'functest-{repo}-{container}-{tag}-rmi'
260 name: 'functest-opnfv-functest-smoke-cntt-rmi'
262 container: 'functest-smoke-cntt'
264 - 'functest-{repo}-{container}-{tag}-rmi'
267 name: 'functest-opnfv-functest-benchmarking-rmi'
269 container: 'functest-benchmarking'
271 - 'functest-{repo}-{container}-{tag}-rmi'
274 name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
276 container: 'functest-benchmarking-cntt'
278 - 'functest-{repo}-{container}-{tag}-rmi'
281 name: 'functest-opnfv-functest-vnf-rmi'
283 container: 'functest-vnf'
285 - 'functest-{repo}-{container}-{tag}-rmi'
288 name: 'functest-{repo}-{container}-{tag}-{test}-run'
292 - functest-build_tag:
294 - functest-EXTERNAL_NETWORK:
295 EXTERNAL_NETWORK: public
296 - functest-VOLUME_DEVICE_NAME:
297 VOLUME_DEVICE_NAME: sdb
298 - functest-IMAGE_PROPERTIES:
299 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
301 - functest-run-containers:
302 <<: *functest-run-containers
305 name: 'functest-opnfv-functest-healthcheck'
307 container: 'functest-healthcheck'
325 - 'functest-{repo}-{container}-{tag}-{test}-run'
328 name: 'functest-opnfv-functest-smoke'
330 container: 'functest-smoke'
357 - {'tag': 'latest', 'test': 'refstack_defcore'}
358 - {'tag': 'latest', 'test': 'networking-bgpvpn'}
359 - {'tag': 'latest', 'test': 'networking-sfc'}
360 - {'tag': 'latest', 'test': 'patrole'}
361 - {'tag': 'leguer', 'test': 'refstack_defcore'}
362 - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
363 - {'tag': 'leguer', 'test': 'networking-sfc'}
364 - {'tag': 'leguer', 'test': 'patrole'}
365 - {'tag': 'kali', 'test': 'refstack_defcore'}
366 - {'tag': 'kali', 'test': 'networking-bgpvpn'}
367 - {'tag': 'kali', 'test': 'networking-sfc'}
368 - {'tag': 'kali', 'test': 'patrole_admin'}
369 - {'tag': 'kali', 'test': 'patrole_member'}
370 - {'tag': 'kali', 'test': 'patrole_reader'}
371 - {'tag': 'jerma', 'test': 'refstack_defcore'}
372 - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
373 - {'tag': 'jerma', 'test': 'networking-sfc'}
374 - {'tag': 'jerma', 'test': 'patrole_admin'}
375 - {'tag': 'jerma', 'test': 'patrole_member'}
376 - {'tag': 'jerma', 'test': 'patrole_reader'}
377 - {'tag': 'jerma', 'test': 'tempest_cyborg'}
378 - {'tag': 'iruya', 'test': 'refstack_defcore'}
379 - {'tag': 'iruya', 'test': 'patrole_admin'}
380 - {'tag': 'iruya', 'test': 'patrole_member'}
381 - {'tag': 'iruya', 'test': 'patrole_reader'}
382 - {'tag': 'iruya', 'test': 'tempest_cyborg'}
383 - {'tag': 'hunter', 'test': 'refstack_compute'}
384 - {'tag': 'hunter', 'test': 'refstack_object'}
385 - {'tag': 'hunter', 'test': 'refstack_platform'}
386 - {'tag': 'hunter', 'test': 'tempest_octavia'}
387 - {'tag': 'hunter', 'test': 'tempest_telemetry'}
388 - {'tag': 'hunter', 'test': 'patrole_admin'}
389 - {'tag': 'hunter', 'test': 'patrole_member'}
390 - {'tag': 'hunter', 'test': 'patrole_reader'}
391 - {'tag': 'hunter', 'test': 'tempest_cyborg'}
393 - 'functest-{repo}-{container}-{tag}-{test}-run'
396 name: 'functest-opnfv-functest-smoke-cntt'
398 container: 'functest-smoke-cntt'
400 - tempest_neutron_cntt
401 - tempest_cinder_cntt
402 - tempest_keystone_cntt
406 - tempest_scenario_cntt
411 - 'functest-{repo}-{container}-{tag}-{test}-run'
414 name: 'functest-opnfv-functest-benchmarking'
416 container: 'functest-benchmarking'
425 - 'functest-{repo}-{container}-{tag}-{test}-run'
428 name: 'functest-opnfv-functest-benchmarking-cntt'
430 container: 'functest-benchmarking-cntt'
437 - 'functest-{repo}-{container}-{tag}-{test}-run'
440 name: 'functest-opnfv-functest-vnf'
442 container: 'functest-vnf'
452 - 'functest-{repo}-{container}-{tag}-{test}-run'
460 if [ "{repo}" = "_" ]; then
461 image={container}:{tag}
462 elif [ "{port}" = "None" ]; then
463 image={repo}/{container}:{tag}
465 image={repo}:{port}/{container}:{tag}
467 sudo docker run --rm \
468 -e S3_ENDPOINT_URL=https://storage.googleapis.com \
469 -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
470 -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
471 -v /home/opnfv/functest/.boto:/root/.boto \
472 -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
473 -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
474 -e BUILD_TAG=$BUILD_TAG \
475 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
476 -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
477 -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
478 -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
479 -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
480 -v /home/opnfv/functest/images:/home/opnfv/functest/images \
484 name: 'functest-{tag}-zip'
488 - functest-build_tag:
490 - functest-EXTERNAL_NETWORK:
491 EXTERNAL_NETWORK: public
492 - functest-VOLUME_DEVICE_NAME:
493 VOLUME_DEVICE_NAME: sdb
494 - functest-IMAGE_PROPERTIES:
495 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
498 <<: *functest-containers
501 name: 'functest-{tag}-zip'
503 container: 'functest-healthcheck'
505 - 'functest-{tag}-zip'
508 name: 'functest-{tag}-daily'
509 project-type: multijob
515 - functest-build_tag:
517 - functest-EXTERNAL_NETWORK:
518 EXTERNAL_NETWORK: public
519 - functest-VOLUME_DEVICE_NAME:
520 VOLUME_DEVICE_NAME: sdb
521 - functest-IMAGE_PROPERTIES:
522 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
525 use-build-blocker: true
526 blocking-level: 'NODE'
528 - '^functest-{tag}-(daily|docker|review)$'
531 name: remove former images
533 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
535 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
537 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
539 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
541 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
543 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
546 name: pull containers
548 - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
550 - name: 'functest-opnfv-functest-smoke-{tag}-pull'
552 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
554 - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
556 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
558 - name: 'functest-opnfv-functest-vnf-{tag}-pull'
561 name: opnfv/functest-healthcheck:{tag}
563 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
565 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
567 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
569 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
571 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
573 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
575 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
577 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
579 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
581 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
583 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
585 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
587 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
590 name: opnfv/functest-smoke:{tag}
592 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
594 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
596 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
598 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
600 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
602 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
604 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
606 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
608 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
610 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
612 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
614 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
616 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
618 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
620 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
622 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
624 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
626 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
628 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
630 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
632 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
634 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
637 name: opnfv/functest-smoke-cntt:{tag}
639 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
641 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
643 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
645 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
647 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
649 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
651 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
653 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
656 name: opnfv/functest-benchmarking:{tag}
658 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
660 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
662 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
664 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
667 name: opnfv/functest-benchmarking-cntt:{tag}
669 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
671 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
674 name: opnfv/functest-vnf:{tag}
676 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
678 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
680 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
682 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
684 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
687 name: dump all campaign data
689 - name: 'functest-{tag}-zip'
692 - functest-dep: &functest-dep
693 name: 'functest-containers'
697 dependency: '{dependency}'
700 name: functest-pull-dep-images
704 if [ "_" = "_" ]; then
705 image=alpine:{dependency}
706 elif [ "_" = "None" ]; then
707 image=_/alpine:{dependency}
709 image=_:/alpine{dependency}
711 sudo docker pull $image || true
714 name: functest-remove-dep-images
718 if [ "_" = "_" ]; then
719 image=alpine:{dependency}
720 elif [ "_" = "None" ]; then
721 image=_/alpine:{dependency}
723 image=_:/alpine{dependency}
725 sudo docker rmi $image || true
728 name: 'functest-{repo}-{tag}-dep-pull'
733 - functest-pull-dep-images:
737 name: 'functest-{repo}-{tag}-dep-pull'
740 - 'functest-{repo}-{tag}-dep-pull'
743 name: 'functest-{repo}-{tag}-dep-rmi'
748 - functest-remove-dep-images:
752 name: 'functest-{repo}-{tag}-dep-rmi'
755 - 'functest-{repo}-{tag}-dep-rmi'
762 sudo apt-get update && sudo apt-get install software-properties-common gpg -y
763 sudo add-apt-repository -y ppa:deadsnakes/ppa
764 sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
765 python3.8-distutils \
766 python3.7 python3.7-dev python3.6 python3.6-dev \
767 python python-dev python3-pip enchant -y
768 sudo pip3 install tox tox-pip-version
772 name: 'functest-{tag}-tox'
777 - functest-patchset-created:
789 - 'functest-{tag}-tox'
792 name: functest-opnfv-functest-core-{tag}-gate
794 container: functest-core
798 - 'functest-{repo}-{container}-{tag}-gate'
801 name: functest-opnfv-functest-healthcheck-{tag}-gate
803 container: functest-healthcheck
805 path: docker/healthcheck
807 - 'functest-{repo}-{container}-{tag}-gate'
810 name: functest-opnfv-functest-smoke-{tag}-gate
812 container: functest-smoke
816 - 'functest-{repo}-{container}-{tag}-gate'
819 name: functest-opnfv-functest-benchmarking-{tag}-gate
821 container: functest-benchmarking
823 path: docker/benchmarking
825 - 'functest-{repo}-{container}-{tag}-gate'
828 name: functest-opnfv-functest-vnf-{tag}-gate
830 container: functest-vnf
834 - 'functest-{repo}-{container}-{tag}-gate'
837 name: functest-opnfv-functest-smoke-cntt-{tag}-gate
839 container: functest-smoke-cntt
841 path: docker/smoke-cntt
843 - 'functest-{repo}-{container}-{tag}-gate'
846 name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
848 container: functest-benchmarking-cntt
850 path: docker/benchmarking-cntt
852 - 'functest-{repo}-{container}-{tag}-gate'
856 name: 'functest-{repo}-{container}-{tag}-gate'
864 - functest-build-containers:
865 <<: *functest-build-containers
869 name: functest-patchset-created
873 - patchset-created-event
874 - comment-added-contains-event:
875 comment-contains-value: 'recheck'
876 - comment-added-contains-event:
877 comment-contains-value: 'reverify'
879 - project-compare-type: 'ANT'
880 project-pattern: 'functest'
882 - branch-compare-type: 'ANT'
883 branch-pattern: '**/{branch}'
886 name: 'functest-{tag}-review'
887 project-type: multijob
889 - functest-patchset-created:
894 - functest-build_tag:
896 - functest-EXTERNAL_NETWORK:
897 EXTERNAL_NETWORK: public
898 - functest-VOLUME_DEVICE_NAME:
899 VOLUME_DEVICE_NAME: sdb
900 - functest-IMAGE_PROPERTIES:
901 IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
904 use-build-blocker: true
905 blocking-level: 'NODE'
907 - '^functest-{tag}-(daily|docker|review)$'
910 name: remove former images
912 - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
914 - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
916 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
918 - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
920 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
922 - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
925 name: remove dependency
927 - name: 'functest-{repo}-{tag}-dep-rmi'
930 name: pull dependency
932 - name: 'functest-{repo}-{tag}-dep-pull'
935 name: build opnfv/functest-core
937 - name: 'functest-opnfv-functest-core-{tag}-gate'
940 name: build containers
942 - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
944 - name: 'functest-opnfv-functest-smoke-{tag}-gate'
946 - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
948 - name: 'functest-opnfv-functest-vnf-{tag}-gate'
951 name: build cntt containers
953 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
955 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
958 name: opnfv/functest-healthcheck:{tag}
960 - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
962 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
964 - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
966 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
968 - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
970 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
972 - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
974 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
976 - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
978 - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
980 - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
982 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
984 - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
987 name: opnfv/functest-smoke:{tag}
989 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
991 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
993 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
995 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
997 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
999 - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1001 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1003 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1005 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1007 - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1009 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1011 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1013 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1015 - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1017 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
1019 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
1021 - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
1023 - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1025 - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1027 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
1029 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
1031 - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
1034 name: opnfv/functest-smoke-cntt:{tag}
1036 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
1038 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
1040 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
1042 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
1044 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
1046 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
1048 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
1050 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
1053 name: opnfv/functest-benchmarking:{tag}
1055 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1057 - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1059 - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1061 - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1064 name: opnfv/functest-benchmarking-cntt:{tag}
1066 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
1068 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
1071 name: opnfv/functest-vnf:{tag}
1073 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1075 - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1077 - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1079 - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1081 - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1085 name: functest-push-containers
1089 if [ "{repo}" = "_" ]; then
1090 image={container}:{tag}
1091 elif [ "{port}" = "None" ]; then
1092 image={repo}/{container}:{tag}
1094 image={repo}:{port}/{container}:{tag}
1096 sudo docker push $image
1099 name: functest-commit
1102 cron: "*/30 * * * *"
1105 name: 'functest-{repo}-{container}-{tag}-build'
1113 - functest-build-containers:
1114 <<: *functest-build-containers
1116 - functest-push-containers:
1117 <<: *functest-build-containers
1121 name: functest-opnfv-functest-core-{tag}-build
1122 <<: *functest-params
1123 container: functest-core
1127 - 'functest-{repo}-{container}-{tag}-build'
1130 name: functest-opnfv-functest-healthcheck-{tag}-build
1131 <<: *functest-params
1132 container: functest-healthcheck
1134 path: docker/healthcheck
1136 - 'functest-{repo}-{container}-{tag}-build'
1139 name: functest-opnfv-functest-smoke-{tag}-build
1140 <<: *functest-params
1141 container: functest-smoke
1145 - 'functest-{repo}-{container}-{tag}-build'
1148 name: functest-opnfv-functest-benchmarking-{tag}-build
1149 <<: *functest-params
1150 container: functest-benchmarking
1152 path: docker/benchmarking
1154 - 'functest-{repo}-{container}-{tag}-build'
1157 name: functest-opnfv-functest-vnf-{tag}-build
1158 <<: *functest-params
1159 container: functest-vnf
1163 - 'functest-{repo}-{container}-{tag}-build'
1166 name: functest-opnfv-functest-smoke-cntt-{tag}-build
1167 <<: *functest-params
1168 container: functest-smoke-cntt
1170 path: docker/smoke-cntt
1172 - 'functest-{repo}-{container}-{tag}-build'
1175 name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
1176 <<: *functest-params
1177 container: functest-benchmarking-cntt
1179 path: docker/benchmarking-cntt
1181 - 'functest-{repo}-{container}-{tag}-build'
1185 name: 'functest-{tag}-docker'
1186 project-type: multijob
1197 use-build-blocker: true
1198 blocking-level: 'NODE'
1200 - '^functest-{tag}-(daily|docker|review)$'
1203 name: remove dependency
1205 - name: 'functest-{repo}-{tag}-dep-rmi'
1208 name: pull dependency
1210 - name: 'functest-{repo}-{tag}-dep-pull'
1213 name: build opnfv/functest-core
1215 - name: 'functest-opnfv-functest-core-{tag}-build'
1218 name: build containers
1220 - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
1222 - name: 'functest-opnfv-functest-smoke-{tag}-build'
1224 - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
1226 - name: 'functest-opnfv-functest-vnf-{tag}-build'
1229 name: build cntt containers
1231 - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
1233 - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
1237 name: functest-trivy
1240 sudo apt-get update && sudo apt-get install curl
1241 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
1242 if [ "{repo}" = "_" ]; then
1243 image={container}:{tag}
1244 elif [ "{port}" = "None" ]; then
1245 image={repo}/{container}:{tag}
1247 image={repo}:{port}/{container}:{tag}
1249 ./trivy --exit-code 1 $image
1252 name: 'functest-{repo}-{container}-{tag}-trivy'
1260 <<: *functest-containers
1263 name: 'functest-opnfv-functest-healthcheck-trivy'
1264 <<: *functest-params
1265 container: 'functest-healthcheck'
1267 - 'functest-{repo}-{container}-{tag}-trivy'
1269 name: 'functest-opnfv-functest-smoke-trivy'
1270 <<: *functest-params
1271 container: 'functest-smoke'
1273 - 'functest-{repo}-{container}-{tag}-trivy'
1275 name: 'functest-opnfv-functest-smoke-cntt-trivy'
1276 <<: *functest-params
1277 container: 'functest-smoke-cntt'
1279 - 'functest-{repo}-{container}-{tag}-trivy'
1281 name: 'functest-opnfv-functest-benchmarking-trivy'
1282 <<: *functest-params
1283 container: 'functest-benchmarking'
1285 - 'functest-{repo}-{container}-{tag}-trivy'
1287 name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
1288 <<: *functest-params
1289 container: 'functest-benchmarking-cntt'
1291 - 'functest-{repo}-{container}-{tag}-trivy'
1293 name: 'functest-opnfv-functest-vnf-trivy'
1294 <<: *functest-params
1295 container: 'functest-vnf'
1297 - 'functest-{repo}-{container}-{tag}-trivy'
1301 <<: *functest-params
1303 - 'functest-{tag}-daily'
1304 - 'functest-{tag}-review'
1305 - 'functest-{tag}-docker'
1318 regex: ^functest-[a-z]+-daily$
1321 name: functest-review
1330 regex: ^functest-[a-z]+-review$
1342 regex: ^functest-[a-z]+-tox$
1345 name: functest-docker
1354 regex: ^functest-[a-z]+-docker$
1357 name: functest-trivy
1366 regex: ^functest-[a-z]+-[a-z]+-[a-z]+-trivy$