joid: Switch using labels instead of slaves
[releng.git] / jjb / joid / joid-ci-jobs.yml
1 ########################
2 # Job configuration for joid
3 ########################
4 - project:
5
6     name: 'joid'
7
8     project: '{name}'
9
10     installer: '{name}'
11
12 #--------------------------------
13 # BRANCH ANCHORS
14 #--------------------------------
15     master: &master
16         stream: master
17         branch: '{stream}'
18         gs-pathname: ''
19     brahmaputra: &brahmaputra
20         stream: brahmaputra
21         branch: 'stable/{stream}'
22         gs-pathname: '/{stream}'
23 #--------------------------------
24 # POD, INSTALLER, AND BRANCH MAPPING
25 #--------------------------------
26 #        CI PODs
27 #--------------------------------
28     pod:
29         - baremetal:
30             slave-label: joid-baremetal
31             <<: *master
32         - virtual:
33             slave-label: joid-virtual
34             <<: *master
35         - baremetal:
36             slave-label: joid-baremetal
37             <<: *brahmaputra
38         - virtual:
39             slave-label: joid-virtual
40             <<: *brahmaputra
41 #--------------------------------
42 #        None-CI PODs
43 #--------------------------------
44         - orange-pod2:
45             slave-label: orange-pod2
46             <<: *brahmaputra
47         - orange-pod2:
48             slave-label: orange-pod2
49             <<: *master
50         - juniper-pod1:
51             slave-label: juniper-pod1
52             <<: *master
53 #--------------------------------
54 # new scenario descriptions
55     scenario:
56         - 'os-nosdn-nofeature-noha':
57             auto-trigger-name: 'daily-trigger-disabled'
58         - 'os-nosdn-nofeature-ha':
59             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
60         - 'os-odl_l2-nofeature-ha':
61             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
62         - 'os-onos-nofeature-ha':
63             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
64         - 'os-odl_l2-nofeature-noha':
65             auto-trigger-name: 'daily-trigger-disabled'
66         - 'os-onos-nofeature-noha':
67             auto-trigger-name: 'daily-trigger-disabled'
68         - 'os-ocl-nofeature-ha':
69             auto-trigger-name: 'daily-trigger-disabled'
70         - 'os-ocl-nofeature-noha':
71             auto-trigger-name: 'daily-trigger-disabled'
72
73     jobs:
74         - 'joid-{scenario}-{pod}-daily-{stream}'
75         - 'joid-deploy-{pod}-daily-{stream}'
76
77 ########################
78 # job templates
79 ########################
80 - job-template:
81     name: 'joid-{scenario}-{pod}-daily-{stream}'
82
83     concurrent: false
84
85     properties:
86         - throttle:
87             enabled: true
88             max-total: 4
89             max-per-node: 1
90         - build-blocker:
91             use-build-blocker: true
92             blocking-jobs:
93                 - 'joid-os-.*?-{pod}-daily-{stream}'
94
95     wrappers:
96         - build-name:
97             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
98
99     triggers:
100         - '{auto-trigger-name}'
101
102     parameters:
103         - project-parameter:
104             project: '{project}'
105         - '{installer}-defaults'
106         - '{slave-label}-defaults':
107             installer: '{installer}'
108         - string:
109             name: DEPLOY_SCENARIO
110             default: '{scenario}'
111
112     builders:
113         - trigger-builds:
114             - project: 'joid-deploy-{pod}-daily-{stream}'
115               current-parameters: true
116               predefined-parameters:
117                 DEPLOY_SCENARIO={scenario}
118               same-node: true
119               block: true
120         - trigger-builds:
121             - project: 'functest-joid-{pod}-daily-{stream}'
122               current-parameters: false
123               predefined-parameters:
124                 DEPLOY_SCENARIO={scenario}
125               same-node: true
126               block: true
127               block-thresholds:
128                 build-step-failure-threshold: 'never'
129                 failure-threshold: 'never'
130                 unstable-threshold: 'FAILURE'
131         - trigger-builds:
132             - project: 'yardstick-joid-{pod}-daily-{stream}'
133               current-parameters: false
134               predefined-parameters:
135                 DEPLOY_SCENARIO={scenario}
136               block: true
137               same-node: true
138               block-thresholds:
139                 build-step-failure-threshold: 'never'
140                 failure-threshold: 'never'
141                 unstable-threshold: 'FAILURE'
142
143 - job-template:
144     name: 'joid-deploy-{pod}-daily-{stream}'
145
146     concurrent: false
147
148     properties:
149         - throttle:
150             enabled: true
151             max-total: 4
152             max-per-node: 1
153         - build-blocker:
154             use-build-blocker: true
155             blocking-jobs:
156                 - 'joid-deploy-{pod}-daily-{stream}'
157
158     wrappers:
159         - build-name:
160             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
161         - timeout:
162             timeout: 180
163             fail: true
164
165     parameters:
166         - project-parameter:
167             project: '{project}'
168         - '{installer}-defaults'
169         - '{slave-label}-defaults':
170             installer: '{installer}'
171         - string:
172             name: DEPLOY_SCENARIO
173             default: 'os-odl_l2-nofeature-ha'
174
175     scm:
176         - git-scm:
177             credentials-id: '{ssh-credentials}'
178             refspec: ''
179             branch: '{branch}'
180
181     builders:
182         - 'builder-macro'
183 ########################
184 # builder macros
185 ########################
186 - builder:
187     name: 'builder-macro'
188     builders:
189         - shell: |
190             #!/bin/bash
191             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
192             echo
193             echo "------ First Executing clean.sh ------"
194             cd $WORKSPACE/ci
195             ./clean.sh
196         - shell:
197             !include-raw: ./joid-deploy.sh
198
199 ########################
200 # trigger macros
201 ########################
202 # os-nosdn-nofeature-ha trigger - branch: master
203 - trigger:
204     name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
205     triggers:
206         - timed: ''
207 - trigger:
208     name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
209     triggers:
210         - timed: ''
211 - trigger:
212     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-master-trigger'
213     triggers:
214         - timed: ''
215 - trigger:
216     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-master-trigger'
217     triggers:
218         - timed: ''
219
220 # os-nosdn-nofeature-ha trigger - branch: stable/brahmaputra
221 - trigger:
222     name: 'joid-os-nosdn-nofeature-ha-baremetal-brahmaputra-trigger'
223     triggers:
224         - timed: '0 2 * * *'
225 - trigger:
226     name: 'joid-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
227     triggers:
228         - timed: ''
229 - trigger:
230     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-brahmaputra-trigger'
231     triggers:
232         - timed: ''
233 - trigger:
234     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-brahmaputra-trigger'
235     triggers:
236         - timed: ''
237
238 # os-odl_l2-nofeature-ha trigger - branch: master
239 - trigger:
240     name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
241     triggers:
242         - timed: ''
243 - trigger:
244     name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
245     triggers:
246         - timed: ''
247 - trigger:
248     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-master-trigger'
249     triggers:
250         - timed: ''
251 - trigger:
252     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-master-trigger'
253     triggers:
254         - timed: ''
255
256 # os-odl_l2-nofeature-ha trigger - branch: stable/brahmaputra
257 - trigger:
258     name: 'joid-os-odl_l2-nofeature-ha-baremetal-brahmaputra-trigger'
259     triggers:
260         - timed: '0 10 * * *'
261 - trigger:
262     name: 'joid-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
263     triggers:
264         - timed: ''
265 - trigger:
266     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-brahmaputra-trigger'
267     triggers:
268         - timed: ''
269 - trigger:
270     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-brahmaputra-trigger'
271     triggers:
272         - timed: ''
273
274 # os-onos-nofeature-ha trigger - branch: master
275 - trigger:
276     name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
277     triggers:
278         - timed: ''
279 - trigger:
280     name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
281     triggers:
282         - timed: ''
283 - trigger:
284     name: 'joid-os-onos-nofeature-ha-orange-pod2-master-trigger'
285     triggers:
286         - timed: ''
287 - trigger:
288     name: 'joid-os-onos-nofeature-ha-juniper-pod1-master-trigger'
289     triggers:
290         - timed: ''
291
292 # os-onos-nofeature-ha trigger - branch: stable/brahmaputra
293 - trigger:
294     name: 'joid-os-onos-nofeature-ha-baremetal-brahmaputra-trigger'
295     triggers:
296         - timed: '0 18 * * *'
297 - trigger:
298     name: 'joid-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
299     triggers:
300         - timed: ''
301 - trigger:
302     name: 'joid-os-onos-nofeature-ha-orange-pod2-brahmaputra-trigger'
303     triggers:
304         - timed: ''
305 - trigger:
306     name: 'joid-os-onos-nofeature-ha-juniper-pod1-brahmaputra-trigger'
307     triggers:
308         - timed: ''