4 project: integration/test
5 project-name: integration-test
8 - '{project-name}-verify-tox-master'
9 - 'integration-distribution-test-{stream}'
10 - 'integration-sanity-test-{stream}'
11 - 'integration-patch-test-{stream}'
12 - 'integration-multipatch-test-{stream}'
13 - 'integration-distribution-weekly-test-trigger-{stream}'
14 - 'integration-distribution-high-frequency-test-trigger-{stream}'
15 - 'integration-update-csit-tests-{stream}'
17 # CSIT Lists in releng-defaults.yaml
22 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
23 csit-list: !include: csit-jobs-oxygen.lst
24 csit-sanity-list: '{csit-sanity-list-oxygen}'
25 csit-weekly-list: '{csit-weekly-list-oxygen}'
26 csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
29 branch: 'stable/nitrogen'
31 csit-blacklist: longevity gate sanity capwap centinel coe didm iotdm jsonrpc lacp netide tsdr
32 csit-list: !include: csit-jobs-nitrogen.lst
33 csit-sanity-list: '{csit-sanity-list-nitrogen}'
34 csit-weekly-list: '{csit-weekly-list-nitrogen}'
35 csit-high-frequency-list: '{csit-high-frequency-list-nitrogen}'
38 branch: 'stable/carbon'
42 csit-blacklist: longevity gate sanity capwap centinel coe jsonrpc
43 csit-list: !include: csit-jobs-carbon.lst
44 csit-sanity-list: '{csit-sanity-list-carbon}'
45 csit-weekly-list: '{csit-weekly-list-carbon}'
46 csit-high-frequency-list: '{csit-high-frequency-list-carbon}'
49 tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
51 # Template: integration-distribution-test-{stream}
52 # Goal: Verify a distribution through all system test available
53 # Operation: This template takes a distribution and passes all available system test
56 name: 'integration-distribution-test-{stream}'
58 project-type: freestyle
59 node: centos7-robot-2c-2g
62 - opendaylight-infra-properties:
63 build-days-to-keep: '{build-days-to-keep}'
66 - integration-bundle-url:
67 bundle-url: '{bundle-url}'
68 - distribution-karaf-version:
69 karaf-version: '{karaf-version}'
73 - project: '{csit-list}'
75 predefined-parameters: |
76 BUNDLE_URL=$BUNDLE_URL
77 KARAF_VERSION=$KARAF_VERSION
80 - opendaylight-infra-generate-csit-status-report
82 email-recipients: '{email-recipients}'
83 email-prefix: '[integration]'
86 # Template: integration-sanity-test-{stream}
87 # Goal: Verify a distribution through sanity test
88 # Operation: This template takes a distribution and passes sanity test
91 name: 'integration-sanity-test-{stream}'
93 project-type: freestyle
94 node: centos7-robot-2c-2g
97 - opendaylight-infra-properties:
98 build-days-to-keep: '{build-days-to-keep}'
101 - integration-bundle-url:
102 bundle-url: '{bundle-url}'
103 - distribution-karaf-version:
104 karaf-version: '{karaf-version}'
108 - project: '{csit-sanity-list}'
110 predefined-parameters: |
111 BUNDLE_URL=$BUNDLE_URL
112 KARAF_VERSION=$KARAF_VERSION
115 - email-notification:
116 email-recipients: '{email-recipients}'
117 email-prefix: '[integration]'
119 # Template: integration-patch-test-{stream}
120 # Goal: Build a patch and run all available system test on a distribution containing the change
121 # Operation: This job template builds a patch, creates a distribution containing the patch, and
122 # triggers the distribution test when test-integration is used in gerrit comments
125 name: 'integration-patch-test-{stream}'
127 project-type: freestyle
128 node: centos7-java-builder-2c-8g
131 - opendaylight-infra-properties:
132 build-days-to-keep: '{build-days-to-keep}'
135 - opendaylight-infra-parameters:
136 os-cloud: '{os-cloud}'
137 project: '$GERRIT_PROJECT'
139 refspec: '$GERRIT_REFSPEC'
140 artifacts: '{archive-artifacts}'
141 - integration-distribution-branch:
143 - distribution-karaf-version:
144 karaf-version: '{karaf-version}'
145 - integration-distribution-git-url:
151 - integration-gerrit-scm:
152 basedir: '$GERRIT_PROJECT'
153 refspec: '$GERRIT_REFSPEC'
155 - integration-distribution-scm:
159 - opendaylight-infra-wrappers:
164 server-name: '{server-name}'
166 - comment-added-contains-event:
167 comment-contains-value: 'test-integration'
169 - project-compare-type: 'ANT'
170 project-pattern: '**'
172 - branch-compare-type: 'ANT'
173 branch-pattern: '**/{branch}'
181 - integration-rebase-gerrit-patch
182 - wipe-org-opendaylight-repo
183 - provide-maven-settings:
184 global-settings-file: 'global-settings'
185 settings-file: 'integration-settings'
187 maven-version: 'mvn33'
188 pom: '$GERRIT_PROJECT/pom.xml'
190 clean install dependency:tree -DoutputFile=dependency_tree.txt
193 {opendaylight-infra-mvn-opts}
194 # TODO: {opendaylight-infra-parallel-mvn-opts}?
196 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
197 settings: integration-settings
199 global-settings: global-settings
200 global-settings-type: cfp
203 pom: distribution/pom.xml
205 clean install dependency:tree -DoutputFile=dependency_tree.txt
206 {opendaylight-infra-parallel-mvn-opts}
208 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
209 settings: integration-settings
211 global-settings: global-settings
212 global-settings-type: cfp
213 - integration-upload-distribution:
214 dist-pom: distribution/pom.xml
216 - project: '{csit-list}'
218 predefined-parameters: |
219 BUNDLE_URL=$BUNDLE_URL
220 KARAF_VERSION=$KARAF_VERSION
224 - email-notification:
225 email-recipients: '{email-recipients}'
226 email-prefix: '[$GERRIT_PROJECT]'
230 name: 'integration-multipatch-test-{stream}'
231 # Goal: Build one or more patches and run all available system test on a distribution containing the change.
232 # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
233 # containing these patches, and triggers the distribution test job which includes most (if not all) available
235 # TODO: Move the following to appropriate readthedocs document.
236 # Recommended Sandbox usage:
237 # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
238 # 1. Copy the csit job name to clipboard.
239 # 2. Navigate to Sandbox page of this job.
240 # 3. Click "Configure".
241 # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
242 # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
243 # 6. Click "Save" button.
244 # 7. Click "Build with Parameters".
245 # yamllint disable-line rule:line-length
246 # 8. Start the job with your parameters, see https://wiki.opendaylight.org/view/Integration/Test/Running_System_Tests#Running_System_Tests_Using_Custom_Distribution_Built_From_Multiple_Patches
247 # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
248 # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
249 # 11. Click Parameters and copy the long value of BUNDLE_URL field to clipboard.
250 # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLE_URL value
251 # so you do not have to wait for multipatch build. Repeat step 12.
252 # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
254 project-type: freestyle
255 node: centos7-java-builder-8c-8g
259 - opendaylight-infra-properties:
260 build-days-to-keep: '{build-days-to-keep}'
263 - patches-to-build-parameter:
264 patches_to_build: '$PATCHES_TO_BUILD'
265 - run-test-parameter:
267 - integration-distribution-branch:
269 - distribution-karaf-version:
270 karaf-version: '{karaf-version}'
271 - opendaylight-infra-parameters:
272 os-cloud: '{os-cloud}'
273 project: 'integration/distribution'
275 refspec: 'refs/heads/{branch}'
276 artifacts: '{archive-artifacts}'
281 - opendaylight-infra-wrappers:
282 build-timeout: '1200'
285 - wipe-org-opendaylight-repo
286 - integration-multipatch-builder
287 - provide-maven-settings:
288 global-settings-file: 'global-settings'
289 settings-file: 'yangtools-settings'
292 pom: patch_tester/pom.xml
293 # TODO: Make Maven options configurable. Currently tests are not skipped, everything else is.
295 clean install dependency:tree -DoutputFile=dependency_tree.txt
299 {opendaylight-infra-mvn-opts}
300 # TODO: {opendaylight-infra-parallel-mvn-opts}?
302 - '-Xmx3072m -Dmaven.compile.fork=true'
303 settings: integration-settings
305 global-settings: global-settings
306 global-settings-type: cfp
307 - integration-upload-distribution:
308 dist-pom: patch_tester/distribution/pom.xml
310 condition-kind: boolean-expression
311 condition-expression: $RUNTEST
314 - project: '{csit-list}'
316 predefined-parameters: |
317 BUNDLE_URL=$BUNDLE_URL
318 KARAF_VERSION=$KARAF_VERSION
322 - email-notification:
323 email-recipients: '{email-recipients}'
324 email-prefix: '[int/dist]'
327 name: 'integration-distribution-weekly-test-trigger-{stream}'
329 project-type: freestyle
330 node: centos7-robot-2c-2g
333 - opendaylight-infra-properties:
334 build-days-to-keep: '{build-days-to-keep}'
337 - integration-bundle-url:
338 bundle-url: '{bundle-url}'
339 - distribution-karaf-version:
340 karaf-version: '{karaf-version}'
343 - timed: '{schedule-weekly}'
347 - project: '{csit-weekly-list}'
349 predefined-parameters: |
350 BUNDLE_URL=$BUNDLE_URL
351 KARAF_VERSION=$KARAF_VERSION
354 - email-notification:
355 email-recipients: '{email-recipients}'
356 email-prefix: '[integration]'
359 name: 'integration-distribution-high-frequency-test-trigger-{stream}'
361 project-type: freestyle
362 node: centos7-robot-2c-2g
365 - opendaylight-infra-properties:
366 build-days-to-keep: '{build-days-to-keep}'
369 - integration-bundle-url:
370 bundle-url: '{bundle-url}'
371 - distribution-karaf-version:
372 karaf-version: '{karaf-version}'
375 - timed: '{schedule-high-frequency}'
379 - project: '{csit-high-frequency-list}'
381 predefined-parameters: |
382 BUNDLE_URL=$BUNDLE_URL
383 KARAF_VERSION=$KARAF_VERSION
386 - email-notification:
387 email-recipients: '{email-recipients}'
388 email-prefix: '[integration]'
391 name: 'integration-update-csit-tests-{stream}'
393 # This job's purpose is to update csit
394 # tests to run in integration-distribution-test-{stream}
395 # by updating integration files: csit-list-{stream}.inc
396 # These files can be used as !include in int-dist-test-{stream}
398 ######################
399 # Default parameters #
400 ######################
402 git-url: '$GIT_URL/$PROJECT'
403 submodule-recursive: true
405 #####################
406 # Job Configuration #
407 #####################
409 project-type: freestyle
410 node: centos7-java-builder-2c-4g
413 - lf-infra-properties:
414 build-days-to-keep: 7
417 - lf-infra-parameters:
418 project: releng/builder # Hardcode as this job needs to pull releng/builder
420 branch: master # Hardcode as releng/builder only has master
421 lftools-version: '{lftools-version}'
424 default: '{csit-blacklist}'
425 description: Space separated list of jobs strings to blacklist.
428 - lf-infra-gerrit-scm:
429 jenkins-ssh-credential: '{jenkins-ssh-credential}'
431 refspec: '$GERRIT_REFSPEC'
432 branch: '$GERRIT_BRANCH'
433 submodule-recursive: '{submodule-recursive}'
434 choosing-strategy: default
439 jenkins-ssh-credential: '{jenkins-ssh-credential}'
443 jobs: builder-jjb-merge
446 - shell: !include-raw-escape: update-csit-tests.sh
449 git add jjb/integration/*.lst
450 - opendaylight-infra-push-gerrit-patch:
451 project: "releng/builder"
452 gerrit-topic: "auto-update-csit-jobs-{stream}"
453 gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"