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