Ville Ojamo [Tue, 16 Sep 2025 04:31:00 +0000 (11:31 +0700)]
doc/cephadm: Fix errors and small improvements in services/monitoring.rst
Add that certmgr is new in version Tentacle.
Fix broken links with formatting rendered as text.
Capitalize consistently in text HTTP, YAML, URL, Alertmanager, Grafana,
centralized logging; Prometheus or use inline preformat with lower case
when referring to the module name.
Use inline preformat consistently for CLI commands within text
paragraphs.
Use title case in section titles.
Trim section title underline syntax.
Use consistently pre-formatted blocks bash prompt, YAML.
Start all block formatting paragraphs at the left margin instead of
indenting.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
John Mulligan [Fri, 12 Sep 2025 17:52:25 +0000 (13:52 -0400)]
build-with-container: add argument groups to organize options
Use the argparse add_argument_group feature to organize the mass of
arguments into more sensible categories. Hopefully, someone reading
over the `--help` output can now more easily see options that
are useful rather than being overwhelmed by a wall of text.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
crimson/os/seastore: Remove error on expected logic
In read_meta we should not use ERROR when the key is not found
as this is expected.
Same in _mkfs, if mkfs_done exists we shouldn't use ERROR.
This can be confusing when debugging is disabled and few ERROR log
lines are printed.
Patrick Donnelly [Fri, 12 Sep 2025 19:53:00 +0000 (15:53 -0400)]
common: remove unused attribute
This resolves an obnoxious compiler warning:
[79/768] Building CXX object src/mgr/CMakeFiles/ceph-mgr.dir/__/ceph_mgr.cc.o
In file included from /run/host/home/sepian/ceph/src/global/global_init.h:23,
from /run/host/home/sepian/ceph/src/ceph_mgr.cc:27:
/run/host/home/sepian/ceph/src/common/ceph_context.h:153:42: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
153 | [[maybe_unused]] std::unique_ptr<char> _ex_handler;
| ^~~~~~~~~~~
Fixes: 39af0bc23b3ae2063f8e846b0ff522bafa0f5c27 Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
mds: fix rank 0 marked damaged if stopping fails after Elid flush and log trimmed
steps to reproduce
../src/vstart.sh --debug --new -x --localhost --bluestore
./bin/ceph tell mds.<rank 0> config set mds_kill_shutdown_at 10
./bin/ceph fs set <fs name> down true
wait for a few seconds and will see the following log from take-over mds
and rank 0 is marked damaged
2025-09-11T16:47:24.591+0800 785dabeaa6c0 -1 log_channel(cluster) log [ERR] : No subtrees found for root MDS rank!
2025-09-11T16:47:24.591+0800 785dabeaa6c0 5 mds.beacon.b set_want_state: up:rejoin -> down:damaged
During shutdown_pass after submitting Elid and trimming mdlog, mds log
will now have only ELid event which does nothing at replay.
After replay, no subtree is found.
Fix this by checking whther MDLog contains only one event.
If so, skip the subtree check for rank 0, and allow it to request
STATE_STOPPED just like the other ranks.
Nizamudeen A [Thu, 11 Sep 2025 04:13:13 +0000 (09:43 +0530)]
mgr/dashboard: fix missing schedule interval in rbd API
Fetching the rbd image schedule interval through the rbd_support module
schedule list command
GET /api/rbd will have the following field per image
```
"schedule_info": {
"image": "rbd/rbd_1",
"schedule_time": "2025-09-11 03:00:00",
"schedule_interval": [
{
"interval": "5d",
"start_time": null
},
{
"interval": "3h",
"start_time": null
}
]
},
```
Also fixes the UI where schedule interval was missing in the form and
also disable editing the schedule_interval.
Extended the same thing to the `GET /api/pool` endpoint.
Fixes: https://tracker.ceph.com/issues/72977 Signed-off-by: Nizamudeen A <nia@redhat.com>
* refs/pull/64324/head:
qa/cephfs: fix test_subvolume_group_charmap_inheritance test
doc: add name mangling documentation for subvolume group creation
qa: add tests for name mangling in subvolume group creation
pybind/mgr: add name mangling options to subvolume group creation
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com> Reviewed-by: Patrick Donnelly <pdonnell@ibm.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
rgw/logging: add error message when log_record fails
when log_record fails in journal mode due to issues in the target
bucket, the result code that the client get will be confusing, since
there is no indication that the issue is wit hte target bucket and not
the source bucket on which the client was operating.
the HTTP error message will be used to convey this information.
Venky Shankar [Fri, 29 Aug 2025 07:15:09 +0000 (07:15 +0000)]
qa/cephfs: use fuse mount for volumes/subvolume tests
Using the kernel client is a) not really required existing
volume/subvolume test and b) per-subvolume metrics is only
supported by the user-space client library.
Igor Golikov [Thu, 10 Jul 2025 10:18:57 +0000 (10:18 +0000)]
mds: aggregate and expose subvolume metrics
rank0 periodically receives subvolume metrics from other MDS instances
and aggregate subvolume metrics using sliding window.
The MetricsAggregator exposes PerfCounters and PerfQueries for these
metrics.
Fixes: https://tracker.ceph.com/issues/68931 Signed-off-by: Igor Golikov <igolikov@ibm.com>
Igor Golikov [Thu, 10 Jul 2025 10:17:36 +0000 (10:17 +0000)]
client,mds: add support for subvolume level metrics
Add support for client side metrics collection using SimpleIOMetric
struct and aggregation using AggregatedIOMetrics struct,
Client holds SimpleIOMetrics vector per each subvolume it recognized
(via caps/metadata messages), aggregates them into the
AggregatedIOMetric struct, and sends periodically to the MDS, along
with regulat client metrics.
MDS holds map of subvolume_path -> vector<AggregatedIOMetrics> and sends
it periodically to rank0, for further aggregation and exposure.
Fixes: https://tracker.ceph.com/issues/68929, https://tracker.ceph.com/issues/68930 Signed-off-by: Igor Golikov <igolikov@ibm.com>
Anikait Sehwag [Wed, 25 Jun 2025 06:48:44 +0000 (12:18 +0530)]
mgr/dashboard: Carbonised Toast Notification
Used carbon toast component to carbonise toast notifications
Dashboard: Toast Notification carbonised
This PR replaces the existing ngx-toastr implementation with Carbon Design System toast notifications to maintain UI consistency across the Ceph dashboard application.
libcephfs_proxy: fix userperm pointer decoding for older protocols
The random data used to decode pointers coming from the old protocol was
taken from the client instead of using the global_random data, which is
the correct one.
libcephfs_proxy: remove unnecessary protocol references in daemon
With the new protocol structure definitions, it's not necessary to
explicitly access each field inside its version substructure (v0, for
example). Now all fields of the latest version are declared inside an
anonymous substructure that can be accessed without a prefix.