add netvirt 3node tests 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                 netvirt-csit-3node-clustering-only-{stream},
27                 openflowplugin-csit-1node-flow-services-only-{stream},
28                 openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
29                 openflowplugin-csit-1node-flow-services-all-{stream},
30                 openflowplugin-csit-1node-scalability-only-{stream},
31                 openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
32                 openflowplugin-csit-1node-scalability-all-{stream},
33                 openflowplugin-csit-1node-cbench-performance-only-{stream},
34                 openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
35                 openflowplugin-csit-1node-config-performance-only-{stream},
36                 openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream},
37                 packetcable-csit-1node-pcmm-only-{stream},
38                 packetcable-csit-1node-pcmm-all-{stream},
39                 sxp-csit-1node-basic-only-{stream},
40                 sxp-csit-1node-filtering-all-{stream},
41                 sxp-csit-1node-topology-only-{stream},
42                 sxp-csit-1node-topology-all-{stream},
43                 topoprocessing-csit-1node-topology-operations-all-{stream},
44                 topoprocessing-csit-1node-topology-operations-only-{stream},
45                 tsdr-csit-1node-cassandra-datastore-only-{stream},
46                 tsdr-csit-1node-hbase-datastore-only-{stream},
47                 tsdr-csit-1node-hsqldb-datastore-only-{stream},
48                 usc-csit-1node-channel-only-{stream},
49                 usc-csit-1node-channel-all-{stream},
50                 usc-csit-1node-tcp-only-{stream},
51                 usc-csit-1node-tcp-all-{stream},
52                 vtn-csit-1node-manager-only-{stream},
53                 vtn-csit-1node-coordinator-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                 lispflowmapping-csit-1node-msmr-only-{stream},
69                 lispflowmapping-csit-1node-msmr-all-{stream},
70                 nemo-csit-1node-engine-all-{stream},
71                 nemo-csit-1node-engine-only-{stream},
72                 netconf-csit-1node-userfeatures-all-{stream},
73                 netconf-csit-1node-userfeatures-only-{stream},
74                 netvirt-csit-1node-openstack-basic-only-{stream},
75                 netvirt-csit-1node-openstack-basic-all-{stream},
76                 netvirt-csit-3node-clustering-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                 packetcable-csit-1node-pcmm-only-{stream},
90                 packetcable-csit-1node-pcmm-all-{stream},
91                 snmp-csit-1node-basic-only-{stream},
92                 snmp-csit-1node-basic-all-{stream},
93                 sxp-csit-1node-basic-only-{stream},
94                 sxp-csit-1node-filtering-only-{stream},
95                 sxp-csit-1node-filtering-all-{stream},
96                 topoprocessing-csit-1node-topology-operations-all-{stream},
97                 topoprocessing-csit-1node-topology-operations-only-{stream},
98                 tsdr-csit-1node-cassandra-datastore-only-{stream},
99                 tsdr-csit-1node-hbase-datastore-only-{stream},
100                 tsdr-csit-1node-hsqldb-datastore-only-{stream},
101                 usc-csit-1node-channel-only-{stream},
102                 usc-csit-1node-channel-all-{stream},
103                 usc-csit-1node-tcp-only-{stream},
104                 usc-csit-1node-tcp-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                 netvirt-csit-1node-openstack-basic-only-{stream},
131                 netvirt-csit-1node-openstack-basic-all-{stream},
132                 nic-csit-1node-basic-all-{stream},
133                 nic-csit-1node-basic-only-{stream},
134                 openflowplugin-csit-1node-flow-services-only-{stream},
135                 openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream},
136                 openflowplugin-csit-1node-flow-services-all-{stream},
137                 openflowplugin-csit-1node-scalability-only-{stream},
138                 openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream},
139                 openflowplugin-csit-1node-scalability-all-{stream},
140                 openflowplugin-csit-1node-cbench-performance-only-{stream},
141                 openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream},
142                 openflowplugin-csit-1node-config-performance-only-{stream},
143                 openflowplugin-csit-1node-config-performance-lithium-redesign-only-{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         - provide-maven-settings:
356             global-settings-file: '{odl-global-settings}'
357             settings-file: '{integration-settings}'
358         - maven-target:
359             maven-version: '{mvn33}'
360             pom: '$GERRIT_PROJECT/pom.xml'
361             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}'
362             java-opts:
363                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
364             global-settings: '{odl-global-settings}'
365             settings: '{integration-settings}'
366
367     maven:
368         maven-name: '{mvn33}'
369         root-pom: 'distribution/pom.xml'
370         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
371         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
372         global-settings: '{odl-global-settings}'
373         settings: '{integration-settings}'
374         ignore-upstream-changes: true
375         post-step-run-condition: 'SUCCESS'
376
377     postbuilders:
378         - trigger-builds:
379             - project: 'integration-distribution-test-{stream}'
380               block: true
381               predefined-parameters:
382                   BUNDLEURL=$BUNDLEURL
383
384     publishers:
385         - email-notification:
386             email-prefix: '[$GERRIT_PROJECT]'
387
388 # Template: integration-multipatch-test-{stream}
389 # Goal: Build one or more patches and run all available system test on a distribution containing the change
390 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
391 # containing these patches, and triggers the distribution test job which includes most (if not all) available
392 # CSIT jobs
393
394 - job-template:
395     name: 'integration-multipatch-test-{stream}'
396
397     project-type: maven
398     node: dynamic_verify
399     jdk: '{jdk}'
400
401     logrotate:
402         daysToKeep: '{build-days-to-keep}'
403         numToKeep: '{build-num-to-keep}'
404         artifactDaysToKeep: '{build-artifact-days-to-keep}'
405         artifactNumToKeep: '{build-artifact-num-to-keep}'
406
407     parameters:
408         - patches-to-build-parameter:
409             patches_to_build: '$PATCHES_TO_BUILD'
410         - integration-branch:
411             branch: '{branch}'
412
413     wrappers:
414         - build-timeout
415         - ssh-agent-credentials:
416             users:
417                 - '{ssh-credentials}'
418
419     prebuilders:
420         - wipe-org-opendaylight-repo
421         - integration-multipatch-builder
422         - inject:
423             properties-file: 'bundle.txt'
424         - provide-maven-settings:
425             global-settings-file: '{odl-global-settings}'
426             settings-file: '{yangtools-settings}'
427
428     maven:
429         maven-name: '{mvn33}'
430         root-pom: 'patch_tester/pom.xml'
431         # TODO: Make Maven option configurable. Currently tests are not skipped, everything elase is.
432         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}'
433         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
434         global-settings: '{odl-global-settings}'
435         settings: '{yangtools-settings}'
436         post-step-run-condition: 'SUCCESS'
437
438     postbuilders:
439         - trigger-builds:
440             - project: 'integration-distribution-test-{stream}'
441               block: true
442               predefined-parameters:
443                   BUNDLEURL=$BUNDLEURL
444
445     publishers:
446         - email-notification:
447             email-prefix: '[integration]'