Merge "Include taglist.log in integration/distribution karaf"
[releng/builder.git] / jjb / integration / integration-test-jobs.yaml
1 - project:
2     name: integration-test
3     jobs:
4         - '{name}-verify-python-{stream}'
5         - 'integration-csit-verify-1node-library'
6         - 'integration-distribution-test-{stream}'
7         - 'integration-patch-test-{stream}'
8         - 'integration-multipatch-test-{stream}'
9
10     project: integration/test
11
12     stream:
13         - boron:
14             branch: 'master'
15             jdk: 'openjdk8'
16             jre: 'openjdk8'
17             csit-list: >
18                 integration-distribution-deploy-{stream},
19                 integration-distribution-offline-{stream},
20                 lispflowmapping-csit-1node-msmr-only-{stream},
21                 lispflowmapping-csit-1node-msmr-all-{stream},
22                 nemo-csit-1node-engine-all-{stream},
23                 nemo-csit-1node-engine-only-{stream},
24                 netvirt-csit-1node-openstack-basic-only-{stream},
25                 netvirt-csit-1node-openstack-basic-all-{stream},
26                 openflowplugin-csit-1node-flow-services-only-{stream},
27                 openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
28                 openflowplugin-csit-1node-flow-services-all-{stream},
29                 openflowplugin-csit-1node-scalability-only-{stream},
30                 openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
31                 openflowplugin-csit-1node-scalability-all-{stream},
32                 openflowplugin-csit-1node-cbench-performance-only-{stream},
33                 openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
34                 openflowplugin-csit-1node-config-performance-only-{stream},
35                 openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
36                 packetcable-csit-1node-pcmm-only-{stream},
37                 packetcable-csit-1node-pcmm-all-{stream},
38                 sxp-csit-1node-basic-only-{stream},
39                 sxp-csit-1node-filtering-all-{stream},
40                 sxp-csit-1node-topology-only-{stream},
41                 sxp-csit-1node-topology-all-{stream},
42                 topoprocessing-csit-1node-topology-operations-all-{stream},
43                 topoprocessing-csit-1node-topology-operations-only-{stream},
44                 tsdr-csit-1node-cassandra-datastore-only-{stream},
45                 tsdr-csit-1node-hbase-datastore-only-{stream},
46                 tsdr-csit-1node-hsqldb-datastore-only-{stream},
47                 usc-csit-1node-channel-only-{stream},
48                 usc-csit-1node-channel-all-{stream},
49                 vtn-csit-1node-manager-only-{stream},
50                 vtn-csit-1node-coordinator-only-{stream}
51
52         - beryllium:
53             branch: 'stable/beryllium'
54             jdk: 'openjdk7'
55             jre: 'openjdk7'
56             csit-list: >
57                 aaa-csit-1node-authn-only-{stream},
58                 aaa-csit-1node-authn-all-{stream},
59                 bgpcep-csit-1node-userfeatures-only-{stream},
60                 bgpcep-csit-1node-userfeatures-all-{stream},
61                 capwap-csit-1node-ac-only-{stream},
62                 capwap-csit-1node-ac-all-{stream},
63                 integration-distribution-offline-{stream},
64                 integration-distribution-deploy-{stream},
65                 lispflowmapping-csit-1node-msmr-only-{stream},
66                 lispflowmapping-csit-1node-msmr-all-{stream},
67                 nemo-csit-1node-engine-all-{stream},
68                 nemo-csit-1node-engine-only-{stream},
69                 netconf-csit-1node-userfeatures-all-{stream},
70                 netconf-csit-1node-userfeatures-only-{stream},
71                 netvirt-csit-1node-openstack-basic-only-{stream},
72                 netvirt-csit-1node-openstack-basic-all-{stream},
73                 nic-csit-1node-basic-all-{stream},
74                 nic-csit-1node-basic-only-{stream},
75                 openflowplugin-csit-1node-flow-services-only-{stream},
76                 openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
77                 openflowplugin-csit-1node-flow-services-all-{stream},
78                 openflowplugin-csit-1node-scalability-only-{stream},
79                 openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
80                 openflowplugin-csit-1node-scalability-all-{stream},
81                 openflowplugin-csit-1node-cbench-performance-only-{stream},
82                 openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
83                 openflowplugin-csit-1node-config-performance-only-{stream},
84                 openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
85                 packetcable-csit-1node-pcmm-only-{stream},
86                 packetcable-csit-1node-pcmm-all-{stream},
87                 snmp-csit-1node-basic-only-{stream},
88                 snmp-csit-1node-basic-all-{stream},
89                 sxp-csit-1node-basic-only-{stream},
90                 sxp-csit-1node-filtering-only-{stream},
91                 sxp-csit-1node-filtering-all-{stream},
92                 topoprocessing-csit-1node-topology-operations-all-{stream},
93                 topoprocessing-csit-1node-topology-operations-only-{stream},
94                 tsdr-csit-1node-cassandra-datastore-only-{stream},
95                 tsdr-csit-1node-hbase-datastore-only-{stream},
96                 tsdr-csit-1node-hsqldb-datastore-only-{stream},
97                 usc-csit-1node-channel-only-{stream},
98                 usc-csit-1node-channel-all-{stream},
99                 vtn-csit-1node-manager-only-{stream},
100                 vtn-csit-1node-manager-all-{stream},
101                 vtn-csit-1node-coordinator-only-{stream}
102
103         - stable-lithium:
104             branch: 'stable/lithium'
105             jdk: 'openjdk7'
106             jre: 'openjdk7'
107             csit-list: >
108                 aaa-csit-1node-authn-only-{stream},
109                 aaa-csit-1node-authn-all-{stream},
110                 bgpcep-csit-1node-userfeatures-only-{stream},
111                 bgpcep-csit-1node-userfeatures-all-{stream},
112                 capwap-csit-1node-ac-only-{stream},
113                 capwap-csit-1node-ac-all-{stream},
114                 controller-csit-3node-clustering-only-{stream},
115                 integration-distribution-offline-{stream},
116                 l2switch-csit-1node-switch-only-{stream},
117                 l2switch-csit-1node-switch-all-{stream},
118                 l2switch-csit-1node-scalability-only-{stream},
119                 l2switch-csit-1node-scalability-all-{stream},
120                 lispflowmapping-csit-1node-all-only-{stream},
121                 lispflowmapping-csit-1node-all-all-{stream},
122                 netconf-csit-1node-userfeatures-all-{stream},
123                 netconf-csit-1node-userfeatures-only-{stream},
124                 netvirt-csit-1node-openstack-basic-only-{stream},
125                 netvirt-csit-1node-openstack-basic-all-{stream},
126                 nic-csit-1node-basic-all-{stream},
127                 nic-csit-1node-basic-only-{stream},
128                 openflowplugin-csit-1node-flow-services-only-{stream},
129                 openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
130                 openflowplugin-csit-1node-flow-services-all-{stream},
131                 openflowplugin-csit-1node-scalability-only-{stream},
132                 openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
133                 openflowplugin-csit-1node-scalability-all-{stream},
134                 openflowplugin-csit-1node-cbench-performance-only-{stream},
135                 openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
136                 openflowplugin-csit-1node-config-performance-only-{stream},
137                 openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
138                 ovsdb-csit-1node-southbound-only-{stream},
139                 ovsdb-csit-1node-southbound-all-{stream},
140                 snmp-csit-1node-basic-only-{stream},
141                 snmp-csit-1node-basic-all-{stream},
142                 usc-csit-1node-channel-only-{stream},
143                 usc-csit-1node-channel-all-{stream},
144                 vpnservice-csit-1node-vpnservice-only-{stream},
145                 vpnservice-csit-1node-vpnservice-all-{stream},
146                 vtn-csit-1node-manager-li-only-{stream},
147                 vtn-csit-1node-manager-li-all-{stream},
148                 vtn-csit-1node-coordinator-only-{stream}
149
150
151 # Template: integration-csit-verify-1node-library
152 # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
153 # Operation: This job template performs a base openflow test when there is a change in the libraries folder
154
155 - job-template:
156     name: 'integration-csit-verify-1node-library'
157
158     project-type: freestyle
159     node: dynamic_robot
160
161     logrotate:
162         daysToKeep: '{build-days-to-keep}'
163         numToKeep: '{build-num-to-keep}'
164         artifactDaysToKeep: '{build-artifact-days-to-keep}'
165         artifactNumToKeep: '{build-artifact-num-to-keep}'
166
167     parameters:
168         - project-parameter:
169             project: 'integration/test'
170         - integration-branch:
171             branch: 'stable/beryllium'
172         - integration-distribution-stream:
173             stream: 'beryllium'
174         - integration-bundleurl:
175             bundleurl: 'last'
176         - integration-controller-scope:
177             controller-scope: 'only'
178         - integration-controller-features:
179             controller-features: >
180                 odl-clustering-test-app,
181                 odl-openflowplugin-flow-services-ui,
182                 odl-bgpcep-pcep,
183                 odl-bgpcep-bgp,
184                 odl-netconf-connector-all
185         - integration-test-options:
186             test-options: '-v TIMEOUT_BUG_4220:10s'
187         - integration-stream-test-plan:
188             stream-test-plan: 'test-libraries-beryllium.txt'
189         - integration-test-plan:
190             test-plan: 'test-libraries.txt'
191         - integration-patch-refspec:
192             branch: '$GERRIT_REFSPEC'
193         - integration-jdk-version:
194             jdkversion: 'openjdk7'
195             # TODO: Switch to openjdk8 from Boron on.
196
197     scm:
198         - integration-gerrit-scm:
199             credentials-id: '{ssh-credentials}'
200             basedir: 'test'
201             refspec: '$PATCHREFSPEC'
202             branch: 'master'
203
204     wrappers:
205         - build-timeout
206         - integration-jclouds-controller-mininet:
207             controller-vms: 1
208             mininet-image: '{mininet-image}'
209             mininet-vms: '{mininet-vms}'
210             mininet-cloud-name: '{mininet-cloud-name}'
211         - ssh-agent-credentials:
212             users:
213                 - '{ssh-credentials}'
214
215     triggers:
216         - integration-trigger-patch-submitted:
217             name: 'integration/test'
218             branch: 'master'
219             pattern: 'csit/libraries/*'
220
221     builders:
222         - integration-cleanup-workspace
223         - integration-install-robotframework
224         - inject:
225             properties-file: 'env.properties'
226         - integration-get-slave-addresses
227         - inject:
228             properties-file: 'slave_addresses.txt'
229         - integration-get-bundle-vars
230         - inject:
231             properties-file: 'bundle_vars.txt'
232         - integration-deploy-controller-run-test
233         - integration-cleanup-tmp
234
235     publishers:
236         - integration-robot:
237             unstable-if: 0.0
238             pass-if: 100.0
239         - archive:
240             artifacts: '*.log,*.log.xz'
241         - email-notification:
242             email-prefix: '[integration]'
243
244 # Template: integration-distribution-test-{stream}
245 # Goal: Verify a distribution through all system test available
246 # Operation: This daily job template takes a distribution and passes all available system test
247
248 - job-template:
249     name: 'integration-distribution-test-{stream}'
250
251     project-type: freestyle
252     node: dynamic_verify
253
254     logrotate:
255         daysToKeep: '{build-days-to-keep}'
256         numToKeep: '{build-num-to-keep}'
257         artifactDaysToKeep: '{build-artifact-days-to-keep}'
258         artifactNumToKeep: '{build-artifact-num-to-keep}'
259
260     parameters:
261         - integration-bundleurl:
262             bundleurl: 'last'
263         - integration-jdk-version:
264             jdkversion: '{jre}'
265
266     triggers:
267         - timed: 'H H * * 6'
268
269     builders:
270         - trigger-builds:
271             - project: '{csit-list}'
272               block: true
273               predefined-parameters:
274                   BUNDLEURL=$BUNDLEURL
275
276     publishers:
277         - email-notification:
278             email-prefix: '[integration]'
279
280 # Template: integration-patch-test-{stream}
281 # Goal: Build a patch and run all available system test on a distribution containing the change
282 # Operation: This job template builds a patch, creates a distribution containing the patch, and
283 # triggers the distribution test when test-integration is used in gerrit comments
284
285 - job-template:
286     name: 'integration-patch-test-{stream}'
287
288     project-type: maven
289     node: dynamic_verify
290     jdk: '{jdk}'
291
292     logrotate:
293         daysToKeep: '{build-days-to-keep}'
294         numToKeep: '{build-num-to-keep}'
295         artifactDaysToKeep: '{build-artifact-days-to-keep}'
296         artifactNumToKeep: '{build-artifact-num-to-keep}'
297
298     parameters:
299         - gerrit-parameters:
300             project: '$GERRIT_PROJECT'
301             branch: '{branch}'
302             refspec: '$GERRIT_REFSPEC'
303         - project-parameter:
304             project: '$GERRIT_PROJECT'
305         - integration-branch:
306             branch: '{branch}'
307         - integration-distribution-git-url
308
309     scm:
310         - integration-gerrit-scm:
311             credentials-id: '{ssh-credentials}'
312             basedir: '$GERRIT_PROJECT'
313             refspec: '$GERRIT_REFSPEC'
314             branch: '{branch}'
315         - integration-distribution-scm:
316             credentials-id: '{ssh-credentials}'
317             branch: '{branch}'
318
319     wrappers:
320         - build-timeout
321         - ssh-agent-credentials:
322             users:
323                 - '{ssh-credentials}'
324
325     triggers:
326         - gerrit:
327             server-name: 'OpenDaylight'
328             trigger-on:
329                 - comment-added-contains-event:
330                     comment-contains-value: 'test-integration'
331             projects:
332               - project-compare-type: 'ANT'
333                 project-pattern: '**'
334                 branches:
335                   - branch-compare-type: 'ANT'
336                     branch-pattern: '**/{branch}'
337             skip-vote:
338                 successful: true
339                 failed: true
340                 unstable: true
341                 notbuilt: true
342
343     prebuilders:
344         - integration-rebase-gerrit-patch
345         - integration-get-bundle-url
346         - inject:
347             properties-file: 'bundle.txt'
348         - wipe-org-opendaylight-repo
349         - provide-maven-settings:
350             global-settings-file: '{odl-global-settings}'
351             settings-file: '{integration-settings}'
352         - maven-target:
353             maven-version: '{mvn33}'
354             pom: '$GERRIT_PROJECT/pom.xml'
355             goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
356             java-opts:
357                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
358             settings: '{integration-settings}'
359             global-settings: '{odl-global-settings}'
360
361     maven:
362         maven-name: '{mvn33}'
363         root-pom: 'distribution/pom.xml'
364         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
365         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
366         settings: '{integration-settings}'
367         global-settings: '{odl-global-settings}'
368         ignore-upstream-changes: true
369         post-step-run-condition: 'SUCCESS'
370
371     postbuilders:
372         - trigger-builds:
373             - project: 'integration-distribution-test-{stream}'
374               block: true
375               predefined-parameters:
376                   BUNDLEURL=$BUNDLEURL
377
378     publishers:
379         - email-notification:
380             email-prefix: '[$GERRIT_PROJECT]'
381
382 # Template: integration-multipatch-test-{stream}
383 # Goal: Build one or more patches and run all available system test on a distribution containing the change
384 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
385 # containing these patches, and triggers the distribution test job which includes most (if not all) available
386 # CSIT jobs
387
388 - job-template:
389     name: 'integration-multipatch-test-{stream}'
390
391     project-type: maven
392     node: dynamic_verify
393     jdk: '{jdk}'
394
395     logrotate:
396         daysToKeep: '{build-days-to-keep}'
397         numToKeep: '{build-num-to-keep}'
398         artifactDaysToKeep: '{build-artifact-days-to-keep}'
399         artifactNumToKeep: '{build-artifact-num-to-keep}'
400
401     parameters:
402         - patches-to-build-parameter:
403             patches_to_build: '$PATCHES_TO_BUILD'
404         - integration-branch:
405             branch: '{branch}'
406
407     wrappers:
408         - build-timeout
409         - ssh-agent-credentials:
410             users:
411                 - '{ssh-credentials}'
412
413     prebuilders:
414         - wipe-org-opendaylight-repo
415         - integration-multipatch-builder
416         - inject:
417             properties-file: 'bundle.txt'
418         - provide-maven-settings:
419             global-settings-file: '{odl-global-settings}'
420             settings-file: '{yangtools-settings}'
421
422
423     maven:
424         maven-name: '{mvn33}'
425         root-pom: 'patch_tester/pom.xml'
426         # TODO: Make Maven option configurable. Currently tests are not skipped, everything elase is.
427         goals: 'clean install -f patch_tester/pom.xml -Djenkins -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
428         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
429         settings: '{yangtools-settings}'
430         global-settings: '{odl-global-settings}'
431         post-step-run-condition: 'SUCCESS'
432
433     postbuilders:
434         - trigger-builds:
435             - project: 'integration-distribution-test-{stream}'
436               block: true
437               predefined-parameters:
438                   BUNDLEURL=$BUNDLEURL
439
440     publishers:
441         - email-notification:
442             email-prefix: '[integration]'