Add Project Option to Throttle Property
[releng.git] / jjb / compass4nfv / compass-ci-jobs.yml
1 - project:
2
3     name: compass-ci
4
5     installer: 'compass'
6
7     project: 'compass4nfv'
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13     brahmaputra: &brahmaputra
14         stream: brahmaputra
15         branch: 'stable/{stream}'
16         gs-pathname: '/{stream}'
17 #--------------------------------
18 # POD, INSTALLER, AND BRANCH MAPPING
19 #--------------------------------
20 #        CI PODs
21 #--------------------------------
22     pod:
23         - baremetal:
24             slave-label: compass-baremetal
25             os-version: 'trusty'
26             <<: *master
27         - virtual:
28             slave-label: compass-virtual
29             os-version: 'trusty'
30             <<: *master
31         - baremetal:
32             slave-label: compass-baremetal
33             os-version: 'trusty'
34             <<: *brahmaputra
35         - virtual:
36             slave-label: compass-virtual
37             os-version: 'trusty'
38             <<: *brahmaputra
39 #--------------------------------
40 #        master
41 #--------------------------------
42         - huawei-pod2:
43             slave-label: '{pod}'
44             os-version: 'centos7'
45             <<: *master
46
47     scenario:
48         - 'os-nosdn-nofeature-ha':
49             disabled: false
50             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
51         - 'os-odl_l2-nofeature-ha':
52             disabled: false
53             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
54         - 'os-odl_l3-nofeature-ha':
55             disabled: false
56             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
57         - 'os-onos-nofeature-ha':
58             disabled: false
59             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
60         - 'os-ocl-nofeature-ha':
61             disabled: false
62             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
63
64     jobs:
65         - 'compass-{scenario}-{pod}-daily-{stream}'
66         - 'compass-deploy-{pod}-daily-{stream}'
67
68 ########################
69 # job templates
70 ########################
71 - job-template:
72     name: 'compass-{scenario}-{pod}-daily-{stream}'
73
74     concurrent: true
75
76     properties:
77         - throttle:
78             enabled: true
79             max-per-node: 1
80             option: 'project'
81         - build-blocker:
82             use-build-blocker: true
83             blocking-jobs:
84                 - 'compass-os-.*?-{pod}-daily-.*?'
85                 - 'compass-verify-[^-]*'
86             block-level: 'NODE'
87
88     wrappers:
89         - build-name:
90             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95         - compass-ci-parameter:
96             installer: '{installer}'
97             gs-pathname: '{gs-pathname}'
98         - string:
99             name: DEPLOY_SCENARIO
100             default: '{scenario}'
101         - '{slave-label}-defaults'
102         - '{installer}-defaults'
103
104     triggers:
105         - '{auto-trigger-name}'
106
107     builders:
108         - trigger-builds:
109             - project: 'compass-deploy-{pod}-daily-{stream}'
110               current-parameters: true
111               predefined-parameters: |
112                 DEPLOY_SCENARIO={scenario}
113                 COMPASS_OS_VERSION={os-version}
114               same-node: true
115               block: true
116         - trigger-builds:
117             - project: 'functest-compass-{pod}-daily-{stream}'
118               current-parameters: false
119               predefined-parameters:
120                 DEPLOY_SCENARIO={scenario}
121               same-node: true
122               block: true
123               block-thresholds:
124                 build-step-failure-threshold: 'never'
125                 failure-threshold: 'never'
126                 unstable-threshold: 'FAILURE'
127         - trigger-builds:
128             - project: 'yardstick-compass-{pod}-daily-{stream}'
129               current-parameters: false
130               predefined-parameters:
131                 DEPLOY_SCENARIO={scenario}
132               block: true
133               same-node: true
134               block-thresholds:
135                 build-step-failure-threshold: 'never'
136                 failure-threshold: 'never'
137                 unstable-threshold: 'FAILURE'
138
139 - job-template:
140     name: 'compass-deploy-{pod}-daily-{stream}'
141
142     disabled: false
143
144     concurrent: true
145
146     properties:
147         - throttle:
148             enabled: true
149             max-per-node: 1
150             option: 'project'
151         - build-blocker:
152             use-build-blocker: true
153             blocking-jobs:
154                 - 'compass-deploy-{pod}-daily-.*?'
155                 - 'compass-verify-deploy-.*?'
156             block-level: 'NODE'
157
158     wrappers:
159         - build-name:
160             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
161         - timeout:
162             timeout: 120
163             abort: true
164
165     parameters:
166         - project-parameter:
167             project: '{project}'
168         - compass-ci-parameter:
169             installer: '{installer}'
170             gs-pathname: '{gs-pathname}'
171         - '{slave-label}-defaults'
172         - '{installer}-defaults'
173
174     scm:
175         - git-scm:
176             credentials-id: '{ssh-credentials}'
177             refspec: ''
178             branch: '{branch}'
179
180     wrappers:
181         - build-name:
182             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
183
184
185     builders:
186         - shell:
187             !include-raw-escape: ./compass-download-artifact.sh
188         - shell:
189             !include-raw-escape: ./compass-deploy.sh
190
191     publishers:
192         - archive:
193             artifacts: 'ansible.log'
194             allow-empty: 'true'
195             fingerprint: true
196
197 ########################
198 # parameter macros
199 ########################
200 - parameter:
201     name: compass-ci-parameter
202     parameters:
203         - string:
204             name: BUILD_DIRECTORY
205             default: $WORKSPACE/build_output
206             description: "Directory where the build artifact will be located upon the completion of the build."
207         - string:
208             name: GS_URL
209             default: '$GS_BASE{gs-pathname}'
210             description: "URL to Google Storage."
211         - choice:
212             name: COMPASS_OPENSTACK_VERSION
213             choices:
214                 - 'liberty'
215                 - 'mitaka'
216
217 ########################
218 # trigger macros
219 ########################
220 - trigger:
221     name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-master-trigger'
222     triggers:
223         - timed: '0 3 * * *'
224 - trigger:
225     name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-master-trigger'
226     triggers:
227         - timed: '0 21 * * *'
228 - trigger:
229     name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-master-trigger'
230     triggers:
231         - timed: ''
232 - trigger:
233     name: 'compass-os-onos-nofeature-ha-huawei-pod2-master-trigger'
234     triggers:
235         - timed: '0 15 * * *'
236 - trigger:
237     name: 'compass-os-ocl-nofeature-ha-huawei-pod2-master-trigger'
238     triggers:
239         - timed: ''
240
241 - trigger:
242     name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
243     triggers:
244         - timed: '0 3 * * *'
245 - trigger:
246     name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
247     triggers:
248         - timed: '0 21 * * *'
249 - trigger:
250     name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
251     triggers:
252         - timed: ''
253 - trigger:
254     name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
255     triggers:
256         - timed: '0 15 * * *'
257 - trigger:
258     name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
259     triggers:
260         - timed: '0 9 * * *'
261
262 - trigger:
263     name: 'compass-os-nosdn-nofeature-ha-baremetal-brahmaputra-trigger'
264     triggers:
265         - timed: ''
266 - trigger:
267     name: 'compass-os-odl_l2-nofeature-ha-baremetal-brahmaputra-trigger'
268     triggers:
269         - timed: ''
270 - trigger:
271     name: 'compass-os-odl_l3-nofeature-ha-baremetal-brahmaputra-trigger'
272     triggers:
273         - timed: ''
274 - trigger:
275     name: 'compass-os-onos-nofeature-ha-baremetal-brahmaputra-trigger'
276     triggers:
277         - timed: ''
278 - trigger:
279     name: 'compass-os-ocl-nofeature-ha-baremetal-brahmaputra-trigger'
280     triggers:
281         - timed: ''
282
283 - trigger:
284     name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
285     triggers:
286         - timed: '0 3 * * *'
287 - trigger:
288     name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
289     triggers:
290         - timed: '0 21 * * *'
291 - trigger:
292     name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
293     triggers:
294         - timed: ''
295 - trigger:
296     name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
297     triggers:
298         - timed: '0 15 * * *'
299 - trigger:
300     name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
301     triggers:
302         - timed: '0 9 * * *'
303 - trigger:
304     name: 'compass-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
305     triggers:
306         - timed: ''
307 - trigger:
308     name: 'compass-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
309     triggers:
310         - timed: ''
311 - trigger:
312     name: 'compass-os-odl_l3-nofeature-ha-virtual-brahmaputra-trigger'
313     triggers:
314         - timed: ''
315 - trigger:
316     name: 'compass-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
317     triggers:
318         - timed: ''
319 - trigger:
320     name: 'compass-os-ocl-nofeature-ha-virtual-brahmaputra-trigger'
321     triggers:
322         - timed: ''