Add Project Option to Throttle Property
[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-nosdn-lxd-ha':
61             auto-trigger-name: 'daily-trigger-disabled'
62         - 'os-nosdn-lxd-noha':
63             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
64         - 'os-odl_l2-nofeature-ha':
65             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
66         - 'os-onos-nofeature-ha':
67             auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
68         - 'os-odl_l2-nofeature-noha':
69             auto-trigger-name: 'daily-trigger-disabled'
70         - 'os-onos-nofeature-noha':
71             auto-trigger-name: 'daily-trigger-disabled'
72         - 'os-ocl-nofeature-ha':
73             auto-trigger-name: 'daily-trigger-disabled'
74         - 'os-ocl-nofeature-noha':
75             auto-trigger-name: 'daily-trigger-disabled'
76
77     jobs:
78         - 'joid-{scenario}-{pod}-daily-{stream}'
79         - 'joid-deploy-{pod}-daily-{stream}'
80
81 ########################
82 # job templates
83 ########################
84 - job-template:
85     name: 'joid-{scenario}-{pod}-daily-{stream}'
86
87     concurrent: false
88
89     properties:
90         - throttle:
91             enabled: true
92             max-total: 4
93             max-per-node: 1
94             option: 'project'
95         - build-blocker:
96             use-build-blocker: true
97             blocking-jobs:
98                 - 'joid-os-.*?-{pod}-daily-{stream}'
99             block-level: 'NODE'
100
101     wrappers:
102         - build-name:
103             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
104
105     triggers:
106         - '{auto-trigger-name}'
107
108     parameters:
109         - project-parameter:
110             project: '{project}'
111         - '{installer}-defaults'
112         - '{slave-label}-defaults':
113             installer: '{installer}'
114         - string:
115             name: DEPLOY_SCENARIO
116             default: '{scenario}'
117
118     builders:
119         - trigger-builds:
120             - project: 'joid-deploy-{pod}-daily-{stream}'
121               current-parameters: true
122               predefined-parameters:
123                 DEPLOY_SCENARIO={scenario}
124               same-node: true
125               block: true
126         - trigger-builds:
127             - project: 'yardstick-joid-{pod}-daily-{stream}'
128               current-parameters: false
129               predefined-parameters:
130                 DEPLOY_SCENARIO={scenario}
131               block: true
132               same-node: true
133               block-thresholds:
134                 build-step-failure-threshold: 'never'
135                 failure-threshold: 'never'
136                 unstable-threshold: 'FAILURE'
137         - trigger-builds:
138             - project: 'functest-joid-{pod}-daily-{stream}'
139               current-parameters: false
140               predefined-parameters:
141                 DEPLOY_SCENARIO={scenario}
142               block: true
143               same-node: true
144               block-thresholds:
145                 build-step-failure-threshold: 'never'
146                 failure-threshold: 'never'
147                 unstable-threshold: 'FAILURE'
148
149 - job-template:
150     name: 'joid-deploy-{pod}-daily-{stream}'
151
152     concurrent: true
153
154     properties:
155         - throttle:
156             enabled: true
157             max-total: 4
158             max-per-node: 1
159             option: 'project'
160         - build-blocker:
161             use-build-blocker: true
162             blocking-jobs:
163                 - 'joid-deploy-{pod}-daily-{stream}'
164             block-level: 'NODE'
165
166     wrappers:
167         - build-name:
168             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
169         - timeout:
170             timeout: 180
171             fail: true
172
173     parameters:
174         - project-parameter:
175             project: '{project}'
176         - '{installer}-defaults'
177         - '{slave-label}-defaults':
178             installer: '{installer}'
179         - string:
180             name: DEPLOY_SCENARIO
181             default: 'os-odl_l2-nofeature-ha'
182
183     scm:
184         - git-scm:
185             credentials-id: '{ssh-credentials}'
186             refspec: ''
187             branch: '{branch}'
188
189     builders:
190         - 'builder-macro'
191 ########################
192 # builder macros
193 ########################
194 - builder:
195     name: 'builder-macro'
196     builders:
197         - shell: |
198             #!/bin/bash
199             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
200             echo
201             echo "------ First Executing clean.sh ------"
202             cd $WORKSPACE/ci
203             ./clean.sh
204         - shell:
205             !include-raw: ./joid-deploy.sh
206
207 ########################
208 # trigger macros
209 ########################
210 # os-nosdn-nofeature-ha trigger - branch: master
211 - trigger:
212     name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
213     triggers:
214         - timed: '0 2 * * *'
215 - trigger:
216     name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
217     triggers:
218         - timed: ''
219 - trigger:
220     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-master-trigger'
221     triggers:
222         - timed: ''
223 - trigger:
224     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-master-trigger'
225     triggers:
226         - timed: ''
227
228 # os-nosdn-nofeature-ha trigger - branch: stable/brahmaputra
229 - trigger:
230     name: 'joid-os-nosdn-nofeature-ha-baremetal-brahmaputra-trigger'
231     triggers:
232         - timed: ''
233 - trigger:
234     name: 'joid-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
235     triggers:
236         - timed: ''
237 - trigger:
238     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-brahmaputra-trigger'
239     triggers:
240         - timed: ''
241 - trigger:
242     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-brahmaputra-trigger'
243     triggers:
244         - timed: ''
245
246 # os-odl_l2-nofeature-ha trigger - branch: master
247 - trigger:
248     name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
249     triggers:
250         - timed: '0 10 * * *'
251 - trigger:
252     name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
253     triggers:
254         - timed: ''
255 - trigger:
256     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-master-trigger'
257     triggers:
258         - timed: ''
259 - trigger:
260     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-master-trigger'
261     triggers:
262         - timed: ''
263
264 # os-odl_l2-nofeature-ha trigger - branch: stable/brahmaputra
265 - trigger:
266     name: 'joid-os-odl_l2-nofeature-ha-baremetal-brahmaputra-trigger'
267     triggers:
268         - timed: ''
269 - trigger:
270     name: 'joid-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
271     triggers:
272         - timed: ''
273 - trigger:
274     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-brahmaputra-trigger'
275     triggers:
276         - timed: ''
277 - trigger:
278     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-brahmaputra-trigger'
279     triggers:
280         - timed: ''
281
282 # os-onos-nofeature-ha trigger - branch: master
283 - trigger:
284     name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
285     triggers:
286         - timed: '0 18 * * *'
287 - trigger:
288     name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
289     triggers:
290         - timed: ''
291 - trigger:
292     name: 'joid-os-onos-nofeature-ha-orange-pod2-master-trigger'
293     triggers:
294         - timed: ''
295 - trigger:
296     name: 'joid-os-onos-nofeature-ha-juniper-pod1-master-trigger'
297     triggers:
298         - timed: ''
299
300 # os-onos-nofeature-ha trigger - branch: stable/brahmaputra
301 - trigger:
302     name: 'joid-os-onos-nofeature-ha-baremetal-brahmaputra-trigger'
303     triggers:
304         - timed: ''
305 - trigger:
306     name: 'joid-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
307     triggers:
308         - timed: ''
309 - trigger:
310     name: 'joid-os-onos-nofeature-ha-orange-pod2-brahmaputra-trigger'
311     triggers:
312         - timed: ''
313 - trigger:
314     name: 'joid-os-onos-nofeature-ha-juniper-pod1-brahmaputra-trigger'
315     triggers:
316         - timed: ''
317
318 # os-nosdn-lxd-noha trigger - branch: master
319 - trigger:
320     name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
321     triggers:
322         - timed: ''
323 - trigger:
324     name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger'
325     triggers:
326         - timed: ''
327 - trigger:
328     name: 'joid-os-nosdn-lxd-noha-orange-pod2-master-trigger'
329     triggers:
330         - timed: ''
331 - trigger:
332     name: 'joid-os-nosdn-lxd-noha-juniper-pod1-master-trigger'
333     triggers:
334         - timed: ''
335
336 # os-nosdn-lxd-noha trigger - branch: stable/brahmaputra
337 - trigger:
338     name: 'joid-os-nosdn-lxd-noha-baremetal-brahmaputra-trigger'
339     triggers:
340         - timed: ''
341 - trigger:
342     name: 'joid-os-nosdn-lxd-noha-virtual-brahmaputra-trigger'
343     triggers:
344         - timed: ''
345 - trigger:
346     name: 'joid-os-nosdn-lxd-noha-orange-pod2-brahmaputra-trigger'
347     triggers:
348         - timed: ''
349 - trigger:
350     name: 'joid-os-nosdn-lxd-noha-juniper-pod1-brahmaputra-trigger'
351     triggers:
352         - timed: ''
353
354 # os-nosdn-lxd-ha trigger - branch: master
355 - trigger:
356     name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
357     triggers:
358         - timed: ''
359 - trigger:
360     name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger'
361     triggers:
362         - timed: ''
363 - trigger:
364     name: 'joid-os-nosdn-lxd-ha-orange-pod2-master-trigger'
365     triggers:
366         - timed: ''
367 - trigger:
368     name: 'joid-os-nosdn-lxd-ha-juniper-pod1-master-trigger'
369     triggers:
370         - timed: ''
371
372 # os-nosdn-lxd-ha trigger - branch: stable/brahmaputra
373 - trigger:
374     name: 'joid-os-nosdn-lxd-ha-baremetal-brahmaputra-trigger'
375     triggers:
376         - timed: ''
377 - trigger:
378     name: 'joid-os-nosdn-lxd-ha-virtual-brahmaputra-trigger'
379     triggers:
380         - timed: ''
381 - trigger:
382     name: 'joid-os-nosdn-lxd-ha-orange-pod2-brahmaputra-trigger'
383     triggers:
384         - timed: ''
385 - trigger:
386     name: 'joid-os-nosdn-lxd-ha-juniper-pod1-brahmaputra-trigger'
387     triggers:
388         - timed: ''