name: EXTERNAL_NETWORK
default: public
+- parameter:
+ name: functest-VOLUME_DEVICE_NAME
+ parameters:
+ - string:
+ name: VOLUME_DEVICE_NAME
+ default: sdb
+
+- parameter:
+ name: functest-IMAGE_PROPERTIES
+ parameters:
+ - string:
+ name: IMAGE_PROPERTIES
+ default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+
- functest-containers: &functest-containers
name: 'functest-containers'
repo: '{repo}'
<<: *functest-containers
test: '{test}'
dashboard_url: '{dashboard_url}'
-
-- functest-build-containers: &functest-build-containers
- name: 'functest-build-containers'
- <<: *functest-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
+ privileged: '{privileged}'
+ network: '{network}'
- builder:
name: functest-pull-containers
fi
sudo docker pull $image
-- builder:
- name: functest-build-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
-
- builder:
name: functest-run-containers
builders:
fi
volumes=""
case "{tag}" in
- arm*-hunter)
- volumes=-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
- -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static;;
+ arm-hunter)
+ volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
+ arm64-hunter)
+ volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
esac
sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
-e NODE_NAME=$slave \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEBUG=$DEBUG \
-e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-e DASHBOARD_URL={dashboard_url} \
- -e VOLUME_DEVICE_NAME=sdb \
- -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
+ -v /home/opnfv/functest/.boto:/root/.boto \
-v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/.boto:/root/.boto \
$volumes $image run_tests -t {test} -r -p
- builder:
fi
sudo docker rmi $image || true
+- functest-build-containers: &functest-build-containers
+ name: 'functest-build-containers'
+ <<: *functest-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+
+- builder:
+ name: functest-build-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ if [ "{ref_arg}" = "None" ]; then
+ build_arg=""
+ else
+ build_arg="--build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ sudo docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
- scm:
name: functest-scm
scm:
DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
builders:
- functest-run-containers:
<<: *functest-run-containers
- odl
- tempest_smoke
- tempest_horizon
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
- patrole_admin
- patrole_member
- patrole_reader
- - neutron_trunk
- networking-bgpvpn
- networking-sfc
- tempest_barbican
exclude:
- tag: latest
test: refstack_defcore
- - tag: latest
- test: neutron_trunk
- tag: latest
test: networking-bgpvpn
- tag: latest
test: patrole
- tag: kali
test: refstack_defcore
- - tag: kali
- test: neutron_trunk
- tag: kali
test: networking-bgpvpn
- tag: kali
test: patrole_reader
- tag: jerma
test: refstack_defcore
- - tag: jerma
- test: neutron_trunk
- tag: jerma
test: networking-bgpvpn
- tag: jerma
test: tempest_cyborg
- tag: iruya
test: refstack_defcore
- - tag: iruya
- test: neutron_trunk
- tag: iruya
test: patrole_admin
- tag: iruya
test: refstack_platform
- tag: hunter
test: tempest_octavia
- - tag: hunter
- test: neutron_trunk
- tag: hunter
test: tempest_telemetry
- tag: hunter
test: tempest_cyborg
- tag: arm64-latest
test: refstack_defcore
- - tag: arm64-latest
- test: neutron_trunk
- tag: arm64-latest
test: networking-bgpvpn
- tag: arm64-latest
test: patrole
- tag: arm64-kali
test: refstack_defcore
- - tag: arm64-kali
- test: neutron_trunk
- tag: arm64-kali
test: networking-bgpvpn
- tag: arm64-kali
test: patrole_reader
- tag: arm64-jerma
test: refstack_defcore
- - tag: arm64-jerma
- test: neutron_trunk
- tag: arm64-jerma
test: networking-bgpvpn
- tag: arm64-jerma
test: tempest_cyborg
- tag: arm64-iruya
test: refstack_defcore
- - tag: arm64-iruya
- test: neutron_trunk
- tag: arm64-iruya
test: patrole_admin
- tag: arm64-iruya
test: refstack_platform
- tag: arm64-hunter
test: tempest_octavia
- - tag: arm64-hunter
- test: neutron_trunk
- tag: arm64-hunter
test: tempest_telemetry
- tag: arm64-hunter
test: patrole_reader
- tag: arm64-hunter
test: tempest_cyborg
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
- tempest_full_cntt
- tempest_scenario_cntt
- tempest_slow_cntt
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
- rally_jobs
- vmtp
- shaker
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
test:
- rally_full_cntt
- rally_jobs_cntt
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
- heat_ims
- vyos_vrouter
- juju_epc
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
+
- builder:
name: functest-zip
builders:
else
image={repo}:{port}/{container}:{tag}
fi
+ volumes=""
+ case "{tag}" in
+ arm-hunter)
+ volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
+ arm64-hunter)
+ volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
+ esac
sudo docker run --rm \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-v /home/opnfv/functest/.boto:/root/.boto \
- $image zip_campaign
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ $volumes $image zip_campaign
- job-template:
name: 'functest-{tag}-zip'
parameters:
+ - functest-slave:
+ slave: '{slave}'
- functest-build_tag:
build_tag: ''
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
builders:
- functest-zip:
<<: *functest-containers
DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
container: alpine
tag: '3.12'
slave: master
+ exclude:
+ - tag: arm64-latest
+ - tag: arm64-kali
+ - tag: arm64-jerma
+ - tag: arm64-iruya
+ - tag: arm64-hunter
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
container: alpine
tag: '3.12'
slave: master
+ exclude:
+ - tag: arm64-latest
+ - tag: arm64-kali
+ - tag: arm64-jerma
+ - tag: arm64-iruya
+ - tag: arm64-hunter
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'