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