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