blob: 4ea2df930ded69f282449aa03c24ee64faac2aaf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
- 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
|