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