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