Skip to content

Commit 9eb2e2e

Browse files
Merge pull request ceph#60973 from zdover23/wip-doc-2024-12-06-backport-60929-to-quincy
quincy: doc/dev/release-process.rst: New container build/release process
2 parents c355c52 + 7e51329 commit 9eb2e2e

File tree

1 file changed

+53
-8
lines changed

1 file changed

+53
-8
lines changed

doc/dev/release-process.rst

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ See `the Ceph Tracker wiki page that explains how to write the release notes <ht
125125

126126
#. 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.
127127

128-
#. 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.
128+
#. 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
129+
source tarballs from chacra.ceph.com to download.ceph.com directly, by
130+
ssh'ing to download.ceph.com and running /home/signer/bin/get-tarballs.sh.
129131

130132
.. prompt:: bash $
131133

@@ -199,19 +201,62 @@ See `the Ceph Tracker wiki page that explains how to write the release notes <ht
199201

200202
sync-push ceph octopus
201203

202-
This leaves the packages in a password-protected prerelease area
203-
at https://download.ceph.com/prerelease/ceph. Verify them from there.
204-
When done and ready for release, mv the directories to the release
205-
directory (that is, "mv <whatever you're promoting> ../..".
204+
This leaves the packages, and the tarball, in a password-protected
205+
prerelease area at https://download.ceph.com/prerelease/ceph. Verify them
206+
from there. When done and ready for release, log into download.ceph.com and
207+
mv the directories and the tarballs from the prerelease home
208+
(/data/download.ceph.com/www/prerelease/ceph) to the release directory
209+
(/data/download.ceph.com/www).
206210

207211

208212
5. Build Containers
209213
===================
210214

211-
Start the following two jobs:
215+
Architecture-specific containers are built during the ceph build and
216+
pushed to quay.ceph.io/ceph/prerelease-{amd64,arm64}, containing the
217+
packages built in that ceph build. The prerelease 'fat' container,
218+
or manifest-list container, that refers to both arch-specific containers,
219+
is built by hand using the command "make-manifest-list.py" in
220+
ceph.git:src/container/make-manifest-list.py. Note that you must
221+
be logged into the appropriate container repos for any of these
222+
manipulations: quay.ceph.io for fetching prerelease arch-specific
223+
containers and pushing the prerelease manifest-list container, and
224+
quay.io for promoting the prerelease containers to released containers.
212225

213-
#. https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs/
214-
#. https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs-arm64/
226+
.. prompt:: bash
227+
228+
cd <ceph-checkout>/src/container
229+
./make-manifest-list.py
230+
231+
Reasonable defaults are set for all inputs, but environment variables
232+
can be used to override:
233+
234+
* ARCH_SPECIFIC_HOST (default 'quay.ceph.io'): host of prerelease repos
235+
* AMD64_REPO (default 'ceph/prerelease-amd64') prerelease amd64 repo
236+
* ARM64_REPO (default 'ceph/prerelease-arm64') prerelease arm64 repo
237+
238+
(prerelease arch-specific containers will be copied from here)
239+
240+
* MANIFEST_HOST (default 'quay.ceph.io') prerelease manifest-list host
241+
* MANIFEST_REPO (default 'ceph/prerelease') prerelease manifest-list repo
242+
243+
(prerelease manifest-list containers will be placed here)
244+
245+
Finally, when all appropriate testing/ verification is done on the
246+
container images, you can use make-manifest-list.py to promote them to
247+
their final release location on quay.io/ceph/ceph:
248+
249+
.. prompt:: bash
250+
251+
cd <ceph-checkout>/src/container
252+
./make-manifest-list.py --promote
253+
254+
Two more environment variables can override the default destination for
255+
promotion (the source of the prerelease container to be promoted is
256+
as above, in MANIFEST_HOST/REPO):
257+
258+
* RELEASE_MANIFEST_HOST (default 'quay.io') release host
259+
* RELEASE_MANIFEST_REPO (default 'ceph/ceph') release repo
215260

216261
6. Announce the Release
217262
=======================

0 commit comments

Comments
 (0)