Update Test jobs for ODL Neon SR1 Release
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - '{project-name}-rtd-jobs':
8           build-node: centos7-builder-2c-2g
9           doc-dir: .tox/docs/tmp/html
10           project-pattern: integration/packaging
11           rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationpackaging/32928/
12           rtd-token: 371d63c43ad99b0745bb7779e3488c5e255c1180
13       - 'packaging-build-rpm-{stream}'
14       - 'packaging-build-rpm-{distro}-snap-{stream}'
15       - 'packaging-build-deb-{stream}'
16       - 'packaging-verify-full-rpm-master'
17       - 'packaging-verify-rpm-master'
18       - 'packaging-test-rpm-master'
19       - 'packaging-test-rpm-upgrade-master'
20       - 'packaging-test-deb-master'
21       - gerrit-tox-verify:
22           branch: master
23           stream: master
24
25     project: 'integration/packaging'
26
27     stream:
28       - neon
29       - fluorine
30       - sodium
31
32     distro:
33       - opensuse-42
34       - epel-7
35     branch: 'master'
36
37     # common parameters required for 'lf-infra-deploy-maven-file' builder
38     group-id: 'org.opendaylight.integration-packaging'
39     upload-files-dir: '$WORKSPACE/upload_files'
40     maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
41
42 - job-template:
43     name: 'packaging-build-rpm-{stream}'
44
45     disable-job: false
46
47     node: centos7-builder-2c-2g
48
49     project-type: freestyle
50     disabled: '{disable-job}'
51
52     mvn-opts: ''
53     mvn-params: ''
54     mvn-version: mvn33
55
56     properties:
57       - opendaylight-infra-properties:
58           build-days-to-keep: 7
59
60     parameters:
61       - opendaylight-infra-parameters:
62           os-cloud: '{os-cloud}'
63           project: '{project}'
64           branch: '{branch}'
65           refspec: 'refs/heads/{branch}'
66           artifacts: '{archive-artifacts}'
67       - lf-infra-maven-parameters:
68           mvn-opts: '{mvn-opts}'
69           mvn-params: '{mvn-params}'
70           mvn-version: '{mvn-version}'
71           staging-profile-id: ''
72       - string:
73           name: DOWNLOAD_URL
74           # yamllint disable-line rule:line-length
75           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz'
76           description: 'URL to ODL tarball artifact to repackage into RPM'
77       - string:
78           name: CHANGELOG_NAME
79           default: 'Jenkins'
80           description: 'Name of person who defined RPM'
81       - string:
82           name: CHANGELOG_EMAIL
83           default: 'jenkins-donotreply@opendaylight.org'
84           description: 'Email of person who defined RPM'
85       - string:
86           name: DEPLOY_TO_REPO
87           default: 'opendaylight-{stream}-epel-7-x86_64-devel'
88           description: 'Repository to deploy resulting package to'
89       - string:
90           name: PKG_VERSION_OVERRIDE
91           default: ''
92           description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
93
94     scm:
95       - integration-gerrit-scm:
96           basedir: 'packaging'
97           refspec: '$GERRIT_REFSPEC'
98           branch: 'master'
99
100     wrappers:
101       - opendaylight-infra-wrappers:
102           build-timeout: '{build-timeout}'
103
104     builders:
105       - lf-infra-pre-build
106       - shell: !include-raw-escape: build-rpm.sh
107       - install-test-uninstall-rpm
108       - lf-infra-deploy-maven-file:
109           global-settings-file: 'global-settings'
110           settings-file: 'packaging-settings'
111           mvn-version: '{mvn-version}'
112           repo-id: '$DEPLOY_TO_REPO'
113           group-id: '{group-id}'
114           upload-files-dir: '{upload-files-dir}'
115           maven-repo-url: '{maven-repo-url}'
116
117     publishers:
118       - lf-infra-publish
119
120
121 - job-template:
122     name: 'packaging-build-rpm-{distro}-snap-{stream}'
123
124     node: centos7-docker-2c-2g
125     disable-job: false
126
127     project-type: freestyle
128     disabled: '{disable-job}'
129
130     mvn-opts: ''
131     mvn-params: ''
132     mvn-version: mvn33
133
134     properties:
135       - opendaylight-infra-properties:
136           build-days-to-keep: 7
137
138     parameters:
139       - opendaylight-infra-parameters:
140           os-cloud: '{os-cloud}'
141           project: '{project}'
142           branch: '{branch}'
143           refspec: 'refs/heads/{branch}'
144           artifacts: '{archive-artifacts}'
145       - lf-infra-maven-parameters:
146           mvn-opts: '{mvn-opts}'
147           mvn-params: '{mvn-params}'
148           mvn-version: '{mvn-version}'
149           staging-profile-id: ''
150       - string:
151           name: CHANGELOG_NAME
152           default: 'Jenkins'
153           description: 'Name of person who defined RPM'
154       - string:
155           name: CHANGELOG_EMAIL
156           default: 'jenkins-donotreply@opendaylight.org'
157           description: 'Email of person who defined RPM'
158
159     scm:
160       - integration-gerrit-scm:
161           basedir: 'packaging'
162           refspec: '$GERRIT_REFSPEC'
163           branch: 'master'
164
165     wrappers:
166       - opendaylight-infra-wrappers:
167           build-timeout: '{build-timeout}'
168
169     builders:
170       - lf-infra-pre-build
171       - inject:
172           properties-content: |
173               STREAM={stream}
174               DISTRO={distro}
175       - shell: !include-raw: build-rpm-snap-docker.sh
176       - shell: !include-raw: test-rpm-docker.sh
177       - lf-infra-deploy-maven-file:
178           global-settings-file: 'global-settings'
179           settings-file: 'packaging-settings'
180           mvn-version: '{mvn-version}'
181           repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
182           group-id: '{group-id}'
183           upload-files-dir: '{upload-files-dir}'
184           maven-repo-url: '{maven-repo-url}'
185
186     triggers:
187       - timed: '@daily'
188
189     publishers:
190       - lf-infra-publish
191
192
193 - job-template:
194     name: 'packaging-verify-rpm-master'
195
196     node: centos7-builder-2c-2g
197     disable-job: false
198
199     project-type: freestyle
200     disabled: '{disable-job}'
201
202     parameters:
203       - opendaylight-infra-parameters:
204           os-cloud: '{os-cloud}'
205           project: '{project}'
206           branch: '{branch}'
207           refspec: 'refs/heads/{branch}'
208           artifacts: '{archive-artifacts}'
209
210     scm:
211       - integration-gerrit-scm:
212           basedir: 'packaging'
213           refspec: '$GERRIT_REFSPEC'
214           branch: 'master'
215
216     wrappers:
217       - opendaylight-infra-wrappers:
218           build-timeout: '{build-timeout}'
219
220     builders:
221       # Test Fluorine SR2 release tarball
222       - inject:
223           # yamllint disable-line rule:line-length
224           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
225       - shell: !include-raw-escape: build-rpm.sh
226       - install-test-uninstall-rpm
227
228       # Test Neon SR1 ('Managed Release Common Distro') release tarball
229       - inject:
230           # yamllint disable-line rule:line-length
231           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.10.1/opendaylight-0.10.1.tar.gz'
232       - shell: !include-raw-escape: build-rpm.sh
233       - install-test-uninstall-rpm
234
235       # Test latest Neon snapshot
236       - inject:
237           properties-content: 'STREAM=neon'
238       - shell: !include-raw: build-rpm-snap.sh
239       - install-test-uninstall-rpm
240
241       # Test latest Sodium snapshot
242       - inject:
243           properties-content: 'STREAM=sodium'
244       - shell: !include-raw: build-rpm-snap.sh
245       - install-test-uninstall-rpm
246
247     triggers:
248       - timed: '@weekly'
249       - gerrit-trigger-patch-submitted:
250           gerrit-server-name: '{gerrit-server-name}'
251           project: '{project}'
252           branch: '{branch}'
253           files: 'packages/**'
254           forbidden-files: ''
255
256     publishers:
257       - lf-infra-publish
258
259
260 - job-template:
261     name: 'packaging-verify-full-rpm-master'
262
263     node: centos7-builder-2c-2g
264     disable-job: false
265
266     project-type: freestyle
267     disabled: '{disable-job}'
268
269     parameters:
270       - opendaylight-infra-parameters:
271           os-cloud: '{os-cloud}'
272           project: '{project}'
273           branch: '{branch}'
274           refspec: 'refs/heads/{branch}'
275           artifacts: '{archive-artifacts}'
276
277     scm:
278       - integration-gerrit-scm:
279           basedir: 'packaging'
280           refspec: '$GERRIT_REFSPEC'
281           branch: 'master'
282
283     wrappers:
284       - opendaylight-infra-wrappers:
285           build-timeout: '{build-timeout}'
286
287     builders:
288       # Test Fluorine ('Managed Release Common Distro') release tarball
289       - inject:
290           # yamllint disable-line rule:line-length
291           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
292       - shell: !include-raw-escape: build-rpm.sh
293       - install-test-uninstall-rpm
294
295       # Test Fluorine SR1 release tarball
296       - inject:
297           # yamllint disable-line rule:line-length
298           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
299       - shell: !include-raw-escape: build-rpm.sh
300       - install-test-uninstall-rpm
301
302       # Test Fluorine SR2 release tarball
303       - inject:
304           # yamllint disable-line rule:line-length
305           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
306       - shell: !include-raw-escape: build-rpm.sh
307       - install-test-uninstall-rpm
308
309       # Test Fluorine pre-release autorelease tarball
310       # NB: This will need to be updated as old builds expire
311       # NB: Commented out to reduce maintenance
312       # - inject:
313       # yamllint disable-line rule:line-length
314       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2621/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
315       # - shell: !include-raw-escape: build-rpm.sh
316       # - install-test-uninstall-rpm
317
318       # Test Fluorine multipatch zip (no parallel tarball available)
319       # NB: This will need to be updated as old builds expire
320       # NB: Commented out to reduce maintenance
321       # - inject:
322       # yamllint disable-line rule:line-length
323       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.2-SNAPSHOT/karaf-0.9.2-20181222.162905-8.zip'
324       # - shell: !include-raw-escape: build-rpm.sh
325       # - install-test-uninstall-rpm
326
327       # Test latest Fluorine snapshot
328       - inject:
329           properties-content: 'STREAM=fluorine'
330       - shell: !include-raw: build-rpm-snap.sh
331       - install-test-uninstall-rpm
332
333       # Test Neon SR1 release tarball
334       - inject:
335           # yamllint disable-line rule:line-length
336           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.10.1/karaf-0.10.1.tar.gz'
337       - shell: !include-raw-escape: build-rpm.sh
338       - install-test-uninstall-rpm
339
340       # Test Neon pre-release autorelease tarball
341       # NB: This will need to be updated as old builds expire
342       # NB: Commented out to reduce maintenance
343       # - inject:
344       # yamllint disable-line rule:line-length
345       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2620/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.g'
346       # - shell: !include-raw-escape: build-rpm.sh
347       # - install-test-uninstall-rpm
348
349       # Test Neon multipatch zip (no parallel tarball available)
350       # NB: This will need to be updated as old builds expire
351       # NB: Commented out to reduce maintenance
352       # - inject:
353       # yamllint disable-line rule:line-length
354       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20190103.173010-50.zip'
355       # - shell: !include-raw-escape: build-rpm.sh
356       # - install-test-uninstall-rpm
357
358       # Test latest Neon snapshot
359       - inject:
360           properties-content: 'STREAM=neon'
361       - shell: !include-raw: build-rpm-snap.sh
362       - install-test-uninstall-rpm
363
364       # Test latest Sodium snapshot
365       - inject:
366           properties-content: 'STREAM=sodium'
367       - shell: !include-raw: build-rpm-snap.sh
368       - install-test-uninstall-rpm
369
370     triggers:
371       - timed: '@weekly'
372       - gerrit:
373           server-name: '{gerrit-server-name}'
374           trigger-on:
375             - comment-added-contains-event:
376                 comment-contains-value: 'verify-rpm-full'
377           projects:
378             - project-compare-type: ANT
379               project-pattern: '{project}'
380               branches:
381                 - branch-compare-type: ANT
382                   branch-pattern: '**/{branch}'
383
384     publishers:
385       - lf-infra-publish
386
387
388 - job-template:
389     name: 'packaging-test-rpm-master'
390
391     node: centos7-builder-2c-2g
392     disable-job: false
393
394     disabled: '{disable-job}'
395
396     parameters:
397       - opendaylight-infra-parameters:
398           os-cloud: '{os-cloud}'
399           project: '{project}'
400           branch: '{branch}'
401           refspec: 'refs/heads/{branch}'
402           artifacts: '{archive-artifacts}'
403       - string:
404           name: URL
405           # yamllint disable-line rule:line-length
406           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
407           description: 'Link to .repo or .rpm file'
408
409     scm:
410       - integration-gerrit-scm:
411           basedir: 'packaging'
412           refspec: '$GERRIT_REFSPEC'
413           branch: 'master'
414
415     wrappers:
416       - opendaylight-infra-wrappers:
417           build-timeout: '{build-timeout}'
418
419     builders:
420       - shell: |
421           # Install expect to interact with Karaf shell
422           # Install nmap to check status of ODL's SSH port
423           sudo yum install -y expect nmap
424       - shell: !include-raw-escape: install-rpm.sh
425       - shell: !include-raw: start-odl.sh
426       - shell: !include-raw-escape: test-ports-nofeature.sh
427       - shell: !include-raw: test-karaf-oxygensafe.expect
428       # Disable this test until ODLPARENT-139 is fixed
429       # - shell: !include-raw-escape: test-rest-ok.sh
430       - shell: !include-raw: stop-odl.sh
431       - shell: !include-raw: uninstall-rpm.sh
432
433     triggers:
434       - timed: '@monthly'
435
436     publishers:
437       # TODO: Remove the archive publisher
438       #       small data should be stored on logs.opendaylight.org
439       #       large data should be stored on nexus.opendaylight.org
440       - archive:
441           artifacts: '**'
442           allow-empty: true
443           fingerprint: true
444           latest-only: true
445       - lf-infra-publish
446
447
448 - job-template:
449     name: 'packaging-test-rpm-upgrade-master'
450
451     disable-job: false
452
453     node: centos7-builder-2c-2g
454     disabled: '{disable-job}'
455
456     parameters:
457       - opendaylight-infra-parameters:
458           os-cloud: '{os-cloud}'
459           project: '{project}'
460           branch: '{branch}'
461           refspec: 'refs/heads/{branch}'
462           artifacts: '{archive-artifacts}'
463
464     scm:
465       - integration-gerrit-scm:
466           basedir: 'packaging'
467           refspec: '$GERRIT_REFSPEC'
468           branch: 'master'
469
470     wrappers:
471       - opendaylight-infra-wrappers:
472           build-timeout: '{build-timeout}'
473
474     builders:
475       # Tests (current and future):
476       #   * Install latest release, stop/uninstall, install latest CD
477       #   * Upgrade from latest release latest CD
478       #   * TODO: Upgrade from latest release to proposed packaging/** logic
479       #   * TODO: Upgrade from CD to proposed packaging/** logic
480       #   * TODO: Upgrade from proposed packaging/** logic (older ODL) to
481       #     proposed packaging logic (latest ODL)
482
483       # Test 1: Install latest release, stop/uninstall, install latest CD
484       - inject:
485           # yamllint disable-line rule:line-length
486           properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
487       - install-start-test-stop-uninstall-rpm
488       - inject:
489           # yamllint disable-line rule:line-length
490           properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
491       - install-start-test-stop-uninstall-rpm
492
493       # Test 2: Install latest release, stop, upgrade to latest CD
494       - inject:
495           # yamllint disable-line rule:line-length
496           properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
497       - install-start-test-stop-rpm
498       - inject:
499           # yamllint disable-line rule:line-length
500           properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
501       - installrepcfg-upgrade-start-test-stop-rpm
502
503     triggers:
504       - timed: '@weekly'
505       - gerrit-trigger-patch-submitted:
506           gerrit-server-name: '{gerrit-server-name}'
507           project: '{project}'
508           branch: '{branch}'
509           files: 'packages/**'
510           forbidden-files: ''
511
512     publishers:
513       - lf-infra-publish
514
515
516 - job-template:
517     name: 'packaging-test-deb-master'
518
519     node: ubuntu1604-mininet-ovs-25-1c-4g
520     disable-job: false
521
522     disabled: '{disable-job}'
523
524     parameters:
525       - opendaylight-infra-parameters:
526           os-cloud: '{os-cloud}'
527           project: '{project}'
528           branch: '{branch}'
529           refspec: 'refs/heads/{branch}'
530           artifacts: '{archive-artifacts}'
531       - string:
532           name: PACKAGE
533           default: 'ppa:odl-team/oxygen'
534           description: 'Link to .deb package or name of PPA repo'
535
536     scm:
537       - integration-gerrit-scm:
538           basedir: 'packaging'
539           refspec: '$GERRIT_REFSPEC'
540           branch: 'master'
541
542     wrappers:
543       - opendaylight-infra-wrappers:
544           build-timeout: '{build-timeout}'
545
546     builders:
547       - shell: !include-raw-escape: install-deb.sh
548       - shell: !include-raw: start-odl.sh
549       - shell: !include-raw-escape: test-ports-nofeature.sh
550       - shell: |
551           # Install expect to interact with Karaf shell
552           # Install nmap to check status of ODL's SSH port
553           sudo apt-get install -y expect nmap
554       - shell: !include-raw: test-karaf-oxygensafe.expect
555       # Disable this test until ODLPARENT-139 is fixed
556       # - shell: !include-raw-escape: test-rest-ok.sh
557       - shell: !include-raw: stop-odl.sh
558       - shell: !include-raw-escape: uninstall-deb.sh
559
560     triggers:
561       - timed: '@monthly'
562
563     publishers:
564       - lf-infra-publish
565
566
567 - job-template:
568     name: 'packaging-build-deb-{stream}'
569
570     node: ubuntu1604-mininet-ovs-25-1c-4g
571     disable-job: false
572
573     project-type: freestyle
574     disabled: '{disable-job}'
575
576     mvn-opts: ''
577     mvn-params: ''
578     mvn-version: mvn33
579
580     properties:
581       - opendaylight-infra-properties:
582           build-days-to-keep: 7
583
584     parameters:
585       - opendaylight-infra-parameters:
586           os-cloud: '{os-cloud}'
587           project: '{project}'
588           branch: '{branch}'
589           refspec: 'refs/heads/{branch}'
590           artifacts: '{archive-artifacts}'
591       - lf-infra-maven-parameters:
592           mvn-opts: '{mvn-opts}'
593           mvn-params: '{mvn-params}'
594           mvn-version: '{mvn-version}'
595           staging-profile-id: ''
596       - string:
597           name: DOWNLOAD_URL
598           # FIXME: Update the default value to an active stream.
599           # yamllint disable-line rule:line-length
600           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
601           description: 'URL to ODL tarball artifact to repackage into .deb'
602       - string:
603           name: CHANGELOG_NAME
604           default: 'Jenkins'
605           description: 'Name of person who defined .deb'
606       - string:
607           name: CHANGELOG_EMAIL
608           default: 'jenkins-donotreply@opendaylight.org'
609           description: 'Email of person who defined .deb'
610       - string:
611           name: PKG_VERSION_OVERRIDE
612           default: ''
613           description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
614
615     scm:
616       - integration-gerrit-scm:
617           basedir: 'packaging'
618           refspec: '$GERRIT_REFSPEC'
619           branch: 'master'
620
621     wrappers:
622       - opendaylight-infra-wrappers:
623           build-timeout: '{build-timeout}'
624
625     builders:
626       - lf-infra-pre-build
627       - shell: !include-raw: build-deb.sh
628       - install-test-uninstall-deb
629       - lf-infra-deploy-maven-file:
630           global-settings-file: 'global-settings'
631           settings-file: 'packaging-settings'
632           mvn-version: '{mvn-version}'
633           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
634           group-id: '{group-id}'
635           upload-files-dir: '{upload-files-dir}'
636           maven-repo-url: '{maven-repo-url}'
637
638     triggers:
639       - timed: '@monthly'
640
641     publishers:
642       - lf-infra-publish
643
644 - project:
645     name: packaging-view
646     views:
647       - project-view
648     project-name: packaging