4 project-name: packaging
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'
25 project: 'integration/packaging'
36 # common parameters required for 'lf-infra-deploy-maven-file' builder
37 group-id: 'org.opendaylight.integration-packaging'
38 upload-files-dir: '$WORKSPACE/upload_files'
39 maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
42 name: 'packaging-build-rpm-{stream}'
44 node: centos7-builder-2c-2g
46 project-type: freestyle
53 - opendaylight-infra-properties:
57 - opendaylight-infra-parameters:
58 os-cloud: '{os-cloud}'
61 refspec: 'refs/heads/{branch}'
62 artifacts: '{archive-artifacts}'
63 - lf-infra-maven-parameters:
64 mvn-opts: '{mvn-opts}'
65 mvn-params: '{mvn-params}'
66 mvn-version: '{mvn-version}'
67 staging-profile-id: ''
70 # yamllint disable-line rule:line-length
71 default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
72 description: 'URL to ODL tarball artifact to repackage into RPM'
76 description: 'Name of person who defined RPM'
79 default: 'jenkins-donotreply@opendaylight.org'
80 description: 'Email of person who defined RPM'
83 default: 'opendaylight-{stream}-epel-7-x86_64-devel'
84 description: 'Repository to deploy resulting package to'
86 name: PKG_VERSION_OVERRIDE
88 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
91 - integration-gerrit-scm:
93 refspec: '$GERRIT_REFSPEC'
97 - opendaylight-infra-wrappers:
98 build-timeout: '{build-timeout}'
101 - shell: !include-raw-escape: build-rpm.sh
102 - install-test-uninstall-rpm
103 - lf-infra-deploy-maven-file:
104 global-settings-file: 'global-settings'
105 settings-file: 'packaging-settings'
106 mvn-version: '{mvn-version}'
107 repo-id: '$DEPLOY_TO_REPO'
108 group-id: '{group-id}'
109 upload-files-dir: '{upload-files-dir}'
110 maven-repo-url: '{maven-repo-url}'
117 name: 'packaging-build-rpm-{distro}-snap-{stream}'
119 node: centos7-docker-2c-2g
121 project-type: freestyle
128 - opendaylight-infra-properties:
129 build-days-to-keep: 7
132 - opendaylight-infra-parameters:
133 os-cloud: '{os-cloud}'
136 refspec: 'refs/heads/{branch}'
137 artifacts: '{archive-artifacts}'
138 - lf-infra-maven-parameters:
139 mvn-opts: '{mvn-opts}'
140 mvn-params: '{mvn-params}'
141 mvn-version: '{mvn-version}'
142 staging-profile-id: ''
146 description: 'Name of person who defined RPM'
148 name: CHANGELOG_EMAIL
149 default: 'jenkins-donotreply@opendaylight.org'
150 description: 'Email of person who defined RPM'
153 - integration-gerrit-scm:
155 refspec: '$GERRIT_REFSPEC'
159 - opendaylight-infra-wrappers:
160 build-timeout: '{build-timeout}'
164 properties-content: |
167 - shell: !include-raw: build-rpm-snap-docker.sh
168 - shell: !include-raw: test-rpm-docker.sh
169 - lf-infra-deploy-maven-file:
170 global-settings-file: 'global-settings'
171 settings-file: 'packaging-settings'
172 mvn-version: '{mvn-version}'
173 repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
174 group-id: '{group-id}'
175 upload-files-dir: '{upload-files-dir}'
176 maven-repo-url: '{maven-repo-url}'
186 name: 'packaging-verify-rpm-master'
188 node: centos7-builder-2c-2g
190 project-type: freestyle
193 - opendaylight-infra-parameters:
194 os-cloud: '{os-cloud}'
197 refspec: 'refs/heads/{branch}'
198 artifacts: '{archive-artifacts}'
201 - integration-gerrit-scm:
203 refspec: '$GERRIT_REFSPEC'
207 - opendaylight-infra-wrappers:
208 build-timeout: '{build-timeout}'
211 # Test Oxygen SR3 release tarball
213 # yamllint disable-line rule:line-length
214 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
215 - shell: !include-raw-escape: build-rpm.sh
216 - install-test-uninstall-rpm
218 # Test Fluorine ('Managed Release Common Distro') release tarball
220 # yamllint disable-line rule:line-length
221 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
222 - shell: !include-raw-escape: build-rpm.sh
223 - install-test-uninstall-rpm
225 # Test Neon pre-release autorelease tarball
226 # NB: This will need to be updated as old builds expire
228 # yamllint disable-line rule:line-length
229 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2393/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
230 - shell: !include-raw-escape: build-rpm.sh
231 - install-test-uninstall-rpm
233 # Test Neon multipatch zip (no parallel tarball available)
234 # NB: This will need to be updated as old builds expire
236 # yamllint disable-line rule:line-length
237 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-20181011.124523-10.zip'
238 - shell: !include-raw-escape: build-rpm.sh
239 - install-test-uninstall-rpm
241 # Test latest Neon snapshot
243 properties-content: 'STREAM=neon'
244 - shell: !include-raw: build-rpm-snap.sh
245 - install-test-uninstall-rpm
248 - gerrit-trigger-patch-submitted:
249 gerrit-server-name: '{gerrit-server-name}'
260 name: 'packaging-verify-full-rpm-master'
262 node: centos7-builder-2c-2g
264 project-type: freestyle
267 - opendaylight-infra-parameters:
268 os-cloud: '{os-cloud}'
271 refspec: 'refs/heads/{branch}'
272 artifacts: '{archive-artifacts}'
275 - integration-gerrit-scm:
277 refspec: '$GERRIT_REFSPEC'
281 - opendaylight-infra-wrappers:
282 build-timeout: '{build-timeout}'
285 # Test Oxygen SR3 release tarball
287 # yamllint disable-line rule:line-length
288 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
289 - shell: !include-raw-escape: build-rpm.sh
290 - install-test-uninstall-rpm
292 # Test Oxygen pre-release autorelease tarball
293 # NB: This will need to be updated as old builds expire
295 # yamllint disable-line rule:line-length
296 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2395/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz'
297 - shell: !include-raw-escape: build-rpm.sh
298 - install-test-uninstall-rpm
300 # Test latest Oxygen snapshot
302 properties-content: 'STREAM=oxygen'
303 - shell: !include-raw: build-rpm-snap.sh
304 - install-test-uninstall-rpm
306 # Test Fluorine ('Managed Release Common Distro') release tarball
308 # yamllint disable-line rule:line-length
309 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
310 - shell: !include-raw-escape: build-rpm.sh
311 - install-test-uninstall-rpm
313 # Test Fluorine pre-release autorelease tarball
314 # NB: This will need to be updated as old builds expire
316 # yamllint disable-line rule:line-length
317 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2394/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
318 - shell: !include-raw-escape: build-rpm.sh
319 - install-test-uninstall-rpm
321 # Test Fluorine multipatch zip (no parallel tarball available)
322 # NB: This will need to be updated as old builds expire
324 # yamllint disable-line rule:line-length
325 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.1-SNAPSHOT/karaf-0.9.1-20181001.192848-2.zip'
326 - shell: !include-raw-escape: build-rpm.sh
327 - install-test-uninstall-rpm
329 # Test latest Fluorine snapshot
331 properties-content: 'STREAM=fluorine'
332 - shell: !include-raw: build-rpm-snap.sh
333 - install-test-uninstall-rpm
335 # Test Neon pre-release autorelease tarball
336 # NB: This will need to be updated as old builds expire
338 # yamllint disable-line rule:line-length
339 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2393/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
340 - shell: !include-raw-escape: build-rpm.sh
341 - install-test-uninstall-rpm
343 # Test Neon multipatch zip (no parallel tarball available)
344 # NB: This will need to be updated as old builds expire
346 # yamllint disable-line rule:line-length
347 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-20181011.124523-10.zip'
348 - shell: !include-raw-escape: build-rpm.sh
349 - install-test-uninstall-rpm
351 # Test latest Neon snapshot
353 properties-content: 'STREAM=neon'
354 - shell: !include-raw: build-rpm-snap.sh
355 - install-test-uninstall-rpm
360 server-name: '{gerrit-server-name}'
362 - comment-added-contains-event:
363 comment-contains-value: 'verify-rpm-full'
365 - project-compare-type: ANT
366 project-pattern: '{project}'
368 - branch-compare-type: ANT
369 branch-pattern: '**/{branch}'
376 name: 'packaging-test-rpm-master'
378 node: centos7-builder-2c-2g
381 - opendaylight-infra-parameters:
382 os-cloud: '{os-cloud}'
385 refspec: 'refs/heads/{branch}'
386 artifacts: '{archive-artifacts}'
389 # yamllint disable-line rule:line-length
390 default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
391 description: 'Link to .repo or .rpm file'
394 - integration-gerrit-scm:
396 refspec: '$GERRIT_REFSPEC'
400 - opendaylight-infra-wrappers:
401 build-timeout: '{build-timeout}'
405 # Install expect to interact with Karaf shell
406 # Install nmap to check status of ODL's SSH port
407 sudo yum install -y expect nmap
408 - shell: !include-raw-escape: install-rpm.sh
409 - shell: !include-raw: start-odl.sh
410 - shell: !include-raw-escape: test-ports-nofeature.sh
411 - shell: !include-raw: test-karaf-oxygensafe.expect
412 # Disable this test until ODLPARENT-139 is fixed
413 # - shell: !include-raw-escape: test-rest-ok.sh
414 - shell: !include-raw: stop-odl.sh
415 - shell: !include-raw: uninstall-rpm.sh
418 # TODO: Remove the archive publisher
419 # small data should be stored on logs.opendaylight.org
420 # large data should be stored on nexus.opendaylight.org
430 name: 'packaging-test-rpm-upgrade-master'
432 node: centos7-builder-2c-2g
435 - opendaylight-infra-parameters:
436 os-cloud: '{os-cloud}'
439 refspec: 'refs/heads/{branch}'
440 artifacts: '{archive-artifacts}'
443 - integration-gerrit-scm:
445 refspec: '$GERRIT_REFSPEC'
449 - opendaylight-infra-wrappers:
450 build-timeout: '{build-timeout}'
453 # Tests (current and future):
454 # * Install latest release, stop/uninstall, install latest CD
455 # * Upgrade from latest release latest CD
456 # * TODO: Upgrade from latest release to proposed packaging/** logic
457 # * TODO: Upgrade from CD to proposed packaging/** logic
458 # * TODO: Upgrade from proposed packaging/** logic (older ODL) to
459 # proposed packaging logic (latest ODL)
461 # Test 1: Install latest release, stop/uninstall, install latest CD
463 # yamllint disable-line rule:line-length
464 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
465 - install-start-test-stop-uninstall-rpm
467 # yamllint disable-line rule:line-length
468 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
469 - install-start-test-stop-uninstall-rpm
471 # Test 2: Install latest release, stop, upgrade to latest CD
473 # yamllint disable-line rule:line-length
474 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
475 - install-start-test-stop-rpm
477 # yamllint disable-line rule:line-length
478 properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
479 - installrepcfg-upgrade-start-test-stop-rpm
482 - gerrit-trigger-patch-submitted:
483 gerrit-server-name: '{gerrit-server-name}'
494 name: 'packaging-test-deb-master'
496 node: ubuntu1604-mininet-ovs-25-1c-4g
499 - opendaylight-infra-parameters:
500 os-cloud: '{os-cloud}'
503 refspec: 'refs/heads/{branch}'
504 artifacts: '{archive-artifacts}'
507 default: 'ppa:odl-team/oxygen'
508 description: 'Link to .deb package or name of PPA repo'
511 - integration-gerrit-scm:
513 refspec: '$GERRIT_REFSPEC'
517 - opendaylight-infra-wrappers:
518 build-timeout: '{build-timeout}'
521 - shell: !include-raw-escape: install-deb.sh
522 - shell: !include-raw: start-odl.sh
523 - shell: !include-raw-escape: test-ports-nofeature.sh
525 # Install expect to interact with Karaf shell
526 # Install nmap to check status of ODL's SSH port
527 sudo apt-get install -y expect nmap
528 - shell: !include-raw: test-karaf-oxygensafe.expect
529 # Disable this test until ODLPARENT-139 is fixed
530 # - shell: !include-raw-escape: test-rest-ok.sh
531 - shell: !include-raw: stop-odl.sh
532 - shell: !include-raw-escape: uninstall-deb.sh
539 name: 'packaging-build-deb-{stream}'
541 node: ubuntu1604-mininet-ovs-25-1c-4g
543 project-type: freestyle
550 - opendaylight-infra-properties:
551 build-days-to-keep: 7
554 - opendaylight-infra-parameters:
555 os-cloud: '{os-cloud}'
558 refspec: 'refs/heads/{branch}'
559 artifacts: '{archive-artifacts}'
560 - lf-infra-maven-parameters:
561 mvn-opts: '{mvn-opts}'
562 mvn-params: '{mvn-params}'
563 mvn-version: '{mvn-version}'
564 staging-profile-id: ''
567 # FIXME: Update the default value to an active stream.
568 # yamllint disable-line rule:line-length
569 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'
570 description: 'URL to ODL tarball artifact to repackage into .deb'
574 description: 'Name of person who defined .deb'
576 name: CHANGELOG_EMAIL
577 default: 'jenkins-donotreply@opendaylight.org'
578 description: 'Email of person who defined .deb'
580 name: PKG_VERSION_OVERRIDE
582 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
585 - integration-gerrit-scm:
587 refspec: '$GERRIT_REFSPEC'
591 - opendaylight-infra-wrappers:
592 build-timeout: '{build-timeout}'
595 - shell: !include-raw: build-deb.sh
596 - install-test-uninstall-deb
597 - lf-infra-deploy-maven-file:
598 global-settings-file: 'global-settings'
599 settings-file: 'packaging-settings'
600 mvn-version: '{mvn-version}'
601 repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
602 group-id: '{group-id}'
603 upload-files-dir: '{upload-files-dir}'
604 maven-repo-url: '{maven-repo-url}'
611 description: 'List of packaging, ansible and puppet jobs'
612 regex: '^packaging.*|ansible.*|puppet.*'
613 <<: *releng_view_common