- job: name: leg-openstack-rally project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace linaro: - job-read - job-extended-read - job-build - job-cancel parameters: - string: name: BUNDLE_STREAM_NAME default: '/private/team/openstack/rally-ci/' - string: name: LAVA_SERVER default: 'openstack.validation.linaro.org/RPC2/' - string: name: LAVA_JOB_DEFINITION default: 'configs/leg-openstack-rally/lava-job-definitions/${DEVICE_TYPE}/template-rally.yaml' disabled: false node: build child-workspace: . display-name: 'LEG - Openstack Rally' axes: - axis: type: user-defined name: DEVICE_TYPE values: - mustang - axis: type: user-defined name: OS_DISTRO values: - ubuntu - axis: type: user-defined name: OS_VERSION values: - trusty - axis: type: user-defined name: DEVSTACK_BRANCH values: - master execution-strategy: sequential: true triggers: - timed: '@daily' wrappers: - timestamps - matrix-tie-parent: node: build builders: - shell: | #!/bin/bash set -ex # IMPORTANT: specify the exact target device (required by the LAVA job # template) to use for the specified device type case "${DEVICE_TYPE}" in mustang) export DEVICE_TARGET=osmustang02 ;; esac rm -rf configs lci-build-tools git clone --depth 1 http://git.linaro.org/ci/lci-build-tools.git git clone --depth 1 http://git.linaro.org/ci/job/configs.git # FIXME: regression introduced with commit 00a22059 wget https://git.linaro.org/ci/lci-build-tools.git/blob_plain/3d23206c4afe0213d8f05b669a8213e7b26903cc:/yaml-to-json.py -O lci-build-tools/yaml-to-json.py # Update the template based on the specified os distro case "${OS_DISTRO}" in ubuntu) # The template needs to be updated to specify the correct cloud image to # pull. This must be done BEFORE calling yaml-to-json.py! LAVA_CLOUD_IMG_URL="http://cloud-images.ubuntu.com/${OS_VERSION}/current/${OS_VERSION}-server-cloudimg-arm64-disk1.img" sed -i "s|\${LAVA_CLOUD_IMG_URL}|${LAVA_CLOUD_IMG_URL}|" ${LAVA_JOB_DEFINITION} ;; esac # Update the metadata fields in the template sed -e "s|\${DEVSTACK_BRANCH}|${DEVSTACK_BRANCH}|" \ -e "s|\${OS_DISTRO}|${OS_DISTRO}|" \ -e "s|\${OS_VERSION}|${OS_VERSION}|" \ < ${LAVA_JOB_DEFINITION} \ > ${LAVA_JOB_DEFINITION}.new ./lci-build-tools/yaml-to-json.py ${LAVA_JOB_DEFINITION}.new > custom_lava_job_definition.json cat << EOF > post_build_lava_parameters DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}/ws/custom_lava_job_definition.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters block: true