summaryrefslogtreecommitdiffstats
path: root/doc/dev/release-process.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/dev/release-process.rst')
-rw-r--r--doc/dev/release-process.rst68
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
=======================