Jenkins silo the job is executing in.
When running in production (releng silo), artifacts are hosted on Nexus. There
-are RPM repos for each active branch (`oxygen-devel`_). New builds are
-automatically added to the appropriate devel for their branch.
+are RPM repos for each active branch (`oxygen-devel`_, `fluorine-devel`_,
+`neon-devel`_). New builds are automatically added to the appropriate devel for
+their branch.
When running in the sandbox, artifacts are thrown away by default. To keep an
-artifact for further testing, add a path regex that matches it to the Archive
-Artifacts param of the job (`ARCHIVE_ARTIFACTS=/home/jenkins/rpmbuild/RPMS/
-noarch/opendaylight*.rpm`). The files matched will be stored in OpenDaylight's
-log archive along with the other job logs.
+artifact for further testing, either:
+
+* Set the DEPLOY_TO_REPO parameter to opendaylight-epel-7-x86_64-devel. This is
+ a scratch repo that sandbox packaging jobs have permission to push to.
+ Packages will land in the `scratch repo on Nexus`_.
+* Add a path regex that matches it to the Archive Artifacts param of the job
+ (`ARCHIVE_ARTIFACTS=/home/jenkins/rpmbuild/RPMS/ noarch/opendaylight*.rpm`).
+ The files matched will be stored in OpenDaylight's log archive along with the
+ other job logs.
packaging-build-rpm-snap
^^^^^^^^^^^^^^^^^^^^^^^^
systemd service, verifies that it's reported as active, connects to the Karaf
shell and checks that some key bundles are present.
+.. _intpak-rpm-repos:
+
Repositories
------------
autorelase job, as well as daily using the latest available snapshot build.
-Continuous Delivery repos for Carbon, Nitrogen and Oxygen:
+Continuous Delivery repos for Oxygen and Fluorine:
-- `opendaylight-carbon-epel-7-x86_64-devel`_
-- `opendaylight-nitrogen-epel-7-x86_64-devel`_
- `opendaylight-oxygen-epel-7-x86_64-devel`_
+- `opendaylight-fluorine-epel-7-x86_64-devel`_
+- `opendaylight-neon-epel-7-x86_64-devel`_
CentOS Community Build System
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Repositories with the -release suffix host official OpenDaylight releases. They
are updated infrequently to never, and will host their release artifacts
forever. Release repos are subdivided into two groups based version numbers.
-Repositories with both a major and minor version number (62, 70, 71) are pinned
-to a specific OpenDaylight release or service release (Carbon SR2 6.2.0, Nitrogen
-7.0.0, Nitrogen SR1 7.1.0). Repositories with only a major version (6, 7) will
-always host the latest service release from that major release. If a new SR
-comes out, the repo will get the update (Nitrogen 2 will replace Nitrogen SR1).
-
-Release repos for the latest Carbon and Nitrogen service releases:
-
-- `nfv7-opendaylight-6-release`_
-- `nfv7-opendaylight-7-release`_
-
-Release repos that will permanently host specific Carbon and Nitrogen releases:
-
-- `nfv7-opendaylight-60-release`_
-- `nfv7-opendaylight-61-release`_
-- `nfv7-opendaylight-62-release`_
-- `nfv7-opendaylight-70-release`_
-- `nfv7-opendaylight-71-release`_
+Repositories with both a major and minor version number (80, 83) are pinned to
+a specific OpenDaylight release or service release (Oxygen 8.0.0, Oxygen SR3
+8.3.0). Repositories with only a major version (8, 9) will always host the
+latest service release from that major release. If a new SR comes out, the repo
+will get the update (Oxygen SR4 will replace Oxygen SR3).
+
+Release repo for the latest Oxygen and Fluorine service releases:
+
+- `nfv7-opendaylight-8-release`_
+- `nfv7-opendaylight-9-release`_
+- `nfv7-opendaylight-10-release`_
+
+Release repos that will permanently host specific Oxygen and Fluorine releases:
+
+- `nfv7-opendaylight-80-release`_
+- `nfv7-opendaylight-81-release`_
+- `nfv7-opendaylight-82-release`_
+- `nfv7-opendaylight-83-release`_
+- `nfv7-opendaylight-84-release`_
+- `nfv7-opendaylight-90-release`_
+- `nfv7-opendaylight-91-release`_
+- `nfv7-opendaylight-92-release`_
+- `nfv7-opendaylight-100-release`_
Repository Configuration Files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
files placed in the /etc/yum.repos.d/ directory. Curl them into place with
something like:
- sudo curl -o /etc/yum.repos.d/opendaylight-9-devel.repo \
- "https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo"
+ sudo curl -o /etc/yum.repos.d/opendaylight-10-devel.repo \
+ "https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-10-devel.repo"
Standard install commands will now find the repository as expected.
-----------
It's possible for developers to build custom RPMs, typically with unmerged
-patches that need system testing. First, use the `integration-multipatch-test`_
-job to create a custom distribution that includes the set of unmerged patches.
-See the `Custom Distributions <distribution-job-builds.html#custom-
-distributions>`_ section for extensive docs. Once you have a custom
-distribution artifact, pass it to the `packaging-build-rpm job`_ to package it
-as an RPM. See the `packaging-build-rpm`_ section for docs.
+patches that need system testing.
+
+Most developers will want to run these jobs in the ODL Jenkins sandbox
+instance, as only a few community members have permission to manually trigger
+jobs on the releng Jenkins instance. See the `Jenkins sandbox`_ docs for
+details about how to get permissions to trigger sandbox jobs, required
+configuration and normal usage.
+
+To build an custom distribution with unmerged code, first use the
+`integration-multipatch-test`_ job to create distribution that includes the set
+of unmerged patches. See the `Custom Distributions
+<distribution-job-builds.html#custom-distributions>`_ section for extensive
+docs.
+Once you have the distribution you want to package as an RPM, pass it to the
+`packaging-build-rpm job`_ to do the build. Use the See the `packaging-build-rpm`_
+section for docs.
.. _packaging-build-rpm job: https://jenkins.opendaylight.org/releng/job/packaging-build-rpm-master/
.. _parameters: https://jenkins.opendaylight.org/releng/job/packaging-build-rpm-master/build
-.. _RPM build logic in Integration/Packaging's repo: https://github.com/opendaylight/integration-packaging/blob/master/packages/build.py
+.. _RPM build logic in Integration/Packaging's repo: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=tree;f=packages/rpm
.. _packaging-build-rpm-snap job: https://jenkins.opendaylight.org/releng/job/packaging-build-rpm-snap-master/
.. _packaging-test-rpm job: https://jenkins.opendaylight.org/releng/job/packaging-test-rpm-master/
-.. _opendaylight-carbon-epel-7-x86_64-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-carbon-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
-.. _opendaylight-nitrogen-epel-7-x86_64-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-nitrogen-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
.. _opendaylight-oxygen-epel-7-x86_64-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-oxygen-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
-.. _nfv7-opendaylight-6-release: http://cbs.centos.org/repos/nfv7-opendaylight-6-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-60-release: http://cbs.centos.org/repos/nfv7-opendaylight-60-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-61-release: http://cbs.centos.org/repos/nfv7-opendaylight-61-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-62-release: http://cbs.centos.org/repos/nfv7-opendaylight-62-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-7-release: http://cbs.centos.org/repos/nfv7-opendaylight-7-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-70-release: http://cbs.centos.org/repos/nfv7-opendaylight-70-release/x86_64/os/Packages/
-.. _nfv7-opendaylight-71-release: http://cbs.centos.org/repos/nfv7-opendaylight-71-release/x86_64/os/Packages/
-.. _example repo config files for each official repository: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=tree;f=packages/rpm/example_repo_configs;hb=refs/heads/master
-.. _integration-multipatch-test: https://jenkins.opendaylight.org/releng/search/?q=integration-multipatch-test
+.. _opendaylight-fluorine-epel-7-x86_64-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-fluorine-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
+.. _opendaylight-neon-epel-7-x86_64-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-neon-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
.. _oxygen-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-oxygen-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
+.. _fluorine-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-fluorine-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
+.. _neon-devel: https://nexus.opendaylight.org/content/repositories/opendaylight-fluorine-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/
+.. _nfv7-opendaylight-80-release: http://cbs.centos.org/repos/nfv7-opendaylight-80-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-81-release: http://cbs.centos.org/repos/nfv7-opendaylight-81-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-82-release: http://cbs.centos.org/repos/nfv7-opendaylight-82-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-83-release: http://cbs.centos.org/repos/nfv7-opendaylight-83-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-84-release: http://cbs.centos.org/repos/nfv7-opendaylight-84-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-90-release: http://cbs.centos.org/repos/nfv7-opendaylight-90-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-91-release: http://cbs.centos.org/repos/nfv7-opendaylight-91-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-92-release: http://cbs.centos.org/repos/nfv7-opendaylight-92-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-100-release: http://cbs.centos.org/repos/nfv7-opendaylight-100-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-8-release: http://cbs.centos.org/repos/nfv7-opendaylight-8-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-9-release: http://cbs.centos.org/repos/nfv7-opendaylight-9-release/x86_64/os/Packages/
+.. _nfv7-opendaylight-10-release: http://cbs.centos.org/repos/nfv7-opendaylight-10-release/x86_64/os/Packages/
+.. _example repo config files for each official repository: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=tree;f=packages/rpm/example_repo_configs
+.. _integration-multipatch-test: https://jenkins.opendaylight.org/releng/search/?q=integration-multipatch-test
+.. _Jenkins sandbox: https://docs.opendaylight.org/en/stable-carbon/submodules/releng/builder/docs/jenkins.html#jenkins-sandbox
+.. _scratch repo on Nexus: https://docs.opendaylight.org/en/stable-carbon/submodules/releng/builder/docs/jenkins.html#jenkins-sandbox