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