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