754b24eddf727f742c413a59252e114273c680c5
[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         disabled: false
14     danube: &danube
15         stream: danube
16         branch: 'stable/{stream}'
17         gs-pathname: '/{stream}'
18         disabled: true
19 #--------------------------------
20 # POD, INSTALLER, AND BRANCH MAPPING
21 #--------------------------------
22 #        CI PODs
23 #--------------------------------
24     pod:
25         - baremetal:
26             slave-label: compass-baremetal
27             os-version: 'xenial'
28             <<: *master
29         - virtual:
30             slave-label: compass-virtual
31             os-version: 'xenial'
32             <<: *master
33         - baremetal:
34             slave-label: compass-baremetal
35             os-version: 'trusty'
36             <<: *danube
37         - virtual:
38             slave-label: compass-virtual
39             os-version: 'trusty'
40             <<: *danube
41 #--------------------------------
42 #        master
43 #--------------------------------
44         - huawei-pod5:
45             slave-label: '{pod}'
46             os-version: 'centos7'
47             <<: *master
48
49     scenario:
50         - 'os-nosdn-nofeature-ha':
51             disabled: false
52             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
53         - 'os-odl_l2-nofeature-ha':
54             disabled: false
55             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
56         - 'os-odl_l3-nofeature-ha':
57             disabled: false
58             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
59         - 'os-onos-nofeature-ha':
60             disabled: false
61             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
62         - 'os-ocl-nofeature-ha':
63             disabled: false
64             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
65         - 'os-onos-sfc-ha':
66             disabled: false
67             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
68         - 'os-odl_l2-moon-ha':
69             disabled: false
70             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
71         - 'os-nosdn-kvm-ha':
72             disabled: false
73             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
74
75     jobs:
76         - 'compass-{scenario}-{pod}-daily-{stream}'
77         - 'compass-deploy-{pod}-daily-{stream}'
78
79 ########################
80 # job templates
81 ########################
82 - job-template:
83     name: 'compass-{scenario}-{pod}-daily-{stream}'
84
85     disabled: '{obj:disabled}'
86
87     concurrent: true
88
89     properties:
90         - logrotate-default
91         - throttle:
92             enabled: true
93             max-per-node: 1
94             option: 'project'
95         - build-blocker:
96             use-build-blocker: true
97             blocking-jobs:
98                 - 'compass-os-.*?-{pod}-daily-.*?'
99                 - 'compass-os-.*?-baremetal-daily-.*?'
100                 - 'compass-verify-[^-]*-[^-]*'
101             block-level: 'NODE'
102
103     wrappers:
104         - build-name:
105             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
106
107     parameters:
108         - project-parameter:
109             project: '{project}'
110         - compass-ci-parameter:
111             installer: '{installer}'
112             gs-pathname: '{gs-pathname}'
113         - string:
114             name: DEPLOY_SCENARIO
115             default: '{scenario}'
116         - '{slave-label}-defaults'
117         - '{installer}-defaults'
118
119     triggers:
120         - '{auto-trigger-name}'
121
122     builders:
123         - description-setter:
124             description: "POD: $NODE_NAME"
125         - trigger-builds:
126             - project: 'compass-deploy-{pod}-daily-{stream}'
127               current-parameters: true
128               predefined-parameters: |
129                 DEPLOY_SCENARIO={scenario}
130                 COMPASS_OS_VERSION={os-version}
131               same-node: true
132               block: true
133         - trigger-builds:
134             - project: 'functest-compass-{pod}-daily-{stream}'
135               current-parameters: false
136               predefined-parameters:
137                 DEPLOY_SCENARIO={scenario}
138               same-node: true
139               block: true
140               block-thresholds:
141                 build-step-failure-threshold: 'never'
142                 failure-threshold: 'never'
143                 unstable-threshold: 'FAILURE'
144         - trigger-builds:
145             - project: 'yardstick-compass-{pod}-daily-{stream}'
146               current-parameters: false
147               predefined-parameters:
148                 DEPLOY_SCENARIO={scenario}
149               block: true
150               same-node: true
151               block-thresholds:
152                 build-step-failure-threshold: 'never'
153                 failure-threshold: 'never'
154                 unstable-threshold: 'FAILURE'
155         #dovetail only master by now, not sync with A/B/C branches
156         #here the stream means the SUT stream, dovetail stream is defined in its own job
157         - trigger-builds:
158             - project: 'dovetail-compass-{pod}-debug-{stream}'
159               current-parameters: false
160               predefined-parameters:
161                 DEPLOY_SCENARIO={scenario}
162               block: true
163               same-node: true
164               block-thresholds:
165                 build-step-failure-threshold: 'never'
166                 failure-threshold: 'never'
167                 unstable-threshold: 'FAILURE'
168
169 - job-template:
170     name: 'compass-deploy-{pod}-daily-{stream}'
171
172     disabled: false
173
174     concurrent: true
175
176     properties:
177         - logrotate-default
178         - throttle:
179             enabled: true
180             max-per-node: 1
181             option: 'project'
182         - build-blocker:
183             use-build-blocker: true
184             blocking-jobs:
185                 - 'compass-deploy-{pod}-daily-.*?'
186                 - 'compass-verify-deploy-.*?'
187             block-level: 'NODE'
188
189     wrappers:
190         - build-name:
191             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
192         - timeout:
193             timeout: 120
194             abort: true
195
196     parameters:
197         - project-parameter:
198             project: '{project}'
199         - gerrit-parameter:
200             branch: '{branch}'
201         - compass-ci-parameter:
202             installer: '{installer}'
203             gs-pathname: '{gs-pathname}'
204         - '{slave-label}-defaults'
205         - '{installer}-defaults'
206
207     scm:
208         - git-scm
209
210     wrappers:
211         - build-name:
212             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
213
214
215     builders:
216         - description-setter:
217             description: "POD: $NODE_NAME"
218         - shell:
219             !include-raw-escape: ./compass-download-artifact.sh
220         - shell:
221             !include-raw-escape: ./compass-deploy.sh
222
223     publishers:
224         - archive:
225             artifacts: 'ansible.log'
226             allow-empty: 'true'
227             fingerprint: true
228
229 ########################
230 # parameter macros
231 ########################
232 - parameter:
233     name: compass-ci-parameter
234     parameters:
235         - string:
236             name: BUILD_DIRECTORY
237             default: $WORKSPACE/build_output
238             description: "Directory where the build artifact will be located upon the completion of the build."
239         - string:
240             name: GS_URL
241             default: '$GS_BASE{gs-pathname}'
242             description: "URL to Google Storage."
243         - choice:
244             name: COMPASS_OPENSTACK_VERSION
245             choices:
246                 - 'newton'
247
248 ########################
249 # trigger macros
250 ########################
251 - trigger:
252     name: 'compass-os-nosdn-nofeature-ha-huawei-pod5-master-trigger'
253     triggers:
254         - timed: '0 19 * * *'
255 - trigger:
256     name: 'compass-os-odl_l2-nofeature-ha-huawei-pod5-master-trigger'
257     triggers:
258         - timed: '0 23 * * *'
259 - trigger:
260     name: 'compass-os-odl_l3-nofeature-ha-huawei-pod5-master-trigger'
261     triggers:
262         - timed: '0 15 * * *'
263 - trigger:
264     name: 'compass-os-onos-nofeature-ha-huawei-pod5-master-trigger'
265     triggers:
266         - timed: '0 7 * * *'
267 - trigger:
268     name: 'compass-os-ocl-nofeature-ha-huawei-pod5-master-trigger'
269     triggers:
270         - timed: '0 11 * * *'
271 - trigger:
272     name: 'compass-os-onos-sfc-ha-huawei-pod5-master-trigger'
273     triggers:
274         - timed: '0 3 * * *'
275 - trigger:
276     name: 'compass-os-odl_l2-moon-ha-huawei-pod5-master-trigger'
277     triggers:
278         - timed: ''
279 - trigger:
280     name: 'compass-os-nosdn-kvm-ha-huawei-pod5-master-trigger'
281     triggers:
282         - timed: ''
283
284 - trigger:
285     name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
286     triggers:
287         - timed: '0 2 * * *'
288 - trigger:
289     name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
290     triggers:
291         - timed: '0 22 * * *'
292 - trigger:
293     name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
294     triggers:
295         - timed: '0 18 * * *'
296 - trigger:
297     name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
298     triggers:
299         - timed: '0 14 * * *'
300 - trigger:
301     name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
302     triggers:
303         - timed: '0 10 * * *'
304 - trigger:
305     name: 'compass-os-onos-sfc-ha-baremetal-master-trigger'
306     triggers:
307         - timed: '0 6 * * *'
308 - trigger:
309     name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
310     triggers:
311         - timed: ''
312 - trigger:
313     name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
314     triggers:
315         - timed: ''
316
317 - trigger:
318     name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger'
319     triggers:
320         - timed: ''
321 - trigger:
322     name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger'
323     triggers:
324         - timed: ''
325 - trigger:
326     name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger'
327     triggers:
328         - timed: ''
329 - trigger:
330     name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger'
331     triggers:
332         - timed: ''
333 - trigger:
334     name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger'
335     triggers:
336         - timed: ''
337 - trigger:
338     name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger'
339     triggers:
340         - timed: ''
341 - trigger:
342     name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger'
343     triggers:
344         - timed: ''
345 - trigger:
346     name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger'
347     triggers:
348         - timed: ''
349
350 - trigger:
351     name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
352     triggers:
353         - timed: '0 21 * * *'
354 - trigger:
355     name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
356     triggers:
357         - timed: '0 20 * * *'
358 - trigger:
359     name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
360     triggers:
361         - timed: '0 19 * * *'
362 - trigger:
363     name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
364     triggers:
365         - timed: '0 18 * * *'
366 - trigger:
367     name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
368     triggers:
369         - timed: '0 16 * * *'
370 - trigger:
371     name: 'compass-os-onos-sfc-ha-virtual-master-trigger'
372     triggers:
373         - timed: '0 15 * * *'
374 - trigger:
375     name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
376     triggers:
377         - timed: '0 14 * * *'
378 - trigger:
379     name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
380     triggers:
381         - timed: ''
382
383 - trigger:
384     name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger'
385     triggers:
386         - timed: '0 21 * * *'
387 - trigger:
388     name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger'
389     triggers:
390         - timed: '0 20 * * *'
391 - trigger:
392     name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger'
393     triggers:
394         - timed: '0 19 * * *'
395 - trigger:
396     name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger'
397     triggers:
398         - timed: '0 18 * * *'
399 - trigger:
400     name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger'
401     triggers:
402         - timed: ''
403 - trigger:
404     name: 'compass-os-onos-sfc-ha-virtual-danube-trigger'
405     triggers:
406         - timed: '0 15 * * *'
407 - trigger:
408     name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger'
409     triggers:
410         - timed: '0 14 * * *'
411 - trigger:
412     name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger'
413     triggers:
414         - timed: ''