fix blacklist job lists
[releng/builder.git] / jjb / integration / integration-test-jobs.yaml
1 ---
2 - project:
3     name: integration-test
4     project: integration/test
5     project-name: integration-test
6     jobs:
7       - 'integration-patch-test-{stream}'
8       - 'integration-multipatch-test-{stream}'
9       - '{project-name}-rtd-jobs':
10           build-node: centos7-builder-2c-2g
11           project-pattern: integration/test
12           rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationtest/32934/
13           rtd-token: 70766f97941a74ef80b84749ac4799e5ddeee99a
14       - gerrit-tox-verify:
15           branch: master
16           stream: master
17
18     # CSIT Lists in defaults.yaml
19     stream:
20       - neon:
21           branch: 'master'
22           mvn-version: 'mvn35'
23           csit-list: !include: csit-jobs-neon.lst
24           build-order: >
25               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
26               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
27
28       - fluorine:
29           branch: 'stable/fluorine'
30           mvn-version: 'mvn35'
31           csit-list: !include: csit-jobs-fluorine.lst
32           build-order: >
33               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
34               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
35
36       - oxygen:
37           branch: 'stable/oxygen'
38           mvn-version: 'mvn35'
39           csit-list: !include: csit-jobs-oxygen.lst
40           build-order: >
41               odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
42               ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
43
44 - project:
45     name: integration-distribution
46     project: integration/test
47     project-name: integration-test
48     jobs:
49       - 'integration-distribution-test-{stream}'
50       - 'integration-distribution-weekly-test-trigger-{stream}'
51       - 'integration-distribution-high-frequency-test-trigger-{stream}'
52       - 'integration-update-csit-tests-{stream}'
53
54     # CSIT Lists in defaults.yaml
55     stream:
56       - neon:
57           branch: 'master'
58           csit-blacklist: >
59               alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
60               l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
61               sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
62               aaa-csit-1node-keystone-all
63               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
64               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
65               netvirt-csit-3node-1cmb
66               last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
67           csit-list: !include: csit-jobs-neon.lst
68           csit-weekly-list: '{csit-weekly-list-neon}'
69           csit-high-frequency-list: '{csit-high-frequency-list-neon}'
70       - fluorine:
71           branch: 'stable/fluorine'
72           csit-blacklist: >
73               alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
74               l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
75               sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
76               aaa-csit-1node-keystone-all
77               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
78               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
79               netvirt-csit-3node-1cmb
80               last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
81           csit-list: !include: csit-jobs-fluorine.lst
82           csit-weekly-list: '{csit-weekly-list-fluorine}'
83           csit-high-frequency-list: '{csit-high-frequency-list-fluorine}'
84       - oxygen:
85           branch: 'stable/oxygen'
86           csit-blacklist: >
87               capwap centinel didm iotdm jsonrpc lacp messaging4transport netide nic
88               ocpplugin sdninterfaceapp unimgr usecplugin gate longevity sanity tdd tempest wip
89               aaa-csit-1node-keystone-all groupbasedpolicy-csit-1node-1cmb-0ctl-0cmp-openstack-pike-openstack
90               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
91               netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
92               netvirt-csit-3node-1cmb
93               last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
94           csit-list: !include: csit-jobs-oxygen.lst
95           csit-weekly-list: '{csit-weekly-list-oxygen}'
96           csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
97
98 - project:
99     name: integration-sanity
100     project: integration/test
101     project-name: integration-test
102     jobs:
103       - 'integration-sanity-test-{stream}'
104
105     stream:
106       - neon:
107           branch: 'master'
108           karaf-version: odl
109           csit-sanity-list: '{csit-sanity-list-neon}'
110       - fluorine:
111           branch: 'stable/fluorine'
112           karaf-version: odl
113           csit-sanity-list: '{csit-sanity-list-fluorine}'
114       - oxygen:
115           branch: 'stable/oxygen'
116           karaf-version: karaf4
117           csit-sanity-list: '{csit-sanity-list-oxygen}'
118
119 - job-template:
120     name: 'integration-distribution-test-{stream}'
121     # Goal: Verify a distribution through all system test available
122     # Operation: This template takes a distribution and passes all available system test
123
124     project-type: freestyle
125     node: queue-disttest-2c-1g
126
127     properties:
128       - opendaylight-infra-properties:
129           build-days-to-keep: '{build-days-to-keep}'
130
131     parameters:
132       - integration-bundle-url:
133           bundle-url: '{bundle-url}'
134       - distribution-karaf-version:
135           karaf-version: '{karaf-version}'
136
137     builders:
138       - trigger-builds:
139           - project: '{csit-list}'
140             block: true
141             predefined-parameters: |
142               BUNDLE_URL=$BUNDLE_URL
143               KARAF_VERSION=$KARAF_VERSION
144
145     publishers:
146       - opendaylight-infra-generate-csit-status-report
147       - email-notification:
148           email-recipients: '{email-recipients}'
149           email-prefix: '[integration]'
150       - lf-infra-publish
151
152 - job-template:
153     name: 'integration-sanity-test-{stream}'
154     # Goal: Verify a distribution through sanity test
155     # Operation: This template takes a distribution and passes sanity test
156     # This jobs works for both managed & unmanaged distro.
157
158     project-type: freestyle
159     node: queue-intque-2c-1g
160
161     properties:
162       - opendaylight-infra-properties:
163           build-days-to-keep: '{build-days-to-keep}'
164
165     parameters:
166       - integration-bundle-url:
167           bundle-url: '{bundle-url}'
168       - distribution-karaf-version:
169           karaf-version: '{karaf-version}'
170
171     triggers:
172       - timed: '{schedule-daily}'
173
174     builders:
175       - trigger-builds:
176           - project: '{csit-sanity-list}'
177             block: true
178             predefined-parameters: |
179               BUNDLE_URL=$BUNDLE_URL
180               KARAF_VERSION=$KARAF_VERSION
181
182     publishers:
183       - email-notification:
184           email-recipients: '{email-recipients}'
185           email-prefix: '[integration]'
186
187 - job-template:
188     name: 'integration-patch-test-{stream}'
189     # Template: integration-patch-test-{stream}
190     # Goal: Build a patch and run all available system test on a distribution containing the change
191     # Operation: This job template builds a patch, creates a distribution containing the patch, and
192     # triggers the distribution test when test-integration is used in gerrit comments
193
194     project-type: freestyle
195     node: centos7-builder-2c-8g
196
197     properties:
198       - opendaylight-infra-properties:
199           build-days-to-keep: '{build-days-to-keep}'
200
201     parameters:
202       - opendaylight-infra-parameters:
203           os-cloud: '{os-cloud}'
204           project: '$GERRIT_PROJECT'
205           branch: '{branch}'
206           refspec: '$GERRIT_REFSPEC'
207           artifacts: '{archive-artifacts}'
208       - integration-distribution-branch:
209           branch: '{branch}'
210       - distribution-karaf-version:
211           karaf-version: '{karaf-version}'
212       - integration-distribution-git-url:
213           git-url: '{git-url}'
214       - maven-exec:
215           maven-version: mvn35
216
217     scm:
218       - integration-gerrit-scm:
219           basedir: '$GERRIT_PROJECT'
220           refspec: '$GERRIT_REFSPEC'
221           branch: '{branch}'
222       - integration-distribution-scm:
223           branch: '{branch}'
224
225     wrappers:
226       - opendaylight-infra-wrappers:
227           build-timeout: '720'
228
229     triggers:
230       - gerrit:
231           server-name: '{gerrit-server-name}'
232           trigger-on:
233             - comment-added-contains-event:
234                 comment-contains-value: 'test-integration'
235           projects:
236             - project-compare-type: 'ANT'
237               project-pattern: '**'
238               branches:
239                 - branch-compare-type: 'ANT'
240                   branch-pattern: '**/{branch}'
241           skip-vote:
242             successful: true
243             failed: true
244             unstable: true
245             notbuilt: true
246
247     builders:
248       - integration-rebase-gerrit-patch
249       - wipe-org-opendaylight-repo
250       - provide-maven-settings:
251           global-settings-file: 'global-settings'
252           settings-file: 'integration-settings'
253       - maven-target:
254           maven-version: 'mvn35'
255           pom: '$GERRIT_PROJECT/pom.xml'
256           goals: |
257               clean install dependency:tree -DoutputFile=dependency_tree.txt
258               -Pq
259               -Dstream={stream}
260               {opendaylight-infra-mvn-opts}
261           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
262           java-opts:
263             - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
264           settings: integration-settings
265           settings-type: cfp
266           global-settings: global-settings
267           global-settings-type: cfp
268       - maven-target:
269           maven-version: mvn35
270           pom: distribution/pom.xml
271           goals: |
272               clean install dependency:tree -DoutputFile=dependency_tree.txt
273               {opendaylight-infra-mvn-opts}
274           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
275           java-opts:
276             - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
277           settings: integration-settings
278           settings-type: cfp
279           global-settings: global-settings
280           global-settings-type: cfp
281       - integration-upload-distribution:
282           dist-pom: distribution/pom.xml
283       - trigger-builds:
284           - project: '{csit-list}'
285             block: true
286             predefined-parameters: |
287               BUNDLE_URL=$BUNDLE_URL
288               KARAF_VERSION=$KARAF_VERSION
289
290     publishers:
291       - lf-infra-publish
292       - email-notification:
293           email-recipients: '{email-recipients}'
294           email-prefix: '[$GERRIT_PROJECT]'
295
296
297 - job-template:
298     name: 'integration-multipatch-test-{stream}'
299     # Goal: Build one or more patches and run all available system test on a distribution containing the change.
300     # Operation: This job template checks out and builds in order each patch provided in job parameters, finally
301     # it creates a distribution containing all patches and triggers the distribution test job which includes most
302     # (if not all) available CSIT jobs.
303
304     project-type: freestyle
305     node: centos7-builder-8c-8g
306     concurrent: true
307     jdk: '{java-version}'
308
309     properties:
310       - opendaylight-infra-properties:
311           build-days-to-keep: '{build-days-to-keep}'
312
313     parameters:
314       - patches-to-build-parameter:
315           patches_to_build: '$PATCHES_TO_BUILD'
316       - build-order-parameter:
317           build-order: '{build-order}'
318       - build-fast-parameter:
319           build-fast: 'false'
320       - run-test-parameter:
321           run-test: 'false'
322       - integration-distribution-branch:
323           branch: '{branch}'
324       - integration-distribution-stream:
325           stream: '{stream}'
326       - distribution-karaf-version:
327           karaf-version: '{karaf-version}'
328       - opendaylight-infra-parameters:
329           os-cloud: '{os-cloud}'
330           project: 'integration/distribution'
331           branch: '{branch}'
332           refspec: 'refs/heads/{branch}'
333           artifacts: '{archive-artifacts}'
334       - lf-infra-maven-parameters:
335           mvn-opts: ''
336           mvn-params: ''
337           mvn-version: mvn35
338           staging-profile-id: ''  # Staging repos do not make sense for this job
339
340     wrappers:
341       - opendaylight-infra-wrappers:
342           build-timeout: '1200'
343
344     triggers:
345       - gerrit:
346           server-name: '{gerrit-server-name}'
347           trigger-on:
348             - comment-added-contains-event:
349                 comment-contains-value: 'multipatch-build'
350           projects:
351             - project-compare-type: ANT
352               project-pattern: '**'
353               branches:
354                 - branch-compare-type: ANT
355                   branch-pattern: '**/{branch}'
356
357     builders:
358       - wipe-org-opendaylight-repo
359       - lf-maven-install:
360           mvn-version: '{mvn-version}'
361       - provide-maven-settings:
362           global-settings-file: 'global-settings'
363           settings-file: 'integration-distribution-settings'
364       - integration-multipatch-builder
365       - integration-upload-distribution:
366           dist-pom: patch_tester/distribution/pom.xml
367       - conditional-step:
368           condition-kind: boolean-expression
369           condition-expression: $RUN_TEST
370           steps:
371             - trigger-builds:
372                 - project: '{csit-list}'
373                   block: true
374                   predefined-parameters: |
375                     BUNDLE_URL=$BUNDLE_URL
376                     KARAF_VERSION=$KARAF_VERSION
377
378     publishers:
379       - lf-infra-publish
380       - email-notification:
381           email-recipients: '{email-recipients}'
382           email-prefix: '[int/dist]'
383
384 - job-template:
385     name: 'integration-distribution-weekly-test-trigger-{stream}'
386
387     project-type: freestyle
388     node: queue-intque-2c-1g
389
390     properties:
391       - opendaylight-infra-properties:
392           build-days-to-keep: '{build-days-to-keep}'
393
394     parameters:
395       - integration-bundle-url:
396           bundle-url: '{bundle-url}'
397       - distribution-karaf-version:
398           karaf-version: '{karaf-version}'
399
400     triggers:
401       - timed: '{schedule-weekly}'
402
403     builders:
404       - trigger-builds:
405           - project: '{csit-weekly-list}'
406             block: true
407             predefined-parameters: |
408               BUNDLE_URL=$BUNDLE_URL
409               KARAF_VERSION=$KARAF_VERSION
410
411     publishers:
412       - email-notification:
413           email-recipients: '{email-recipients}'
414           email-prefix: '[integration]'
415
416 - job-template:
417     name: 'integration-distribution-high-frequency-test-trigger-{stream}'
418
419     project-type: freestyle
420     node: queue-intque-2c-1g
421
422     properties:
423       - opendaylight-infra-properties:
424           build-days-to-keep: '{build-days-to-keep}'
425
426     parameters:
427       - integration-bundle-url:
428           bundle-url: '{bundle-url}'
429       - distribution-karaf-version:
430           karaf-version: '{karaf-version}'
431
432     triggers:
433       - timed: '{schedule-high-frequency}'
434
435     builders:
436       - trigger-builds:
437           - project: '{csit-high-frequency-list}'
438             block: true
439             predefined-parameters: |
440               BUNDLE_URL=$BUNDLE_URL
441               KARAF_VERSION=$KARAF_VERSION
442
443     publishers:
444       - email-notification:
445           email-recipients: '{email-recipients}'
446           email-prefix: '[integration]'
447
448 - job-template:
449     name: 'integration-update-csit-tests-{stream}'
450
451     # This job's purpose is to update csit
452     # tests to run in integration-distribution-test-{stream}
453     # by updating integration files: csit-list-{stream}.inc
454     # These files can be used as !include in int-dist-test-{stream}
455
456     ######################
457     # Default parameters #
458     ######################
459
460     git-url: '$GIT_URL/$PROJECT'
461     submodule-recursive: true
462
463     #####################
464     # Job Configuration #
465     #####################
466
467     project-type: freestyle
468     node: centos7-builder-2c-2g
469
470     properties:
471       - lf-infra-properties:
472           build-days-to-keep: 7
473
474     parameters:
475       - lf-infra-parameters:
476           project: releng/builder  # Hardcode as this job needs to pull releng/builder
477           stream: '{stream}'
478           branch: master  # Hardcode as releng/builder only has master
479           lftools-version: '{lftools-version}'
480       - string:
481           name: CSIT_BLACKLIST
482           default: '{csit-blacklist}'
483           description: Space separated list of jobs strings to blacklist.
484
485     scm:
486       - lf-infra-gerrit-scm:
487           jenkins-ssh-credential: '{jenkins-ssh-credential}'
488           git-url: '{git-url}'
489           refspec: '$GERRIT_REFSPEC'
490           branch: '$GERRIT_BRANCH'
491           submodule-recursive: '{submodule-recursive}'
492           choosing-strategy: default
493
494     wrappers:
495       - lf-infra-wrappers:
496           build-timeout: 10
497           jenkins-ssh-credential: '{jenkins-ssh-credential}'
498
499     triggers:
500       - reverse:
501           jobs: builder-jjb-merge
502
503     builders:
504       - shell: !include-raw-escape: update-csit-tests.sh
505       - shell: |
506           git status
507           git add jjb/integration/*.lst
508       - lf-infra-push-gerrit-patch:
509           project: 'releng/builder'
510           gerrit-user: 'jenkins-$SILO'
511           gerrit-host: 'git.opendaylight.org'
512           gerrit-topic: 'auto-update-csit-jobs-{stream}'
513           gerrit-commit-message: 'Auto Update CSIT Jobs to run for {stream}'
514           reviewers-email: 'jluhrsen@redhat.com'
515
516     publishers:
517       - lf-infra-publish
518
519 - view:
520     name: integration
521     description: 'List of integration jobs'
522     regex: '^integration-.*'
523     <<: *releng_view_common