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