Zac Dover [Fri, 23 May 2025 10:24:01 +0000 (20:24 +1000)]
doc/mgr: edit modules.rst.
Edit doc/mgr/modules.rst. Improve some of the English.
This is part of a project to separate out the twenty-five files that
were committed to https://github.com/ceph/ceph/pull/62782.
This commit and the PR of which it is a part includes the changes made
in https://github.com/ceph/ceph/pull/62782 and some corrections to
glaring grammatical errors. However, this file could use a careful
grammar pass. As it currently stands, it contains run-on sentences and
English that is acceptable in conversation but not acceptable in written
communication.
Casey Bodley [Mon, 19 May 2025 21:05:43 +0000 (17:05 -0400)]
doc/rgw: use 'confval' directive to render sts config options
the 'confval' directive reads the config options from
common/options/rgw.yaml and renders them nicely. this keeps
everything consistent between the options and their docs
improve the config option descriptions:
* add existing note about rgw_sts_key length/format
* add example openssl command to generate a conforming sts key
* add notes about sharing sts key between gateways/zones
format the last remaining 'Note' with the 'note' directive
Casey Bodley [Thu, 8 May 2025 19:01:48 +0000 (15:01 -0400)]
rgw: move rados-specific parts of RGWRealmWatcher into ConfigStore
split RGWRealmWatcher in two halves, moving the rados-specific stuff
into a RadosRealmWatcher that inherits from RGWRealmWatcher
add factory function ConfigStore::create_realm_watcher() that returns a
generic RGWRealmWatcher. ConfigStore backends that don't support
watch/notify can return nullptr
rgw::AppMain uses this to avoid relying on checking for a "rados" driver
name, which doesn't work correctly when there are filters on top of the
RadosStore
Ronen Friedman [Wed, 21 May 2025 13:27:30 +0000 (08:27 -0500)]
qa/standalone/scrub: extra delay in osd-scrub-test.sh
Modify TEST_just_deep_scrubs():
The test turns 'no-deep' off, and expects the scrub to be
concluded and reported within a short period. But the PG
already had a chance to try scrubbing (and fail due to
the 'no-deep'), and its 'not-before'
was pushed out by osd_scrub_retry_after_noscrub.
The fix is to reduce the value of osd_scrub_retry_after_noscrub
for this test, and to increase the timeout for the test itself.
mgr/dashboard: Allow the user to re-use existing r
ealm/zg/zone and setup replication
1. Currently, we just allow the user to create a new realm/zg/zone and setup replication using the multi-site replication wizard. The ask is to allow the user to select the pre-existing realm/zg/zone and setup replication via automatic export and import of token as well.
2. Enable rgw module automatically in the selected cluster if its not
enabled
Alexander Gomez [Fri, 4 Apr 2025 17:03:59 +0000 (12:03 -0500)]
mgr/dashboard: scroll up by default when clicking on side navigation
Ensures the side menu scrolls into view when an item (e.g., "Administration") is clicked and goes out of the screen view. This is done with an onClick event in cds-sidenav tag due to limitations in the Carbon Design System that prevent direct access to `onclick` events.
Fixes: https://tracker.ceph.com/issues/66309 Signed-off-by: Alexander Gomez <alexsgdc@gmail.com>
Update src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.ts
Ronen Friedman [Tue, 20 May 2025 07:29:04 +0000 (02:29 -0500)]
osd: move load avg units conversion to the client
The OSD calls OsdScrub::update_load_average() to find out the load
average, and notes it down in a performance counter. The system
load average is multipled by 100 (to improve precision). That
multiplication should be on the side of the client, not the
scrub queue service.
Ronen Friedman [Tue, 20 May 2025 05:21:37 +0000 (00:21 -0500)]
osd/scrub: remove OsdScrub::LoadTracker
As we no longer maintain a 'daily average', and as the interaction
between the load tracker and the scrub scheduler is now much simplified,
we can remove the load tracker entirely.
Venky Shankar [Tue, 20 May 2025 05:28:55 +0000 (10:58 +0530)]
Merge PR #62632 into main
* refs/pull/62632/head:
libcephfs: increment library minor version
test: add test to fetch perf counters via libcephfs API
libcephfs: add API to get client perf counters
client: fix total write operations perf counter name
Mark Kogan [Mon, 19 May 2025 14:52:42 +0000 (14:52 +0000)]
rgw/d3n: fix valgrind invalid read during exit
The valgrind indication is a false positive in this case, is seems there is a race of memory read and free of the libaio and aio kernel threads which had not timer-d out yet during exit()
reducing the aio_idle_time timeout to mitigate
```
man aio_init
...
aio_idle_time
This field specifies the amount of time in seconds that a worker thread
should wait for further requests before terminating, after having
completed a previous request. The
default value is 1.
...
```
Fixes: https://tracker.ceph.com/issues/64835 Signed-off-by: Mark Kogan <mkogan@ibm.com>
Ville Ojamo [Sun, 18 May 2025 05:35:48 +0000 (12:35 +0700)]
doc/man: Fix inline formatting in ceph-bluestore-tool.rst
A space is missing between a token with emphasis and the following
token:
- Not consistent with other commands like "show-label" (has space).
- Inline formatting is rendered verbatim in the second occurrence, without
the formatting being applied.
- Warning from Sphinx.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Ville Ojamo [Thu, 15 May 2025 10:32:29 +0000 (17:32 +0700)]
doc: Use existing labels and ref for hyperlinks in architecture.rst
Use validated ":ref:" hyperlinks instead of "external links" in "target
definitions" when linking within the Ceph docs:
- Update to use existing labels when linkin from architecture.rst.
- Remove unused "target definitions".
Also use title case for section titles in
doc/start/hardware-recommendations.rst because change to use link text
generated from section title.
Other than generated link texts the rendered PR should look the same as
the old docs, only differing in the source RST.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Ronen Friedman [Sat, 17 May 2025 07:17:42 +0000 (02:17 -0500)]
osd/scrub: minimize calls to sysconf() in scrub_load_below_threshold()
Return an 'all is OK' value if the 1min CPU load - even before being
divided by the number of CPUs - is below the configured threshold.
This is a very common case, and avoids the need to call sysconf()
to get the number of CPUs.
Ronen Friedman [Sat, 17 May 2025 06:04:22 +0000 (01:04 -0500)]
osd/scrub: remove the 2'nd option for determining 'low load' for scrubbing
Previously, there were two conditions under which the CPU load was
considered
low enough to allow scrubbing:
- the CPU load was below the configured threshold, or
- the load was below a calculated "daily" average, and lower than the
15-min average.
That second condition was confusing and surprising, and is now removed.
As the scrubber logic no longer requires the 5m & 15m load averages,
scrub_load_below_threshold() can use the data gathered by the
periodic LoadTracker::update_load_average().