qa/suites/krbd: use a standard fixed-1 cluster in unmap subsuite
A custom "fixed-1, but with the client on a separate node" cluster was
needed only for pre-single-major.yaml kernel which is no longer around.
This can be a single-node job now -- see commits 311a450163cf
("krbd/unmap: put client.0 on a separate remote") and 39a579144cd8
("qa/suites/krbd: drop pre-single-major test").
Zac Dover [Thu, 7 Aug 2025 05:03:22 +0000 (15:03 +1000)]
doc/cephfs: edit troubleshooting.rst
Follow up on comments made by Anthony D'Atri in
https://github.com/ceph/ceph/pull/64832 and make other small changes to
increase the ease of reading this text.
Zac Dover [Thu, 7 Aug 2025 04:41:01 +0000 (14:41 +1000)]
doc/rados: document section absent in release < T
Add a note to doc/rados/operations/erasure-code.rst to warn future
backporters against adding the section "Erasure Coding Optimizations" to
versions of the documentation prior to the Tentacle release.
Zac Dover [Tue, 5 Aug 2025 11:24:41 +0000 (21:24 +1000)]
doc/cephfs: edit troubleshooting.rst
Edit "Stuck in up:replay" under the "Stuck During Recovery" section of
doc/cephfs/troubleshooting.rst. I had planned to edit the entire "Stuck
During Recovery" section in a single commit, but I think that the
material is too involved for that.
Incorporate into doc/cephfs/ceph-dokan.rst the suggestions made by
Anthony D'Atri in https://github.com/ceph/ceph/pull/64737, and make a
few other small improvements to the English language in that file.
It looks like at some point the centos9 image started shipping with
curl-minimal, which conflicts with the regular curl package. Asking dnf to find
the binary avoids this, since both packages provide it. Since we were already
doing this with rpmbuild, we can go ahead and loop wget into that in case
something similar happens there.
John Mulligan [Tue, 18 Mar 2025 22:53:19 +0000 (18:53 -0400)]
src/script: add seastar deps to ubuntu container image
Add some dependencies that are needed to build with seastar enabled on
ubuntu (22.04). These deps apparently don't get installed via
install-deps.sh - possibly because ubuntu packages never enable
seastar/crimson?
John Mulligan [Fri, 14 Mar 2025 18:37:02 +0000 (14:37 -0400)]
script/buildcontainer-setup: set JENKINS_HOME while building image
Set the JENKINS_HOME environment variable while building the builder
image. This is needed because parts of scripts like run-make.sh and
install-deps.sh key off of this variable. Since we want to be able to
use the build container to build, run "make check" and the like, we want
that environment to be as similar to the jenkins CI environment as we
can make it.
this suite hasn't provided much benefit since it was added, and is
becoming more of a maintenance burden recently:
* https://tracker.ceph.com/issues/71584
* https://tracker.ceph.com/issues/72179
John Mulligan [Fri, 20 Jun 2025 23:03:22 +0000 (19:03 -0400)]
script/build-with-container: add rocky10 to built-in distros
Add "rocky10" (also aliased to "rockylinux10") to the known distro bases
so that the team can begin to experiment with the Rocky Linux 10 distro
for containerized builds.
John Mulligan [Fri, 27 Jun 2025 15:04:44 +0000 (11:04 -0400)]
install-deps.sh: add a temporary repo for missing el10 deps
Add a new dnf/yum repository hosted in the ceph lab infra for providing
the last few dependencies missing from other el10 repos.
Hopefully we can remove this soon but it serves as a stopgap as we work
on getting el10 builds working in the ceph CI infra and tested.
John Mulligan [Thu, 13 Feb 2025 21:00:27 +0000 (16:00 -0500)]
install-deps.sh: enable crb repository for centos 10 stream
The centos 10 stream distribution is like centos 9 and needs the crb
repository enabled to even think about building ceph. Note that I made
it a separate block in case more stuff needs to be added for it later.
Test procedure:
docker run --rm -ti -v /home/baum/ceph-ci:/home/ceph quay.io/centos/centos:stream9 bash
[root@a3c4b1545e93 /]# cd /home/ceph/
[root@a3c4b1545e93 ceph]# ./install-deps.sh 2>&1 tee install-deps.log
Deepika Upadhyay [Mon, 28 Oct 2024 09:19:52 +0000 (14:49 +0530)]
rgw: make keystone work without admin token(service ac requirement)
Ceph RGW admin credentials must not be a requirement.
Both ec2 auth and keystone token validation work without an admin token.
And the user token verification will use its own token. The only
requirement for the service admin user token is the allow_expired, but
in our case we don't use this parameter.
This experimental tool write a series of temporary files, the combined
size of which is roughly proportional to some combination of the
number of objects in the bucket and their respective sizes. Previously
the script stored all temporary files in /tmp, which may not be
sufficiently large in many cases.
There are now two enhancements. First, using the "-t" command-line
argument, the directory for temporary files can be specified. Second,
if the script consumes all available space on the file system
containing the temporary directory, an error message to that effect is
displayed, so the user understands what corrective action to take.
librbd: images aren't closed in group_snap_*_by_record() on error
Fixes memory leak and handles resource leak scenario when at leat one IoCtx is not
created successfully. This is done by returning error before opening any image.
Changes are made in group_snap_remove_by_record and group_snap_rollback_by_record
Conflicts:
src/pybind/mgr/dashboard/controllers/saml2.py
- kept the config options as it is in reef
src/pybind/mgr/dashboard/tox.ini
- kept the file as is in reef
Edit the section "Data Pool Damage" in doc/cephfs/disaster-recovery.rst.
This commit is part of the project of improving the data-recovery parts
of the CephFS documentation, as requested in the Ceph Power Users
Feedback Summary in mid-2025.
Zac Dover [Wed, 11 Jun 2025 12:44:32 +0000 (22:44 +1000)]
doc/rados/ops: edit cache-tiering.rst
Add material to doc/rados/operations/cache-tiering.rst, as suggested by
Anthony D'Atri in
https://github.com/ceph/ceph/pull/63745#discussion_r2127887785.
J. Eric Ivancich [Mon, 24 Mar 2025 23:45:06 +0000 (19:45 -0400)]
rgw: add force option to `radosgw-admin object rm ...`
The `radosgw-admin object rm ...` sub-command will give up if it
determines that there's an issue with the head object. This can make
it difficult for an admin to clean up a bucket index when there's a
damaged or missing head object.
When the user adds the "--yes-i-really-mean-it" command-line option,
it enables the "force mode". The bucket index entry(ies) will be
removed. If the object being removed is the current version in a
versioned bucket, the appropriate changes to the OLH will take place.
J. Eric Ivancich [Mon, 11 Mar 2024 21:19:40 +0000 (17:19 -0400)]
rgw: rgw-restore-bucket-index -- sort uses specified temp dir
The sort command sometimes makes use of temporary files. When the user
specifies a directory to be used for temp files, have the sort command
use that same directory.
This experimental tool write a series of temporary files, the combined
size of which is roughly proportional to some combination of the
number of objects in the bucket and their respective sizes. Previously
the script stored all temporary files in /tmp, which may not be
sufficiently large in many cases.
There are now two enhancements. First, using the "-t" command-line
argument, the directory for temporary files can be specified. Second,
if the script consumes all available space on the file system
containing the temporary directory, an error message to that effect is
displayed, so the user understands what corrective action to take.
J. Eric Ivancich [Mon, 30 Oct 2023 19:57:04 +0000 (15:57 -0400)]
rgw: handle instances w/ leading hyphens correctly
Some instance identifiers have leading hyphens, which broke the
rgw-restore-bucket-index script. This fixes those issues and adds a
few features to making debugging easier in the future.
rgw: make error message more friendly on rgw-restore-bucket-index
When the bucket referenced cannot be found remind the user that they
may need to set realm, zonegroup, and/or zone. This improvement was
suggested by Madhavi Kasturi.
J. Eric Ivancich [Wed, 12 Jul 2023 17:54:07 +0000 (13:54 -0400)]
rgw: allow multisite specification used w/ rgw-restore-bucket-index script
When the metadata for a bucket is requested only the default
realm/zonegroup/zone is currently supported. This adds three new
command-line options to rgw-restore-bucket-index:
The multisite specification will then be used in invocations of
`radosgw-admin`, such as to query the zone, get metadata, and invoke
the "object reindex" subcommand.
J. Eric Ivancich [Wed, 14 Jun 2023 19:53:19 +0000 (15:53 -0400)]
rgw: enhances rgw-restore-bucket-index script
This enhances the script to both process versioned buckets correctly
and to handle object names that begin with underscore.
If the bucket is versioned it submits each version chronologically
(based on mtime) to be reindexed in order to "replay" the modification
of objects. However mtime is not a perfect indicator. So additionally
it looks at the OLH object to determine the most recent version and
the script makes sure that it is replayed last. The order of previous
versions is likely correct, but not guaranteed to be so.
Additional logic is added to handle objects with names that begin with
underscore ('_') since that's used as a delimiter and needs to be
escaped and rados object locators are also used.
Michael J. Kidd [Mon, 27 Mar 2023 21:00:15 +0000 (15:00 -0600)]
rgw: add options to rgw-restore-bucket-index
- Add use of `getopts` processing for command line arguments
- Add option to provide a cached `rados ls -p <pool>` output
- This permits re-use of output from a potentially very long
running command.