Merge "Adapt automatic reporting to new Test API"
[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             block-level: 'NODE'
95
96     wrappers:
97         - build-name:
98             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
99
100     triggers:
101         - '{auto-trigger-name}'
102
103     parameters:
104         - project-parameter:
105             project: '{project}'
106         - '{installer}-defaults'
107         - '{slave-label}-defaults':
108             installer: '{installer}'
109         - string:
110             name: DEPLOY_SCENARIO
111             default: '{scenario}'
112
113     builders:
114         - trigger-builds:
115             - project: 'joid-deploy-{pod}-daily-{stream}'
116               current-parameters: true
117               predefined-parameters:
118                 DEPLOY_SCENARIO={scenario}
119               same-node: true
120               block: true
121         - trigger-builds:
122             - project: 'functest-joid-{pod}-daily-{stream}'
123               current-parameters: false
124               predefined-parameters:
125                 DEPLOY_SCENARIO={scenario}
126               same-node: true
127               block: true
128               block-thresholds:
129                 build-step-failure-threshold: 'never'
130                 failure-threshold: 'never'
131                 unstable-threshold: 'FAILURE'
132         - trigger-builds:
133             - project: 'yardstick-joid-{pod}-daily-{stream}'
134               current-parameters: false
135               predefined-parameters:
136                 DEPLOY_SCENARIO={scenario}
137               block: true
138               same-node: true
139               block-thresholds:
140                 build-step-failure-threshold: 'never'
141                 failure-threshold: 'never'
142                 unstable-threshold: 'FAILURE'
143
144 - job-template:
145     name: 'joid-deploy-{pod}-daily-{stream}'
146
147     concurrent: true
148
149     properties:
150         - throttle:
151             enabled: true
152             max-total: 4
153             max-per-node: 1
154         - build-blocker:
155             use-build-blocker: true
156             blocking-jobs:
157                 - 'joid-deploy-{pod}-daily-{stream}'
158             block-level: 'NODE'
159
160     wrappers:
161         - build-name:
162             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
163         - timeout:
164             timeout: 180
165             fail: true
166
167     parameters:
168         - project-parameter:
169             project: '{project}'
170         - '{installer}-defaults'
171         - '{slave-label}-defaults':
172             installer: '{installer}'
173         - string:
174             name: DEPLOY_SCENARIO
175             default: 'os-odl_l2-nofeature-ha'
176
177     scm:
178         - git-scm:
179             credentials-id: '{ssh-credentials}'
180             refspec: ''
181             branch: '{branch}'
182
183     builders:
184         - 'builder-macro'
185 ########################
186 # builder macros
187 ########################
188 - builder:
189     name: 'builder-macro'
190     builders:
191         - shell: |
192             #!/bin/bash
193             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
194             echo
195             echo "------ First Executing clean.sh ------"
196             cd $WORKSPACE/ci
197             ./clean.sh
198         - shell:
199             !include-raw: ./joid-deploy.sh
200
201 ########################
202 # trigger macros
203 ########################
204 # os-nosdn-nofeature-ha trigger - branch: master
205 - trigger:
206     name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
207     triggers:
208         - timed: '0 2 * * *'
209 - trigger:
210     name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
211     triggers:
212         - timed: ''
213 - trigger:
214     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-master-trigger'
215     triggers:
216         - timed: ''
217 - trigger:
218     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-master-trigger'
219     triggers:
220         - timed: ''
221
222 # os-nosdn-nofeature-ha trigger - branch: stable/brahmaputra
223 - trigger:
224     name: 'joid-os-nosdn-nofeature-ha-baremetal-brahmaputra-trigger'
225     triggers:
226         - timed: ''
227 - trigger:
228     name: 'joid-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
229     triggers:
230         - timed: ''
231 - trigger:
232     name: 'joid-os-nosdn-nofeature-ha-orange-pod2-brahmaputra-trigger'
233     triggers:
234         - timed: ''
235 - trigger:
236     name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-brahmaputra-trigger'
237     triggers:
238         - timed: ''
239
240 # os-odl_l2-nofeature-ha trigger - branch: master
241 - trigger:
242     name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
243     triggers:
244         - timed: '0 10 * * *'
245 - trigger:
246     name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
247     triggers:
248         - timed: ''
249 - trigger:
250     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-master-trigger'
251     triggers:
252         - timed: ''
253 - trigger:
254     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-master-trigger'
255     triggers:
256         - timed: ''
257
258 # os-odl_l2-nofeature-ha trigger - branch: stable/brahmaputra
259 - trigger:
260     name: 'joid-os-odl_l2-nofeature-ha-baremetal-brahmaputra-trigger'
261     triggers:
262         - timed: ''
263 - trigger:
264     name: 'joid-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
265     triggers:
266         - timed: ''
267 - trigger:
268     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-brahmaputra-trigger'
269     triggers:
270         - timed: ''
271 - trigger:
272     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-brahmaputra-trigger'
273     triggers:
274         - timed: ''
275
276 # os-onos-nofeature-ha trigger - branch: master
277 - trigger:
278     name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
279     triggers:
280         - timed: '0 18 * * *'
281 - trigger:
282     name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
283     triggers:
284         - timed: ''
285 - trigger:
286     name: 'joid-os-onos-nofeature-ha-orange-pod2-master-trigger'
287     triggers:
288         - timed: ''
289 - trigger:
290     name: 'joid-os-onos-nofeature-ha-juniper-pod1-master-trigger'
291     triggers:
292         - timed: ''
293
294 # os-onos-nofeature-ha trigger - branch: stable/brahmaputra
295 - trigger:
296     name: 'joid-os-onos-nofeature-ha-baremetal-brahmaputra-trigger'
297     triggers:
298         - timed: ''
299 - trigger:
300     name: 'joid-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
301     triggers:
302         - timed: ''
303 - trigger:
304     name: 'joid-os-onos-nofeature-ha-orange-pod2-brahmaputra-trigger'
305     triggers:
306         - timed: ''
307 - trigger:
308     name: 'joid-os-onos-nofeature-ha-juniper-pod1-brahmaputra-trigger'
309     triggers:
310         - timed: ''