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