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