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