Merge "Increase ocata packer timeout from 60m to 75m"
[releng/builder.git] / jjb / releng-jobs.yaml
1 ---
2 - project:
3     name: builder-jobs
4     jobs:
5       - '{project-name}-ci-jobs':
6           build-node: centos7-builder-2c-2g
7       - builder-check-poms
8       - builder-copy-sandbox-logs
9       - gerrit-tox-verify
10       # OpenStack Related
11       - 'builder-verify-image-protection'
12       - 'builder-cleanup-old-images'
13       - 'builder-delete-orphaned-nodes'
14       - 'builder-delete-stale-nodes'
15       - 'builder-delete-stale-stacks'
16       # Automation for docs and jobs
17       - 'builder-update-image-list'
18
19     # The following values are only specified here
20     # so that code blocks look similar to other projects.
21     project: 'releng/builder'
22     project-name: builder
23     stream: master
24     branch: master
25     build-node: centos7-builder-2c-1g
26     archive-artifacts: '**/*.log'
27     build-timeout: 30
28     jjb-version: 2.0.0
29
30 - project:
31     name: packer-jobs
32     # packer jobs templates are defined in global-jjb
33     jobs:
34       - '{project-name}-packer-jobs'
35     project: 'releng/builder'
36     project-name: builder
37     branch: master
38     archive-artifacts: '**/*.log'
39     build-node: centos7-builder-2c-1g
40
41     platforms:
42       - centos
43       - ubuntu-14.04
44       - ubuntu-16.04
45
46     templates:
47       - devstack
48       - devstack-pre-pip-newton:
49           build-timeout: 75
50       - devstack-pre-pip-ocata:
51           build-timeout: 75
52       - devstack-pre-pip-pike:
53           build-timeout: 75
54       - gbp
55       - mininet-ovs-2.5:
56           build-timeout: 60
57       - mininet-ovs-2.6:
58           build-timeout: 75
59
60     exclude:
61       - platforms: centos
62         templates: gbp
63       - platforms: centos
64         templates: mininet-ovs-2.5
65       - platforms: centos
66         templates: mininet-ovs-2.6
67       - platforms: ubuntu-14.04
68         templates: devstack-pre-pip-newton
69       - platforms: ubuntu-14.04
70         templates: devstack-pre-pip-ocata
71       - platforms: ubuntu-14.04
72         templates: devstack-pre-pip-pike
73       - platforms: ubuntu-14.04
74         templates: devstack
75       - platforms: ubuntu-14.04
76         templates: mininet-ovs-2.5
77       - platforms: ubuntu-14.04
78         templates: mininet-ovs-2.6
79       - platforms: ubuntu-16.04
80         templates: devstack-pre-pip-newton
81       - platforms: ubuntu-16.04
82         templates: devstack-pre-pip-ocata
83       - platforms: ubuntu-16.04
84         templates: devstack-pre-pip-pike
85       - platforms: ubuntu-16.04
86         templates: devstack
87
88 - job-template:
89     name: builder-check-poms
90     node: centos7-builder-2c-1g
91
92     project-type: freestyle
93
94     properties:
95       - opendaylight-infra-properties:
96           build-days-to-keep: 14
97
98     parameters:
99       - opendaylight-infra-parameters:
100           os-cloud: '{os-cloud}'
101           project: '{project}'
102           branch: '{branch}'
103           refspec: 'refs/heads/{branch}'
104           artifacts: '{archive-artifacts}'
105
106     wrappers:
107       - opendaylight-infra-wrappers:
108           build-timeout: '{build-timeout}'
109
110     triggers:
111       - timed: 'H H * * 1'
112
113     builders:
114       - shell: !include-raw-escape: check-poms.sh
115
116     publishers:
117       - email-notification:
118           email-recipients: '{email-recipients}'
119           email-prefix: '[releng]'
120       - lf-infra-publish
121
122 - job-template:
123     name: builder-copy-sandbox-logs
124     node: centos7-builder-2c-1g
125
126     project-type: freestyle
127
128     properties:
129       - opendaylight-infra-properties:
130           build-days-to-keep: 1
131
132     parameters:
133       - opendaylight-infra-parameters:
134           os-cloud: ''
135           project: ''
136           branch: ''
137           refspec: ''
138           artifacts: ''
139
140     wrappers:
141       - opendaylight-infra-wrappers:
142           build-timeout: 10
143
144     triggers:
145       - gerrit:
146           server-name: '{gerrit-server-name}'
147           trigger-on:
148             - comment-added-contains-event:
149                 comment-contains-value: 'copy-logs:'
150           projects:
151             - project-compare-type: ANT
152               project-pattern: '**'
153               branches:
154                 - branch-compare-type: ANT
155                   branch-pattern: '**'
156
157     builders:
158       - shell: !include-raw-escape: copy-sandbox-logs.sh
159
160     publishers:
161       - lf-infra-publish
162
163
164 - job-template:
165     name: 'builder-verify-image-protection'
166     project-type: freestyle
167     node: centos7-builder-2c-1g
168
169     properties:
170       - opendaylight-infra-properties:
171           build-days-to-keep: 7
172
173     parameters:
174       - opendaylight-infra-parameters:
175           os-cloud: '{os-cloud}'
176           project: '{project}'
177           branch: '{branch}'
178           refspec: 'refs/heads/{branch}'
179           artifacts: '{archive-artifacts}'
180
181     scm:
182       - git-scm:
183           branch: '{branch}'
184
185     wrappers:
186       - opendaylight-infra-wrappers:
187           build-timeout: '{build-timeout}'
188       # Listed after to override openstack-infra-wrappers clouds.yaml definition
189       - config-file-provider:
190           files:
191             - file-id: clouds-yaml
192               target: '$HOME/.config/openstack/clouds.yaml'
193
194     triggers:
195       - timed: '@daily'
196
197     builders:
198       - shell: !include-raw-escape:
199           - opendaylight-infra-check-image-protection.sh
200
201     publishers:
202       - email-notification:
203           email-recipients: '{email-recipients}'
204           email-prefix: '[releng]'
205       - lf-infra-publish
206
207
208 - job-template:
209     name: 'builder-cleanup-old-images'
210     project-type: freestyle
211     node: centos7-builder-2c-1g
212
213     properties:
214       - opendaylight-infra-properties:
215           build-days-to-keep: 7
216
217     parameters:
218       - opendaylight-infra-parameters:
219           os-cloud: '{os-cloud}'
220           project: '{project}'
221           branch: '{branch}'
222           refspec: 'refs/heads/{branch}'
223           artifacts: '{archive-artifacts}'
224
225     scm:
226       - git-scm:
227           branch: '{branch}'
228
229     wrappers:
230       - opendaylight-infra-wrappers:
231           build-timeout: '{build-timeout}'
232       # Listed after to override openstack-infra-wrappers clouds.yaml definition
233       - config-file-provider:
234           files:
235             - file-id: clouds-yaml
236               target: '$HOME/.config/openstack/clouds.yaml'
237
238     triggers:
239       # Cleanup images on a weekly schedule
240       - timed: '@weekly'
241
242     builders:
243       - shell: !include-raw-escape:
244           - global-jjb/shell/lftools-install.sh
245           - opendaylight-infra-cleanup-old-images.sh
246
247     publishers:
248       - email-notification:
249           email-recipients: '{email-recipients}'
250           email-prefix: '[releng]'
251       - lf-infra-publish
252
253
254 - job-template:
255     name: builder-delete-orphaned-nodes
256     project-type: freestyle
257     node: centos7-builder-2c-1g
258
259     properties:
260       - opendaylight-infra-properties:
261           build-days-to-keep: 7
262
263     parameters:
264       - opendaylight-infra-parameters:
265           os-cloud: '{os-cloud}'
266           project: '{project}'
267           branch: '{branch}'
268           refspec: 'refs/heads/{branch}'
269           artifacts: '{archive-artifacts}'
270       - string:
271           name: JENKINS_URLS
272           default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
273           description: 'Space separated list of Jenkins URLs to check for active builds'
274
275     wrappers:
276       - opendaylight-infra-wrappers:
277           build-timeout: '{build-timeout}'
278
279     triggers:
280       # Attempt to clear up servers every 30 mins in case we have orphaned servers
281       - timed: '0,30 * * * *'
282
283     builders:
284       - shell: !include-raw-escape: opendaylight-infra-cleanup-orphaned-nodes.sh
285
286     publishers:
287       - email-notification:
288           email-recipients: '{email-recipients}'
289           email-prefix: '[releng]'
290       - lf-infra-publish
291
292
293 - job-template:
294     name: 'builder-delete-stale-nodes'
295     project-type: freestyle
296     node: centos7-builder-2c-1g
297
298     properties:
299       - opendaylight-infra-properties:
300           build-days-to-keep: 7
301
302     parameters:
303       - opendaylight-infra-parameters:
304           os-cloud: '{os-cloud}'
305           project: '{project}'
306           branch: '{branch}'
307           refspec: 'refs/heads/{branch}'
308           artifacts: '{archive-artifacts}'
309
310     wrappers:
311       - opendaylight-infra-wrappers:
312           build-timeout: '{build-timeout}'
313
314     triggers:
315       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
316       - timed: '0,30 * * * *'
317
318     builders:
319       - shell: !include-raw-escape:
320           - global-jjb/shell/lftools-install.sh
321           - opendaylight-infra-cleanup-stale-nodes.sh
322
323     publishers:
324       - email-notification:
325           email-recipients: '{email-recipients}'
326           email-prefix: '[releng]'
327       - lf-infra-publish
328
329
330 - job-template:
331     name: 'builder-delete-stale-stacks'
332     project-type: freestyle
333     node: centos7-builder-2c-1g
334
335     properties:
336       - opendaylight-infra-properties:
337           build-days-to-keep: 7
338
339     parameters:
340       - opendaylight-infra-parameters:
341           os-cloud: '{os-cloud}'
342           project: '{project}'
343           branch: '{branch}'
344           refspec: 'refs/heads/{branch}'
345           artifacts: '{archive-artifacts}'
346       - string:
347           name: JENKINS_URLS
348           default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
349           description: 'Space separated list of Jenkins URLs to check for active builds'
350
351     wrappers:
352       - opendaylight-infra-wrappers:
353           build-timeout: '{build-timeout}'
354
355     triggers:
356       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
357       - timed: '0,30 * * * *'
358
359     builders:
360       - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
361
362     publishers:
363       - email-notification:
364           email-recipients: '{email-recipients}'
365           email-prefix: '[releng]'
366       - lf-infra-publish
367
368
369 - job-template:
370     name: 'builder-update-image-list'
371     project-type: freestyle
372     node: centos7-builder-2c-1g
373
374     properties:
375       - opendaylight-infra-properties:
376           build-days-to-keep: 7
377
378     parameters:
379       - opendaylight-infra-parameters:
380           os-cloud: vex
381           project: '{project}'
382           branch: '{branch}'
383           refspec: 'refs/heads/{branch}'
384           artifacts: '{archive-artifacts}'
385
386     scm:
387       - git-scm:
388           branch: '{branch}'
389
390     wrappers:
391       - opendaylight-infra-wrappers:
392           build-timeout: '{build-timeout}'
393       # Listed after to override openstack-infra-wrappers clouds.yaml definition
394       - config-file-provider:
395           files:
396             - file-id: clouds-yaml
397               target: '$HOME/.config/openstack/clouds.yaml'
398
399     triggers:
400       # Update image list every Monday to Friday at 11:00 UTC
401       - timed: '0 11 * * 1-5'
402
403     builders:
404       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
405       - opendaylight-infra-push-gerrit-patch:
406           project: '{project}'
407           gerrit-topic: 'releng-update-cloud-image-list'
408           gerrit-commit-message: 'Update cloud image list docs'
409
410     publishers:
411       - email-notification:
412           email-recipients: '{email-recipients}'
413           email-prefix: '[releng]'
414       - lf-infra-publish