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.
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
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.
Ville Ojamo [Wed, 30 Apr 2025 18:17:14 +0000 (01:17 +0700)]
doc/radosgw: Improve rgw-cache.rst
Try to improve the language by completely rewriting some sentences.
Attempt to format the document more like the rest of the docs.
Fix several errors in punctuation, capitalization, spaces etc.
Use blocks with bash prompts for CLI commands instead of hardcoded
prompts.
Fix section hierarchy and section title underline lengths.
Use admonition.
Kefu Chai [Wed, 25 Jun 2025 03:02:46 +0000 (11:02 +0800)]
doc: do not depend on typed-ast
the typed-ast project was marked end of life since July 2023, and
not maintained anymore. since we build the document using readthedocs'
service, and in .readtherdocs.yml we use python 3.9, which comes with
ast module included by its standard library.
the typed-ast dependency was originally added in 30d41597, but now that
we are using python 3.9, there is no need to use this module anymore.
Add comprehensive documentation for defining configuration options in
ceph-mgr modules, including all supported properties and their usage.
Previously, the documentation did not explain how to define ceph-mgr
module configuration options, despite subtle differences from other Ceph
components. This change documents all supported Option properties, their
types, and provides clear examples to help module developers properly
configure their options.
Jos Collin [Fri, 11 Apr 2025 06:08:20 +0000 (11:38 +0530)]
qa: fix multi-fs tests in test_mds_metrics.py
* Avoids the unnecessary setup, when writing a multi-fs test.
Avoids creating the default filesystem, deleting it and creating the required filesystems, mounting them.
This change uses the filesystems created using 'REQUIRE_BACKUP_FILESYSTEM' for conducting tests.
* This change consequently fixes the old/deleted filesystems appearing in the `perf stats` output,
making it stale output.
* Drops unused function parameters.
Fixes: https://tracker.ceph.com/issues/68001 Fixes: https://tracker.ceph.com/issues/68446 Signed-off-by: Jos Collin <jcollin@redhat.com>
(cherry picked from commit eaf2a8360d0d70b20d5ea61022fdde4f6a9b6464)
J. Eric Ivancich [Tue, 22 Oct 2024 17:17:14 +0000 (13:17 -0400)]
rgw: fix empty storage class on display of multipart uploads
Some multipart uploads do not have a stored storage class, however the
code is written such that an empty storage class is treated as the
"STANDARD" storage class. So when encoding the storage class in JSON,
use the canonical storage.
The crash module has been enabled by default since commit 18f253aa in
Nautilus and is now in the always_on_modules list. However, the
documentation still contained instructions for manually enabling it.
When users followed these outdated instructions, they encountered:
```
module 'crash' is already enabled (always-on)
```
The module cannot be disabled either. Running:
```
ceph mgr module disable crash
```
Returns the error:
```
Error EINVAL: module 'crash' cannot be disabled (always-on)
```
In this change, we remove the obsolete enabling instructions and clarify
that this module is always active and cannot be disabled.
Mark Kogan [Wed, 25 Jun 2025 12:21:49 +0000 (12:21 +0000)]
qa/rgw: fix perl tests missing Amazon::S3 module
and a second case where perl tests can fail without error output
1. fix errors like: `Can't locate Amazon/S3.pm in @INC (you may need to
install the Amazon::S3 module)`
by priming the perl tests with installing the Amazon::S3 module from cpan
ex:
```
2025-06-23T19:18:40.162 INFO:tasks.workunit.client.0.smithi090.stderr:Can't locate Amazon/S3.pm in @INC (you may need to install the Amazon::S3 module) (@INC contains: /usr/local/lib64/perl5/5.32 ...
```
Kefu Chai [Wed, 25 Jun 2025 04:14:36 +0000 (12:14 +0800)]
mgr/dashboard: Fix inline markup warning in API documentation
Remove trailing space from summary field that was causing Sphinx build
warning.
Sphinx was generating a warning due to malformed inline markup:
```
/home/kefu/dev/ceph/doc/mgr/ceph_api/index.rst:3349: WARNING: Inline strong start-string without end-string.`
```
The openapi directive appears to convert trailing spaces into asterisk
markers, creating unterminated strong markup. This change removes the
trailing space to eliminate the warning and maintain consistency with
other entries in the file.
Ville Ojamo [Fri, 11 Apr 2025 14:54:28 +0000 (21:54 +0700)]
pybind/mgr: Fix missing empty lines in mgr_module.py
The inline function documentation needs an empty
line between description and metadata.
Otherwise automethod from docs renders the metadata
as text together with the description instead of
rendering it as function metadata, e.g. parameters
and return value.