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