Update integration templates to support different mininet configs
[releng/builder.git] / jjb / integration / integration-jobs.yaml
1
2 - project:
3     name: integration-jobs
4     jobs:
5         - 'integration-csit-verify-{stream}'
6         - 'integration-distribution-verify-{stream}'
7         - 'integration-distribution-merge-{stream}'
8         - 'integration-distribution-offline-{stream}'
9         - 'integration-distribution-test-{stream}'
10         - 'integration-patch-test-{stream}'
11
12     stream:
13         - master:
14             branch: 'master'
15             csit-list: 'aaa-csit-1node-cds-authn-only-{stream},aaa-csit-1node-cds-authn-all-{stream},bgpcep-csit-1node-cds-userfeatures-only-{stream},bgpcep-csit-1node-cds-userfeatures-all-{stream},controller-csit-1node-cds-netconf-only-{stream},controller-csit-1node-cds-netconf-all-{stream},l2switch-csit-1node-cds-switch-only-{stream},l2switch-csit-1node-cds-switch-all-{stream},l2switch-csit-1node-cds-scalability-only-{stream},l2switch-csit-1node-cds-scalability-all-{stream},lispflowmapping-csit-1node-cds-all-only-{stream},lispflowmapping-csit-1node-cds-all-all-{stream},openflowplugin-csit-1node-cds-flow-services-only-{stream},openflowplugin-csit-1node-cds-flow-services-all-{stream},openflowplugin-csit-1node-cds-flow-services-more-only-{stream},openflowplugin-csit-1node-cds-flow-services-more-all-{stream},openflowplugin-csit-1node-cds-scalability-only-{stream},openflowplugin-csit-1node-cds-scalability-all-{stream},openflowplugin-csit-1node-cds-cbench-performance-only-{stream},openflowplugin-csit-1node-cds-config-performance-only-{stream},ovsdb-csit-1node-cds-southbound-only-{stream},ovsdb-csit-1node-cds-southbound-all-{stream},snmp-csit-1node-cds-basic-only-{stream},snmp-csit-1node-cds-basic-all-{stream},tsdr-csit-1node-cds-h2-datastore-only-{stream},tsdr-csit-1node-cds-h2-datastore-all-{stream},tsdr-csit-1node-cds-hbase-datastore-only-{stream},tsdr-csit-1node-cds-hbase-datastore-all-{stream},usc-csit-1node-cds-channel-only-{stream},usc-csit-1node-cds-channel-all-{stream},vpnservice-csit-1node-cds-vpnservice-only-{stream},vpnservice-csit-1node-cds-vpnservice-all-{stream},vtn-csit-1node-cds-manager-only-{stream},vtn-csit-1node-cds-manager-all-{stream}'
16
17         - stable-lithium:
18             branch: 'stable/lithium'
19             csit-list: 'aaa-csit-1node-cds-authn-only-{stream},aaa-csit-1node-cds-authn-all-{stream},bgpcep-csit-1node-cds-userfeatures-only-{stream},bgpcep-csit-1node-cds-userfeatures-all-{stream},controller-csit-1node-cds-netconf-only-{stream},controller-csit-1node-cds-netconf-all-{stream},l2switch-csit-1node-cds-switch-only-{stream},l2switch-csit-1node-cds-switch-all-{stream},l2switch-csit-1node-cds-scalability-only-{stream},l2switch-csit-1node-cds-scalability-all-{stream},lispflowmapping-csit-1node-cds-all-only-{stream},lispflowmapping-csit-1node-cds-all-all-{stream},openflowplugin-csit-1node-cds-flow-services-only-{stream},openflowplugin-csit-1node-cds-flow-services-all-{stream},openflowplugin-csit-1node-cds-flow-services-more-only-{stream},openflowplugin-csit-1node-cds-flow-services-more-all-{stream},openflowplugin-csit-1node-cds-scalability-only-{stream},openflowplugin-csit-1node-cds-scalability-all-{stream},openflowplugin-csit-1node-cds-cbench-performance-only-{stream},openflowplugin-csit-1node-cds-config-performance-only-{stream},ovsdb-csit-1node-cds-southbound-only-{stream},ovsdb-csit-1node-cds-southbound-all-{stream},snmp-csit-1node-cds-basic-only-{stream},snmp-csit-1node-cds-basic-all-{stream},usc-csit-1node-cds-channel-only-{stream},usc-csit-1node-cds-channel-all-{stream},vpnservice-csit-1node-cds-vpnservice-only-{stream},vpnservice-csit-1node-cds-vpnservice-all-{stream},vtn-csit-1node-cds-manager-only-{stream},vtn-csit-1node-cds-manager-all-{stream}'
20
21         - stable-helium:
22             branch: 'stable/helium'
23             csit-list: 'aaa-csit-1node-imds-authn-only-{stream},aaa-csit-1node-imds-authn-all-{stream},controller-csit-1node-imds-netconf-only-{stream},controller-csit-1node-imds-netconf-all-{stream},controller-csit-1node-imds-nsf-only-{stream},controller-csit-1node-imds-nsf-all-{stream},l2switch-csit-1node-imds-switch-only-{stream},l2switch-csit-1node-imds-switch-all-{stream},lispflowmapping-csit-1node-imds-all-only-{stream},lispflowmapping-csit-1node-imds-all-all-{stream},openflowplugin-csit-1node-imds-flow-services-only-{stream},openflowplugin-csit-1node-imds-flow-services-all-{stream},vtn-csit-1node-imds-manager-only-{stream},vtn-csit-1node-imds-manager-all-{stream}'
24
25     jdk: 'openjdk7'
26
27 # For the Job templates below replace instances of:
28 # PROJECT with your project name (eg. controller)
29 # MAVEN_GOALS with your maven goals to build
30 # MAVEN_OPTS with your maven options to build
31
32 - job-template:
33     name: 'integration-csit-verify-{stream}'
34
35     project-type: freestyle
36     node: dynamic_robot
37
38     logrotate:
39         daysToKeep: '{build-days-to-keep}'
40         numToKeep: '{build-num-to-keep}'
41         artifactDaysToKeep: '{build-artifact-days-to-keep}'
42         artifactNumToKeep: '{build-artifact-num-to-keep}'
43
44     parameters:
45         - project-parameter:
46             project: 'integration'
47         - integration-branch:
48             branch: '{branch}'
49         - integration-bundleurl:
50             bundleurl: 'last'
51         - integration-controller-scope:
52             controller-scope: 'only'
53         - integration-controller-features:
54             controller-features: 'odl-openflowplugin-flow-services-ui'
55         - integration-test-options:
56             test-options: '-e adsal'
57         - integration-test-plan:
58             test-plan: 'openflowplugin-flow-services.txt'
59
60     scm:
61         - gerrit-trigger-scm:
62             credentials-id: '{ssh-credentials}'
63             refspec: '$GERRIT_REFSPEC'
64             choosing-strategy: 'gerrit'
65
66     wrappers:
67         - build-timeout
68         - integration-jclouds-controller-mininet:
69             controller-vms: 1
70             mininet-image: '{mininet-image}'
71             mininet-vms: '{mininet-vms}'
72         - ssh-agent-credentials:
73             users:
74                 - '{ssh-credentials}'
75
76     triggers:
77         - integration-csit-gerrit-trigger-patch-submitted:
78             name: 'integration'
79             branch: '{branch}'
80
81     builders:
82         - integration-get-slave-addresses
83         - inject:
84             properties-file: 'slave_addresses.txt'
85         - integration-deploy-controller-run-test
86
87     publishers:
88         - integration-robot:
89             unstable-if: 0.0
90             pass-if: 0.0
91         - archive:
92             artifacts: 'karaf.log'
93         - email-notification:
94             email-prefix: '[integration]'
95
96 - job-template:
97     name: 'integration-distribution-verify-{stream}'
98
99     project-type: maven
100     node: dynamic_verify
101     concurrent: true
102     jdk: '{jdk}'
103
104     logrotate:
105         daysToKeep: '{build-days-to-keep}'
106         numToKeep: '{build-num-to-keep}'
107         artifactDaysToKeep: '{build-artifact-days-to-keep}'
108         artifactNumToKeep: '{build-artifact-num-to-keep}'
109
110     parameters:
111         - project-parameter:
112             project: 'integration'
113         - gerrit-parameter:
114             branch: '{branch}'
115
116     scm:
117         - gerrit-trigger-scm:
118             credentials-id: '{ssh-credentials}'
119             refspec: '$GERRIT_REFSPEC'
120             choosing-strategy: 'gerrit'
121
122     wrappers:
123         - build-timeout
124         - ssh-agent-credentials:
125             users:
126                 - '{ssh-credentials}'
127
128     triggers:
129         - integration-distribution-gerrit-trigger-patch-submitted:
130             name: 'integration'
131             branch: '{branch}'
132
133     prebuilders:
134         - wipe-org-opendaylight-repo
135
136     maven:
137         maven-name: '{mvn32}'
138         root-pom: 'pom.xml'
139         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
140         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
141         settings: '{integration-settings}'
142         global-settings: '{odl-global-settings}'
143         ignore-upstream-changes: true
144
145     publishers:
146         - email-notification:
147             email-prefix: '[integration]'
148
149 - job-template:
150     name: 'integration-distribution-merge-{stream}'
151
152     project-type: maven
153     node: dynamic_merge
154     jdk: '{jdk}'
155
156     logrotate:
157         daysToKeep: '{build-days-to-keep}'
158         numToKeep: '{build-num-to-keep}'
159         artifactDaysToKeep: '{build-artifact-days-to-keep}'
160         artifactNumToKeep: '{build-artifact-num-to-keep}'
161
162     parameters:
163         - project-parameter:
164             project: 'integration'
165
166     scm:
167         - gerrit-trigger-scm:
168             credentials-id: '{ssh-credentials}'
169             refspec: ''
170             choosing-strategy: 'default'
171
172     wrappers:
173         - build-timeout
174         - ssh-agent-credentials:
175             users:
176                 - '{ssh-credentials}'
177
178     triggers:
179         - integration-distribution-gerrit-trigger-patch-merged:
180             name: 'integration'
181             branch: '{branch}'
182
183     prebuilders:
184         - wipe-org-opendaylight-repo
185
186     maven:
187         maven-name: '{mvn32}'
188         root-pom: 'pom.xml'
189         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
190         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
191         settings: '{integration-settings}'
192         global-settings: '{odl-global-settings}'
193
194     publishers:
195         - email-notification:
196             email-prefix: '[integration]'
197         - maven-deploy:
198             id: ''
199             unique-version: true
200             deploy-unstable: false
201
202 - job-template:
203     name: 'integration-distribution-offline-{stream}'
204
205     project-type: freestyle
206     node: dynamic_controller
207
208     logrotate:
209         daysToKeep: '{build-days-to-keep}'
210         numToKeep: '{build-num-to-keep}'
211         artifactDaysToKeep: '{build-artifact-days-to-keep}'
212         artifactNumToKeep: '{build-artifact-num-to-keep}'
213
214     parameters:
215         - project-parameter:
216             project: 'integration'
217         - integration-branch:
218             branch: '{branch}'
219         - integration-bundleurl:
220             bundleurl: 'last'
221
222     scm:
223         - git-scm:
224             credentials-id: '{ssh-credentials}'
225             refspec: ''
226             branch: '{branch}'
227
228     wrappers:
229         - build-timeout
230         - ssh-agent-credentials:
231             users:
232                 - '{ssh-credentials}'
233
234     triggers:
235         - timed: 'H H * * *'
236
237     builders:
238         - integration-deploy-controller-offline
239
240     publishers:
241         - archive:
242             artifacts: 'karaf.log'
243         - email-notification:
244             email-prefix: '[integration]'
245
246 - job-template:
247     name: 'integration-distribution-test-{stream}'
248
249     project-type: freestyle
250     node: dynamic_controller
251
252     logrotate:
253         daysToKeep: '{build-days-to-keep}'
254         numToKeep: '{build-num-to-keep}'
255         artifactDaysToKeep: '{build-artifact-days-to-keep}'
256         artifactNumToKeep: '{build-artifact-num-to-keep}'
257
258     parameters:
259         - integration-bundleurl:
260             bundleurl: 'last'
261
262     triggers:
263         - timed: 'H H * * *'
264
265     builders:
266         - trigger-builds:
267             - project: '{csit-list}'
268               block: true
269               predefined-parameters:
270                   BUNDLEURL=$BUNDLEURL
271
272     publishers:
273         - email-notification:
274             email-prefix: '[integration]'
275
276 - job-template:
277     name: 'integration-patch-test-{stream}'
278
279     project-type: maven
280     node: dynamic_verify
281     jdk: '{jdk}'
282
283     logrotate:
284         daysToKeep: '{build-days-to-keep}'
285         numToKeep: '{build-num-to-keep}'
286         artifactDaysToKeep: '{build-artifact-days-to-keep}'
287         artifactNumToKeep: '{build-artifact-num-to-keep}'
288
289     parameters:
290         - project-parameter:
291             project: 'integration'
292         - integration-patch-git-url
293
294     scm:
295         - integration-gerrit-scm:
296             credentials-id: '{ssh-credentials}'
297             branch: '{branch}'
298         - integration-git-scm:
299             credentials-id: '{ssh-credentials}'
300             branch: '{branch}'
301
302     wrappers:
303         - build-timeout
304         - ssh-agent-credentials:
305             users:
306                 - '{ssh-credentials}'
307
308     triggers:
309         - gerrit:
310             server-name: 'OpenDaylight'
311             trigger-on:
312                 - comment-added-contains-event:
313                     comment-contains-value: 'test-integration'
314             projects:
315               - project-compare-type: 'ANT'
316                 project-pattern: '**'
317                 branches:
318                   - branch-compare-type: 'ANT'
319                     branch-pattern: '**/{branch}'
320             skip-vote:
321                 successful: true
322                 failed: true
323                 unstable: true
324                 notbuilt: true
325
326     prebuilders:
327         - integration-get-bundle-url
328         - inject:
329             properties-file: 'bundle.txt'
330         - wipe-org-opendaylight-repo
331         - maven-target:
332             maven-version: '{mvn32}'
333             pom: '$GERRIT_PROJECT/pom.xml'
334             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
335             java-opts:
336                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
337             settings: '{integration-settings}'
338             global-settings: '{odl-global-settings}'
339
340     maven:
341         maven-name: '{mvn32}'
342         root-pom: 'integration/pom.xml'
343         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
344         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
345         settings: '{integration-settings}'
346         global-settings: '{odl-global-settings}'
347         ignore-upstream-changes: true
348
349     postbuilders:
350         - trigger-builds:
351             - project: 'integration-distribution-test-{stream}'
352               block: true
353               predefined-parameters:
354                   BUNDLEURL=$BUNDLEURL
355
356     publishers:
357         - email-notification:
358             email-prefix: '[integration]'
359