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