armband: enable concurrency and adjust throttle params
[releng.git] / jjb / armband / armband-ci-jobs.yml
1 # jenkins job templates for Armband
2 - project:
3     name: 'armband-ci'
4     project: 'armband'
5
6 #--------------------------------
7 # BRANCH ANCHORS
8 #--------------------------------
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13     colorado: &colorado
14         stream: colorado
15         branch: 'stable/{stream}'
16         gs-pathname: '/{stream}'
17 #--------------------------------
18 # POD, INSTALLER, AND BRANCH MAPPING
19 #--------------------------------
20 # CI POD's
21 #--------------------------------
22 #        colorado
23 #--------------------------------
24     pod:
25         - armband-baremetal:
26             slave-label: armband-baremetal
27             installer: fuel
28             <<: *colorado
29         - armband-virtual:
30             slave-label: armband-virtual
31             installer: fuel
32             <<: *colorado
33 #--------------------------------
34 #        master
35 #--------------------------------
36         - armband-baremetal:
37             slave-label: armband-baremetal
38             installer: fuel
39             <<: *master
40         - armband-virtual:
41             slave-label: armband-virtual
42             installer: fuel
43             <<: *master
44 #--------------------------------
45 # NONE-CI POD's
46 #--------------------------------
47 #        colorado
48 #--------------------------------
49         - arm-pod2:
50             slave-label: arm-pod2
51             installer: fuel
52             <<: *colorado
53 #--------------------------------
54 #        master
55 #--------------------------------
56         - arm-pod2:
57             slave-label: arm-pod2
58             installer: fuel
59             <<: *master
60 #--------------------------------
61 #       scenarios
62 #--------------------------------
63     scenario:
64         # HA scenarios
65         - 'os-nosdn-nofeature-ha':
66             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
67         - 'os-odl_l2-nofeature-ha':
68             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
69         - 'os-odl_l3-nofeature-ha':
70             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
71         - 'os-odl_l2-bgpvpn-ha':
72             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
73
74         # NOHA scenarios
75         - 'os-odl_l2-nofeature-noha':
76             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
77
78     jobs:
79         - '{installer}-{scenario}-{pod}-daily-{stream}'
80         - '{installer}-deploy-{pod}-daily-{stream}'
81
82 ########################
83 # job templates
84 ########################
85 - job-template:
86     name: '{installer}-{scenario}-{pod}-daily-{stream}'
87
88     concurrent: false
89
90     properties:
91         - throttle:
92             enabled: true
93             max-total: 4
94             max-per-node: 1
95             option: 'project'
96         - build-blocker:
97             use-build-blocker: true
98             blocking-jobs:
99                 - '{installer}-os-.*?-{pod}-daily-.*'
100             block-level: 'NODE'
101
102     wrappers:
103         - build-name:
104             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
105
106     triggers:
107         - '{auto-trigger-name}'
108
109     parameters:
110         - project-parameter:
111             project: '{project}'
112         - '{installer}-defaults'
113         - '{slave-label}-defaults':
114             installer: '{installer}'
115         - string:
116             name: DEPLOY_SCENARIO
117             default: '{scenario}'
118         - armband-ci-parameter:
119             gs-pathname: '{gs-pathname}'
120
121     builders:
122         - trigger-builds:
123             - project: '{installer}-deploy-{pod}-daily-{stream}'
124               current-parameters: false
125               predefined-parameters:
126                 DEPLOY_SCENARIO={scenario}
127               same-node: true
128               block: true
129         - trigger-builds:
130             - project: 'functest-{installer}-{pod}-daily-{stream}'
131               current-parameters: false
132               predefined-parameters:
133                 DEPLOY_SCENARIO={scenario}
134               block: true
135               same-node: true
136               block-thresholds:
137                 build-step-failure-threshold: 'never'
138                 failure-threshold: 'never'
139                 unstable-threshold: 'FAILURE'
140         - trigger-builds:
141             - project: 'yardstick-{installer}-{pod}-daily-{stream}'
142               current-parameters: false
143               predefined-parameters:
144                 DEPLOY_SCENARIO={scenario}
145               block: true
146               same-node: true
147               block-thresholds:
148                 build-step-failure-threshold: 'never'
149                 failure-threshold: 'never'
150                 unstable-threshold: 'FAILURE'
151
152 - job-template:
153     name: '{installer}-deploy-{pod}-daily-{stream}'
154
155     concurrent: true
156
157     properties:
158         - throttle:
159             enabled: true
160             max-total: 4
161             max-per-node: 1
162             option: 'project'
163         - build-blocker:
164             use-build-blocker: true
165             blocking-jobs:
166                 - '{installer}-deploy-{pod}-daily-{stream}'
167                 - '{installer}-deploy-generic-daily-.*'
168             block-level: 'NODE'
169
170     parameters:
171         - project-parameter:
172             project: '{project}'
173         - '{installer}-defaults'
174         - '{slave-label}-defaults':
175             installer: '{installer}'
176         - string:
177             name: DEPLOY_SCENARIO
178             default: 'os-odl_l2-nofeature-ha'
179         - armband-ci-parameter:
180             gs-pathname: '{gs-pathname}'
181
182     scm:
183         - git-scm:
184             credentials-id: '{ssh-credentials}'
185             refspec: ''
186             branch: '{branch}'
187
188     wrappers:
189         - build-name:
190             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
191
192     builders:
193         - shell:
194             !include-raw-escape: ./armband-download-artifact.sh
195         - shell:
196             !include-raw-escape: ./armband-deploy.sh
197
198     publishers:
199         - email:
200             recipients: armband@enea.com
201
202 ########################
203 # parameter macros
204 ########################
205 - parameter:
206     name: armband-ci-parameter
207     parameters:
208         - string:
209             name: BUILD_DIRECTORY
210             default: $WORKSPACE/build_output
211             description: "Directory where the build artifact will be located upon the completion of the build."
212         - string:
213             name: CACHE_DIRECTORY
214             default: $HOME/opnfv/cache/$INSTALLER_TYPE
215             description: "Directory where the cache to be used during the build is located."
216         - string:
217             name: GS_URL
218             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
219             description: "URL to Google Storage."
220
221 ########################
222 # trigger macros
223 ########################
224 # CI PODs
225 #-----------------------------------------------------------------
226 # Enea Armband CI Baremetal Triggers running against master branch
227 #-----------------------------------------------------------------
228 - trigger:
229     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
230     triggers:
231         - timed: '0 3,15 * * 1'
232 - trigger:
233     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
234     triggers:
235         - timed: '0 3,15 * * 2'
236 - trigger:
237     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
238     triggers:
239         - timed: '0 3,15 * * 3'
240 - trigger:
241     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
242     triggers:
243         - timed: '0 3,15 * * 4'
244 - trigger:
245     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
246     triggers:
247         - timed: '0 3,15 * * 5'
248 #----------------------------------------------------------------------
249 # Enea Armband CI Baremetal Triggers running against colorado branch
250 #----------------------------------------------------------------------
251 - trigger:
252     name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
253     triggers:
254         - timed: '0 4,16 * * 1'
255 - trigger:
256     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
257     triggers:
258         - timed: '0 4,16 * * 2'
259 - trigger:
260     name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
261     triggers:
262         - timed: '0 4,16 * * 3'
263 - trigger:
264     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
265     triggers:
266         - timed: '0 4,16 * * 4'
267 - trigger:
268     name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
269     triggers:
270         - timed: '0 4,16 * * 5'
271 #---------------------------------------------------------------
272 # Enea Armband CI Virtual Triggers running against master branch
273 #---------------------------------------------------------------
274 - trigger:
275     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
276     triggers:
277         - timed: ''
278 - trigger:
279     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
280     triggers:
281         - timed: ''
282 - trigger:
283     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
284     triggers:
285         - timed: ''
286 - trigger:
287     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
288     triggers:
289         - timed: ''
290 - trigger:
291     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
292     triggers:
293         - timed: ''
294 #--------------------------------------------------------------------
295 # Enea Armband CI Virtual Triggers running against colorado branch
296 #--------------------------------------------------------------------
297 - trigger:
298     name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger'
299     triggers:
300         - timed: ''
301 - trigger:
302     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger'
303     triggers:
304         - timed: ''
305 - trigger:
306     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger'
307     triggers:
308         - timed: ''
309 - trigger:
310     name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger'
311     triggers:
312         - timed: ''
313 - trigger:
314     name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
315     triggers:
316         - timed: ''
317 #----------------------------------------------------------
318 # Enea Armband POD 2 Triggers running against master branch
319 #----------------------------------------------------------
320 - trigger:
321     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
322     triggers:
323         - timed: ''
324 - trigger:
325     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
326     triggers:
327         - timed: ''
328 - trigger:
329     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
330     triggers:
331         - timed: ''
332 - trigger:
333     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
334     triggers:
335         - timed: ''
336 - trigger:
337     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
338     triggers:
339         - timed: ''
340 #---------------------------------------------------------------
341 # Enea Armband POD 2 Triggers running against colorado branch
342 #---------------------------------------------------------------
343 - trigger:
344     name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
345     triggers:
346         - timed: ''
347 - trigger:
348     name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
349     triggers:
350         - timed: ''
351 - trigger:
352     name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
353     triggers:
354         - timed: ''
355 - trigger:
356     name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
357     triggers:
358         - timed: ''
359 - trigger:
360     name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
361     triggers:
362         - timed: ''