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