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