Nizamudeen A [Thu, 27 Apr 2023 11:24:24 +0000 (16:54 +0530)]
mgr/dashboard: fix the rbd mirroring configure check
In one-way mirroring, the condition we are checking now for configuring
the mirroring will fail because only one cluster needs to have the
mirror daemon present. Thus even if mirroring is successfuly happening
the page won't load. For now relaxing the rule until we find a better
api call to check for the status
Fixes: https://tracker.ceph.com/issues/59573 Signed-off-by: Nizamudeen A <nia@redhat.com>
Line-edit doc/rados/user-management.rst (2 of x). Some internal
references had to be removed, but these will be repaired when the next
part of this file is updated in a future PR.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com> Signed-off-by: Zac Dover <zac.dover@proton.me>
* refs/pull/50089/head:
doc: add a note for minimum compatible python version and supported distros
tools/cephfs/top/CMakeList.txt: check the minimum compatible python version for cephfs-top
We're currently installing cython with pip when using Ubuntu
to cross compile Ceph for Windows. This can fail with recent
Python versions if attempting to use the global env:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
Cython isn't really needed by the Windows build so we can go
ahead and drop it. We were hoping to use the Python bindings
on Windows, however Python extensions can't be cross compiled.
We're no longer using pip either, so we're dropping the dependency.
g++ was getting installed as a pip dependency, so we'll have to
include that instead. Note that g++ is used when building the boost
b2 tool.
While at it, we'll also ensure that git is installed.
Merge pull request #51055 from ceph/wip-yuriw-release-16.2.12-main
doc: 16.2.12 Release Notes
Reviewed-by: Josh Durgin <jdurgin@redhat.com> Reviewed-by: Laura Flores <lflores@redhat.com> Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com> Reviewed-by: Adam King adking@redhat.com Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
librbd: on notify_quiesce() show attempts in a better format
notify_quiesce() currently shows number of attempts in descending order,
this might be bit confusing to read.
Example: on the very first attempt,
2023-04-04T19:45:56.096+0530 7ff8ba7fc640 10 librbd::ImageWatcher:
0x7ff898008b30 notify_quiesce: async_request_id=[4151,140705343226832,23] attempts=10
I initially misread the above means 10 attempts where done.
This commit tries to pick the format that is used by
ImageWatcher<I>::handle_payload() and ImageWatcher<I>::notify_async_progress()
common/tracer: fix decoding when jaeger tracing is disabled
We aren't currently using jaeger tracing on Windows. The issue is
that Windows hosts (or any other host that doesn't use jaeger)
are experiencing message decoding failures after a recent change [1].
This change updates the tracer encoding so that messages from
non-jaeger hosts may be decoded by services that use jaeger.
qa/suites/rbd: install qemu-utils in addition to qemu-block-extra on Ubuntu
qemu-utils is usually pre-installed but, due to what appears to be
a Ubuntu packaging bug, it's not upgraded when qemu-block-extra is
installed:
The following NEW packages will be installed:
qemu-block-extra
The following packages will be upgraded:
qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86
However, the version of the block driver must match exactly the version
of the qemu-img tool, so the above leads to:
$ qemu-img convert -f qcow2 -O raw /home/ubuntu/cephtest/qemu/base.client.0.0.qcow2 rbd:rbd/client.0.0
Failed to initialize module: /usr/lib/x86_64-linux-gnu/qemu/block-rbd.so
Note: only modules from the same build can be loaded.
qemu: module block-block-rbd not found, do you want to install qemu-block-extra package?
qemu-img: Unknown protocol 'rbd'
Aashish Sharma [Wed, 21 Dec 2022 11:53:37 +0000 (17:23 +0530)]
mgr/dashboard: fix rbd mirror snapshot creation
There are two types of snapshots that can be created on a snapshot based mirroring image - Normal Snapshot(same as journal based snapshot) and Nirror Image Snapshot. Till now Dashboard allowed only Mirror image snapshot, this PR intends to enable both the types
Samuel Just [Wed, 8 Mar 2023 01:21:24 +0000 (17:21 -0800)]
osd/: remove PL::reschedule_scrub, notify scrubber on config/pool change directly
As with on_info_history_change(), we don't need to deal with scrub
scheduling during peering. Once we've gone active, the scrubber itself
would be the origin of any stat changes that could affect scrub
scheduling. The other possible change vectors would be OSD config
changes or pool config changes.
PG::reschedule_scrub becomes PG::on_scrub_schedule_input_change. Should
be called in all cases where an input to scrub scheduling changes.
OSD::resched_all_scrubs() calls PG::on_scrub_schedule_input_change
unconditionally
now to deal with changes to osd_scrub_(min|max)_interval.
PG::set_last_[deep_]scrub_stamp now invoke
PG::on_scrub_schedule_input_change directly.
PG::handle_activate_map() now calls PG::on_scrub_schedule_input_change
directly to deal with changes to scrub related pool options.
The only usage of this method was to notify scrub that the pg history
has been updated during split or peering. That shouldn't be necessary.
Scrub does not schedule itself prior to activation, and we necessarily
must have an authoritative history by that point.
Ronen Friedman [Wed, 1 Feb 2023 07:22:00 +0000 (09:22 +0200)]
osd/scrub: split on_pg_activate from on_new_interval
Separate and clarify handling of interval termination, pg activation,
and configuration change.
A primary PG now registers with its OSD for scrubbing only on
activation: on_pg_activate() called from PG::on_activate().
When the interval ends, the scrubber is notified via on_interval_change,
which is responsible for cleaning up any active or replica state
associated with scrub.
Configuration changes are still handled by update_scrub_job().
Signed-off-by: Ronen Friedman <rfriedma@redhat.com> Signed-off-by: Samuel Just <sjust@redhat.com>
OpRequestRef::sent_epoch can be used to uniformly check incoming
messages against the current interval. Every caller should do it first
thing before any other processing.
Samuel Just [Wed, 8 Feb 2023 06:44:36 +0000 (22:44 -0800)]
osd/scrubber: simplify existing reservation case in handle_scrub_reserve_request
First, the is_stale() case should be impossible. This patch leaves an
error message rather than an assert.
Second, this patch removes the special handling for receiving a reservation
when m_remote_osd_resource is already populated. The next patch will exploit
the fact that all calls to m_remote_osd_resource.reset() and advance_token()
occur together.
```
error: /var/cache/dnf/baseos-00fe51d07def85f0/packages/kernel-core-4.18.0-483.el8.x86_64.rpm: signature hdr data: BAD, no. of bytes(459772) out of range
```
* refs/pull/50716/head:
doc: updating the doc with chamges related to delay option in cephfs-top
cephfs-top: fixing the -d [--delay] option in cephfs-top
Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Jos Collin <jcollin@redhat.com>