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