Commit Graph

20 Commits

Author SHA1 Message Date
David Galloway
194e58aa9b container: default FROM_IMAGE to Rocky Linux 10
Since tentacle, the preferred base image for ceph containers has been
Rocky Linux 10, and the CI tag-naming logic in build.sh already assumes
rockylinux-10 is the default fromtag for every branch except reef and
squid.  The actual build default was never flipped, though: anything
that ran build.sh without FROM_IMAGE set (e.g. the release container
job in ceph-build) still got a CentOS Stream 9 base.

Flip the Containerfile ARG and the build.sh fallback to
docker.io/rockylinux/rockylinux:10 so umbrella and later build from
Rocky 10 by default.  Builds that want a different base can still pass
FROM_IMAGE explicitly, as the CI pipeline does.

Signed-off-by: David Galloway <david.galloway@ibm.com>
2026-07-17 14:34:44 -04:00
Shraddha Agrawal
66e2d43a7e container/build.sh: fix debug tag overwrite
This commit fixes an issue when the image is not the base distro,
the debug suffix for it is overwritten. This is especially
required for crimson debug builds to work for rocky10.

Fixes: https://tracker.ceph.com/issues/75952
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
2026-04-10 14:10:55 +05:30
bugwz
d9391f6f42 Change format
Signed-off-by: bugwz <xbugwz@gmail.com>
2026-04-02 10:11:05 +08:00
bugwz
e60db5a1db Support build image with docker
Signed-off-by: bugwz <xbugwz@gmail.com>
2026-04-02 10:11:05 +08:00
David Galloway
5e0eaf5628 container/build.sh: FROM_IMAGE=rockylinux-10 default for >=tentacle
We build centos9 and rocky10 packages and containers by default now for wip, main, and tentacle branches as of https://github.com/ceph/ceph-build/pull/2557.

Starting with tentacle, we want a `podman pull quay.ceph.io/ceph-ci/ceph:tentacle` or `podman pull quay.ceph.io/ceph-ci/ceph:$SHA1` to get the container with Rocky 10 as the Base OS image, or FROM_IMAGE.

Fixes: https://tracker.ceph.com/issues/75673

Signed-off-by: David Galloway <david.galloway@ibm.com>
2026-03-23 12:10:58 -04:00
Matan Breizman
525afef2d0 container/build.sh: Use dedicated debug tags
https://github.com/ceph/ceph-build/pull/2497 introduced a debug flavor.
This seems to cause conflicts with the image being pushed to quay as one
of the flavors might override the other.

Tag debug build containers explicitly.
Alternative solution would be to skip debug containers all together.
However. these might be useful for development purposes.

Note, prune-quay might also need to be updated once this is merged.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2026-01-22 12:12:20 +02:00
Matan Breizman
da9b2f15e7 container/build.sh: cleanup crimson flavors
We no longer have crimson-flavors see https://github.com/ceph/ceph-build/pull/2497

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2026-01-22 11:55:03 +02:00
Dan Mick
c8c03ac4e3 container/build.sh: add 'rocky-10' suffix if necessary
'fromtag' is already available as distillation of the
FROM_IMAGE environment variable: everything after last
slash, s/:/-/.  Use it as a suffix if it's anything other than
"centos-9stream" so that multiple CI container tags can coexist.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2025-10-23 15:19:34 -07:00
John Mulligan
ffabf23ccc container: pass CUSTOM_CEPH_REPO_URL thru container build script
Update the build.sh script such that the environment variable
CUSTOM_CEPH_REPO_URL is passed to the container build command
as a build argument. This allows a developer or system outside of the
ceph CI to build container images similar to those produced by the
CI but using custom RPM packages.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-08-11 15:04:30 -04:00
Matan Breizman
425b6dac14 container: update crimson flavors
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2025-06-12 09:26:19 +00:00
Dan Mick
642e5f2da0 container/build.sh: remove local container images
Optionally, for those that want to run build.sh locally and
use the images.  The default is to remove, for Jenkins builders,
which will build, push, and rmi.

Fixes: https://tracker.ceph.com/issues/70196
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2025-02-26 16:17:27 -08:00
Dan Mick
a745e07e7e container/build.sh: don't require repo creds on NO_PUSH
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2025-01-24 11:00:52 -08:00
Dan Mick
1fb6137afe container/build.sh: fix up org vs. repo naming
release builds were using the wrong container repo name because of
confused variable naming and inadequate separation.  Keep the hostname,
org name, and repo name in separate variables, and assemble the full
path with a version when tagging is done.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2025-01-22 18:49:05 -08:00
Ken Dreyer
ff44a46749
Merge pull request #60924 from ktdreyer/containerfile-date-utc
container/build.sh: use UTC dates for tags
2024-12-04 14:40:04 -05:00
Dan Mick
4b3c0cb8f3 container/{Containerfile,build.sh}: use a secret to pass secrets
Use podman's build --secret mechanism to pass credentials for
download.ceph.com

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2024-12-03 16:38:51 -08:00
Dan Mick
7374b9b111 container/Containerfile, build.sh: Add PRERELEASE_USERNAME/PASSWORD
Used for accessing download.ceph.com

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2024-12-03 12:32:13 -08:00
Dan Mick
6c8e998425 container/build.sh:
- change repo path to prerelease
- remove image id arg for release push
- include 'v' in version name for release push

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2024-12-03 12:32:13 -08:00
Ken Dreyer
fb4ec71117 container/build.sh: use UTC dates for tags
Do not rely on the builder host's local timezone setting.

Signed-off-by: Ken Dreyer <kdreyer@ibm.com>
2024-12-03 12:38:50 -05:00
Dan Mick
7e03ee798f container/build.sh: fix arm architecture tagging
The wrong string was used for comparison, and for tagging,
so the arm64 branch and sha1 images overwrote and destroyed
the amd64 images.

Signed-off-by: Dan Mick <dmick@redhat.com>
2024-10-10 16:38:58 -07:00
Dan Mick
5c40a5c173 Add Containerfile and build.sh to build it.
The intent is to replace ceph-container.git, at first for ci containers
only, and eventually production containers as well.

There is code present for production containers, including
a separate "make-manifest-list.py" to scan for and glue the two
arch-specific containers into a 'manifest-list' 'fat' container,
but that code is not yet fully tested.

This code will not be used until a corresponding change to the
Jenkins jobs in ceph-build.git is pushed.

Note that this tooling does not authenticate to the container repo;
it is assumed that will be done elsewhere.  Authentication is
verified by pushing a minimal image to the requested repo.

Signed-off-by: Dan Mick <dmick@redhat.com>
2024-10-02 16:49:32 -07:00