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