osd/scrub: disable high work-queue priority for h.p. scrub
Prior to this fix, scrub-related messages were queued with
one of four priorities:
- if part of a regular, periodic scrub, the messages were queued
with a very low priority (osd_scrub_priority. Default: 5), unless:
- if the pool configuration specified a higher priority for the
scrub, the messages were queued with that priority
(the SCRUB_PRIORITY pool configuration option);
- if a client operation was waiting for the scrub to complete,
the messages were queued with the higher priority of the
client ops (osd_client_op_priority. Default: 63);
and if the scrub was a high-priority one, e.g. initiated by the
operator, the messages were queued with the highest priority
(osd_requested_scrub_priority. Default: 120).
That last priority is too high, as scrubs should not have
precedence over client ops. It is even more disruptive if the
cluster is set to have only manually initiated scrubs, and
all scrubs are high-priority ones.
This patch removes the osd_requested_scrub_priority. Instead,
all scrub messages are queued according to the first three
rules above.
Due to conflicts with SSO PR, mTLS fields are not updated properly in code.
This is not happening only in main as noted: https://github.com/ceph/ceph/pull/59819#issuecomment-2356523491
The effect of this issue is mtls based fields not showing in service form
Patrick Donnelly [Mon, 16 Sep 2024 18:30:31 +0000 (14:30 -0400)]
COPYING,common/*s390x*: distribute under Apache 2 license for s390x
The Ceph project cannot distributed GPL code as it is incompatible with the
LGPL that all Ceph code is licensed under. Since s390x is dual-licensed, we
choose to use the Apache 2 license.
Fixes: https://tracker.ceph.com/issues/68084 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
doc/rados: add confval directives to health-checks
Add confval directives to doc/rados/operations/health-checks.rst, as
requested by Anthony D'Atri here: https://github.com/ceph/ceph/pull/59635#pullrequestreview-2286205705
* refs/pull/59111/head:
doc: document earmark option for subvolume and new commands
qa/cephfs: update tests for test_volumes & unit-test for earmarking
mgr/volumes: add earmarking for subvol
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.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Nizamudeen A [Thu, 12 Sep 2024 13:21:13 +0000 (18:51 +0530)]
mgr/dashboard: fix minor issues in carbon tables
- fixes table in table structure's unusual padding
- fixes the ceph fs details page where table was getting hidden
- improving the subvolume list page by changing the spacings there
- hide the refresh button where it shouldn't be shown.
Fixes: https://tracker.ceph.com/issues/68050 Signed-off-by: Nizamudeen A <nia@redhat.com>
* refs/pull/55421/head:
qa/cephfs: add test to verify backtrace update failure on deleted data pool
mds: batch backtrace updates by pool-id when expiring a log segment
mds: dump log segment in segment expiry callback
mds: dump log segment end along with offset
Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
- Implemented earmarking functionality for subvolumes and subvolume groups,
ensuring that they do not share the same subvolume or subvolume group to avoid
data corruption due to unsupported mixed protocol use.
- Added a command to set set/rm earmark from a given subvolume / subvolume group
- Adding __init__.py for python-common/ceph/fs dir to have it as a package.
- Fixed subvolume info command when no earmark is set.
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Fixes some doc lint and also fixed qa tests for having both 3 & 4 protocols
by default in expot config.
- enables mTLS support from dashboard
- adds unit tests related to mTLS support
- can enable mTLS
- can disable mTLS
- inlcuded refactoring from prev commit
mgr/dashboard: Adding group and pool name to service name
- Pre-populating the service name field with the format `nvmeof.<pool_name>.<group_name>`.
- This can be changed by user but by default this value will be there.
- This will help user to quickly fill form and proceed hence improving usability.
- cephadm also uses this format as of now this convention so it will make UI aligned with CLI experience
- updates unit tests to improve coverage
- hides`count` values as that is not needed for 'nvmeof' only hosts and labels required.
Nizamudeen A [Mon, 9 Sep 2024 11:15:15 +0000 (16:45 +0530)]
mgr/dashboard: fix UI modal issues
- Fix bs-modal getting hidden behind navbar
- Reuse the project name for tab title
- Readonly user shows an empty space in the administration dropdown
- Physical Disks Identify modal not opening up
- add e2e in cephadm to make sure the modal always comes up
- Primary action doesn't need to be displayed for the read-only user
Fixes: https://tracker.ceph.com/issues/67547 Signed-off-by: Nizamudeen A <nia@redhat.com>
Add a second method of changing the value of osd_deep_scrub_interval to
remedy the condition indicated by the "PGs not deep-scrubbed in time"
warning.
This procedure was developed by Eugen Block, and is at the time of this
commit available on his blog at
https://heiterbiswolkig.blogs.nde.ag/2024/09/06/pgs-not-deep-scrubbed-in-time/
Co-authored-by: Eugen Block <eblock@nde.ag> Signed-off-by: Zac Dover <zac.dover@proton.me>
osd/scrub: reduce osd_requested_scrub_priority default value
No scrub messages should have a higher priority than
client op messages. The default value should therefore be
below osd_client_op_priority, which is 63.
But as a followup PR would eliminate the special queue
priority for 'requested' scrub messages, the default value
is set to equal osd_scrub_priority.
An indentation of five spaces relative to the previous line creates a
command that is copyable with a single mouse click. This commit adds
those copyabale commands to the procedure in the section "Building
Ceph".
orch: refactor boolean handling in drive group spec
The intent of 42721c03ee6f was to address an issue where boolean
parameters weren't handled correctly.
I noticed that a parameter (`tpm2`) was missed, which made me realize
that maintaining a list of these boolean parameters is necessary.
To simplify things, we should only accept `"true"` or `"false"` (in any case),
allowing us to avoid the need to maintain a list of boolean parameters.
This change introduces a `list_drive_group_spec_bool_arg` to store boolean
arguments related to drive group specifications, simplifying the validation
process for boolean values by directly checking if the values are 'true' or 'false'.
Casey Bodley [Mon, 4 Dec 2023 21:47:12 +0000 (16:47 -0500)]
rgw/role: add rgwrados::role interface for role metadata
move everything from class RadosRole into driver/rados/role.cc and use
RGWSI_SysObj instead of the metadata backend. narrows the RGWRole
interface by handling the name/path objects internally
rgwrados::role::write() adds/remove name and path linkages in case they
change. admin ops don't allow this, but 'metadata put' could upload
arbitrary json that does change them