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