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