Ilya Dryomov [Sun, 25 Aug 2024 11:10:58 +0000 (13:10 +0200)]
librbd/migration/NBDStream: be more thorough around nbd_block_status()
nbd_block_status() is specified to be really loose: it can return
more status (go beyond the requested range), less status (cover only
some part of the requested range) or nothing at all. The former would
likely violate some assumptions in ObjectCopyRequest, while the latter
would lead to straight data corruption -- parent blocks that weren't
covered would never get copied up into the destination image.
On top of that, the current implementation is very suboptimal.
Because only "nr_entries == 2" responses are effectively processed,
any extent which has a small amount of data and is otherwise zeroed
(e.g. 8K of data in a 4M object) gets listed as DATA. A copyup for
such an object would write 4M worth of data instead of 8K, consuming
space in the destination image unnecessarily.
Also, it's unclear whether zero-sized entries can be returned.
Currently, if it happens we would hit an assert in interval_map.
Ilya Dryomov [Fri, 16 Aug 2024 17:09:39 +0000 (19:09 +0200)]
librbd/migration: add external clusters support
This commit extends NativeFormat (aka migration where the migration
source is an RBD image) to support external Ceph clusters, limited to
import-only mode.
Ilya Dryomov [Mon, 5 Aug 2024 15:52:10 +0000 (17:52 +0200)]
librbd/migration: move away from util::create_ioctx() in NativeFormat
This is another step towards supporting migration from external
clusters, where creating an IoCtx from a Rados instance that has
nothing to do with dst_io_ctx would be needed. It also allows to
get rid of a pool lookup in the middle of parsing code.
Conflicts:
src/librbd/migration/NativeFormat.cc [ commit 8e58a52a408b
("librbd/migration: don't include ImageState.h in formats")
was backported to squid out of order ]
Ilya Dryomov [Fri, 16 Aug 2024 12:12:38 +0000 (14:12 +0200)]
common/config: export CEPH_CONF_FILE_DEFAULT
It used to be exported until commit 318c62f8ae16 ("common/config:
cleanup remove some unused macros"). Having CEPH_CONF_FILE_DEFAULT
avaialable is handy to prevent parse_config_files() from picking up
CEPH_CONF environment variable.
Or Ozeri [Tue, 31 Jan 2023 11:08:22 +0000 (13:08 +0200)]
librbd/migration: don't clone when flattening
When the flatten flag is set, instead of creating the
destination image by cloning, create it independently,
as the parent relation is unnecessary in this case.
This will be particularly useful when the migration source
is located in an external Ceph cluster, which will soon be
supported.
Zac Dover [Thu, 15 May 2025 13:24:58 +0000 (23:24 +1000)]
doc/mgr: edit dashboard.rst
Edit doc/mgr/crash.rst. Add prompts.
This changes eighty-nine prompts. Because this makes so many changes,
all other edits included in https://github.com/ceph/ceph/pull/63255 will
be made in a separate commit. This done for the sake of the patience of
the reviewers (probably Anthony, if history is any guide).
This commit is part of a project to separate out the twenty-five files
that were committed to https://github.com/ceph/ceph/pull/63255.
Ville Ojamo [Thu, 15 May 2025 09:46:21 +0000 (16:46 +0700)]
doc/radosgw: Use ref for hyperlinking to multisite
Use validated ":ref:" hyperlinks instead of "external links" in "target
definitions" when linking within the Ceph docs:
- Update to use existing label in multisite.rst.
- Remove unused "target definitions".
Also use existing label for linking from multisite.rst.
Fix a broken link within multisite.rst.
The rendered PR should look the same as the old docs, only differing in
the source RST.
Zac Dover [Tue, 13 May 2025 06:31:42 +0000 (16:31 +1000)]
doc/dev/cephfs-mirroring: edit file 1 of x
Add prompts (and perform necessary corrections to glaring grammatical
errors) to doc/dev/cephfs-mirroring.rst, as requested by Jos Collin in https://github.com/ceph/ceph/pull/63237/files#r2085886075.
This commit edits the first quarter of the doc/dev/cephfs-mirroring.rst
file. This commit encompasses about one-hundred lines of RST.
Zac Dover [Tue, 13 May 2025 06:58:39 +0000 (16:58 +1000)]
doc/dev/cephfs-mirroring: edit file 2 of x
Add prompts (and perform necessary corrections to glaring grammatical
errors) to doc/dev/cephfs-mirroring.rst, as requested by Jos Collin in
https://github.com/ceph/ceph/pull/63237/files#r2085886075.
This commit edits the second quarter of the doc/dev/cephfs-mirroring.rst
file. This commit encompasses about one-hundred lines of RST.
John Mulligan [Wed, 18 Sep 2024 03:21:31 +0000 (20:21 -0700)]
pybind/mgr: attempt to fix mypy importing from python-common
For some reason mypy on python 3.12 can no longer automatically find
imports from python-common. Help it out by expanding the MYPYPATH
value for the tox.ini.
Zac Dover [Thu, 8 May 2025 02:29:25 +0000 (12:29 +1000)]
doc/mgr: edit alerts.rst
Edit doc/mgr/alerts.rst as part of the project to determine where the
error is in https://github.com/ceph/ceph/pull/62782 that prevents the
Jenkins tests from passing.
This commit adds to the work done in
https://github.com/ceph/ceph/pull/62782 by correcting some of the
English that was present in that PR.
This is a change to one of twenty-five files in
https://github.com/ceph/ceph/pull/62782, and this commit represents one
of what will be at least twenty-five other commits made to track this
error down.
Zac Dover [Thu, 8 May 2025 00:08:06 +0000 (10:08 +1000)]
doc/mgr/ceph_api: edit index.rst
Edit doc/mgr/ceph_api/index.rst as part of the project to determine
where the error is in https://github.com/ceph/ceph/pull/62782 that
prevents the Jenkins tests from passing.
This is a change to one of twenty-five files in
https://github.com/ceph/ceph/pull/62782, and this commit represents one
of what will be at least twenty-five other commits made to track this
error down.
Correct the presentation of an example string in doc/cephadm/rgw.rst in
order to obviate an error reading "rgw.rst:202: WARNING: Inline emphasis start-string without end-string."
Patrick Donnelly [Wed, 30 Apr 2025 12:36:28 +0000 (08:36 -0400)]
Merge PR #61287 into squid
* refs/pull/61287/head:
mds: add or update MDS thread names
log: cache recent threads up to a day
common: cache pthread names
log: concatenate thread names and print once per thread
Janne Heß [Mon, 28 Apr 2025 09:04:25 +0000 (11:04 +0200)]
ceph-volume: Fix splitting with too many parts
The data can be anything and also contain a `=`, causing the line to
fail with `Too many values to unpack`. In my case, it failed with
`ID_FS_LABEL=pvc_name=rook-ceph-lvm-data-44f2gc`.
Regression was introduced here: https://github.com/ceph/ceph/pull/60006
doc/rados: Update mClock doc on steps to override OSD IOPS capacity config
Describe the steps involved to
- Specify a global value for osd_mclock_max_capacity_iops_{ssd,hdd}, and
- Override existing individually scoped values for OSDs determined during
start-up for osd_mclock_max_capacity_iops_{ssd,hdd}.
The above is to help with the following:
- Steps to override existing setting with a global value.
- reduce the number of entries in the mon store and instead use a single
global specification for all OSDs in the cluster in case the underlying
hardware is the same for all OSDs.
qa/suites/orch/cephadm: add PG_DEGRADED to ignorelist
Issue: tests are failing in rados/cephadm due to
PG_DEGRADED warning in cluster log.
Cause: This is expected as we are intentionally killing OSDs.
Adding PG_DEGRADED warning to ignorelist will prevent the
test from failing when this warning is raised.
should_skip_object function needed to handle cascading backward
compatibility checks.
I also added improved handling of backward compatibility filtering
in should_skip_object so we can better find backward comp. and skip
them.
Ronen Friedman [Wed, 26 Jun 2024 15:02:19 +0000 (10:02 -0500)]
qa/standalone/scrub: fix osd-scrub-test.sh
following changes in scrub code
(cherry picked from commit 24647e87e8fba9b16d81730662b22798ed1885cb)
Conflict resolved by:
- electing to keep the up-to-date order between 'set noscrub' and 'set ..chunk_max'
in 'step 2'
Seena Fallah [Wed, 9 Oct 2024 21:32:49 +0000 (23:32 +0200)]
rgw: allow bucket deletion from secondary zonegroup
Allow running `radosgw-admin bucket rm` from secondary zonegroup.
This allows bucket deletion with `--purge-objects` and with
`--bypass-gc` when deleting the bucket owned by non-master zonegroup.
Ville Ojamo [Sat, 26 Apr 2025 04:17:16 +0000 (11:17 +0700)]
doc/radosgw: Fix RST syntax rendeded as text in oidc.rst
Empty line after starting a pre-formatted block with the double-colon
syntax is required, otherwise the double-colon does nothing and is just
rendered as-is as "::" and there would be no following pre-formatted
block.
Add empty lines after the double-colon syntax so that the following
block is rendered pre-formatted.
Also add bash privileged prompts to a block with 2 example CLI commands.