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