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