diff options
Diffstat (limited to 'doc/dev/release-process.rst')
-rw-r--r-- | doc/dev/release-process.rst | 68 |
1 files changed, 53 insertions, 15 deletions
diff --git a/doc/dev/release-process.rst b/doc/dev/release-process.rst index 67f867fecba..a4939cc8e25 100644 --- a/doc/dev/release-process.rst +++ b/doc/dev/release-process.rst @@ -136,7 +136,9 @@ See `the Ceph Tracker wiki page that explains how to write the release notes <ht #. Obtain the sha1 of the version commit from the `build job <https://jenkins.ceph.com/view/all/job/ceph>`_ or the ``sha1`` file created by the `ceph-setup <https://jenkins.ceph.com/job/ceph-setup/>`_ job. -#. Download the packages from chacra.ceph.com to the signing virtual machine. These packages get downloaded to ``/opt/repos`` where the `Sepia Lab Long Running (Ceph) Cluster <https://wiki.sepia.ceph.com/doku.php?id=services:longrunningcluster>`_ is mounted. +#. Download the packages from chacra.ceph.com to the signing virtual machine. These packages get downloaded to ``/opt/repos`` where the `Sepia Lab Long Running (Ceph) Cluster <https://wiki.sepia.ceph.com/doku.php?id=services:longrunningcluster>`_ is mounted. Note: this step will also run a command to transfer the +source tarballs from chacra.ceph.com to download.ceph.com directly, by +ssh'ing to download.ceph.com and running /home/signer/bin/get-tarballs.sh. .. prompt:: bash $ @@ -210,27 +212,63 @@ See `the Ceph Tracker wiki page that explains how to write the release notes <ht sync-push ceph octopus -This leaves the packages in a password-protected prerelease area -at https://download.ceph.com/prerelease/ceph. Verify them from there. -When done and ready for release, mv the directories to the release -directory (that is, "mv <whatever you're promoting> ../..". +This leaves the packages, and the tarball, in a password-protected +prerelease area at https://download.ceph.com/prerelease/ceph. Verify them +from there. When done and ready for release, log into download.ceph.com and +mv the directories and the tarballs from the prerelease home +(/data/download.ceph.com/www/prerelease/ceph) to the release directory +(/data/download.ceph.com/www). 5. Build Containers =================== -Prerelease containers (x86_64 only) are built by -https://2.jenkins.ceph.com/job/ceph-container-prerelease-build; run it -with appropriate parameters. Test container images will appear on -quay.ceph.io in the ceph/prerelease repo, built from the prerelease area -on download.ceph.com. When satisfied with them, and after you have promoted -the prerelease packages to released status as above, start the following two jobs: +Architecture-specific containers are built during the ceph build and +pushed to quay.ceph.io/ceph/prerelease-{amd64,arm64}, containing the +packages built in that ceph build. The prerelease 'fat' container, +or manifest-list container, that refers to both arch-specific containers, +is built by hand using the command "make-manifest-list.py" in +ceph.git:src/container/make-manifest-list.py. Note that you must +be logged into the appropriate container repos for any of these +manipulations: quay.ceph.io for fetching prerelease arch-specific +containers and pushing the prerelease manifest-list container, and +quay.io for promoting the prerelease containers to released containers. -#. https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs/ -#. https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs-arm64/ + .. prompt:: bash + + cd <ceph-checkout>/src/container + ./make-manifest-list.py + +Reasonable defaults are set for all inputs, but environment variables +can be used to override: + + * ARCH_SPECIFIC_HOST (default 'quay.ceph.io'): host of prerelease repos + * AMD64_REPO (default 'ceph/prerelease-amd64') prerelease amd64 repo + * ARM64_REPO (default 'ceph/prerelease-arm64') prerelease arm64 repo + +(prerelease arch-specific containers will be copied from here) + + * MANIFEST_HOST (default 'quay.ceph.io') prerelease manifest-list host + * MANIFEST_REPO (default 'ceph/prerelease') prerelease manifest-list repo + +(prerelease manifest-list containers will be placed here) + +Finally, when all appropriate testing/ verification is done on the +container images, you can use make-manifest-list.py to promote them to +their final release location on quay.io/ceph/ceph: + + .. prompt:: bash + + cd <ceph-checkout>/src/container + ./make-manifest-list.py --promote + +Two more environment variables can override the default destination for +promotion (the source of the prerelease container to be promoted is +as above, in MANIFEST_HOST/REPO): + + * RELEASE_MANIFEST_HOST (default 'quay.io') release host + * RELEASE_MANIFEST_REPO (default 'ceph/ceph') release repo -which will rebuild and publish both architectures using the released packages -on download.ceph.com (into a multiarchitecture container image). 6. Announce the Release ======================= |