Ville Ojamo [Thu, 5 Mar 2026 06:02:55 +0000 (13:02 +0700)]
doc: Fix link and improve Crimson doc
Fix Seastar external link that was not working.
Capitalize consistently as Crimson, SeaStore in text.
Fix typos including in a label and in a ref using it.
Wrap text at column 80.
Remove unused highlight directive.
Fix article and hyphenation.
Try to reduce amount of commas in text and improve language.
Use already existing label and ref instead of section title for link.
Use confval role for configuration keys in text.
Use an autoclass reference instead of hardcoding URL.
Trim spaces at end of lines and convert tabs to spaces.
Use a colon instead of a hyphen pretending to be an em dash.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
John Mulligan [Wed, 4 Mar 2026 17:44:32 +0000 (12:44 -0500)]
Merge pull request #67534 from phlogistonjohn/jjm-smb-debug-opts
smb: add debug level options to smb cluster resource
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com> Reviewed-by: Avan Thakkar <athakkar@redhat.com> Reviewed-by: Anoop C S <anoopcs@cryptolab.net> Reviewed-by: Adam King <adking@redhat.com>
Ramana Raja [Mon, 29 Dec 2025 22:17:28 +0000 (17:17 -0500)]
mgr/rbd_support: Stagger mirror snapshot and trash purge schedules
Previously, multiple images or namespaces scheduled with the same
interval ran mirror snapshots or trash purges at around the same time,
creating spikes in cluster activity.
This change staggers scheduled jobs by:
- Adding a deterministic phase offset per image or namespace when no
start-time is set.
- Picking a random element from the queue at each scheduled time, rather
than always the first.
Together, these changes spread snapshot and trash purge operations more
evenly over time and improve cluster stability.
Fixes: https://tracker.ceph.com/issues/74288 Signed-off-by: Ramana Raja <rraja@redhat.com>
John Mulligan [Mon, 2 Mar 2026 21:09:16 +0000 (16:09 -0500)]
mgr/smb: reimplement part of the _search_resources function
Reimplement part of the _search_resources function to avoid using yet
another static mapping between the SMBResource type and it's partner
entry type which is one more place you forget to update when you
add a new type. Now, the type mapping is based on the matcher class
and the typ mapping function provided by the internal.py module.
Fixes: 5712016c2133870da3f704d8457358ad06efc87f Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Mon, 2 Mar 2026 21:07:54 +0000 (16:07 -0500)]
mgr/smb: rename func to map_resource_entry to make it public
Rename the _map_resource_entry to map_resource_entry to make it a public
function and enable easier dynamic mapping between smb resource types
and their partner entry types.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Kotresh HR [Wed, 18 Feb 2026 10:48:51 +0000 (16:18 +0530)]
mgr/mirroring: json pretty formatting
The 'daemon status' and 'peer_list' command
out don't support json-pretty format and isn't reader
friendly. This patch adds support of 'json-pretty'
when format='json-pretty' is passed.
Ilya Dryomov [Sun, 1 Mar 2026 21:55:52 +0000 (22:55 +0100)]
qa/workunits/rbd: short-circuit status() if "ceph -s" fails
In mirror-thrash tests, status() can be invoked after one of the
clusters is effectively stopped due to a watchdog bark:
2026-03-01T22:27:38.633 INFO:tasks.daemonwatchdog.daemon_watchdog:thrasher.rbd_mirror.[cluster2] failed
2026-03-01T22:27:38.633 INFO:tasks.daemonwatchdog.daemon_watchdog:BARK! unmounting mounts and killing all daemons
...
2026-03-01T22:32:46.964 INFO:tasks.workunit.cluster1.client.mirror.trial199.stderr:+ status
2026-03-01T22:32:46.964 INFO:tasks.workunit.cluster1.client.mirror.trial199.stderr:+ local cluster daemon image_pool image_ns image
2026-03-01T22:32:46.964 INFO:tasks.workunit.cluster1.client.mirror.trial199.stderr:+ for cluster in ${CLUSTER1} ${CLUSTER2}
In this scenario all commands that are invoked from the loop body
are going to time out anyway.
Ilya Dryomov [Sun, 1 Mar 2026 16:45:51 +0000 (17:45 +0100)]
qa: rbd_mirror_fsx_compare.sh doesn't error out as expected
In mirror-thrash tests, one of the clusters can be effectively stopped
due to a watchdog bark while rbd_mirror_fsx_compare.sh is running and is
in the middle of the "wait for all images" loop:
In this scenario "rbd ls" is going to time out repeatedly, turning the
loop into up to a ~60-hour sleep (up to 720 iterations with a 5-minute
timeout + 10-second sleep per iteration).
Victoria Mackie [Fri, 13 Feb 2026 21:40:01 +0000 (21:40 +0000)]
dashboard: add location field to NVMeoF namespace and gateway group APIs
Namespace location:
- Add location field to Namespace model in nvmeof.py
- Add location parameter to PATCH /api/nvmeof/subsystem/{nqn}/namespace/{nsid}
- Location can now be retrieved via GET and set via PATCH
Gateway group locations:
- Add locations array to gateway group endpoint response
- Extract locations from all gateways in a service group
- Add _get_gateway_locations() helper method using nvme-gw show command
- Locations appear in placement.locations for each service
Signed-off-by: Victoria Mackie <victoriam@uk.ibm.com>
```
283/322 Test #301: run-tox-qa ................................***Failed 92.31 sec
...
flake8: install_deps /ceph/qa> python -I -m pip install flake8
flake8: commands[0] /ceph/qa> flake8 --select=F,E9 --exclude=venv,.tox
./tasks/keycloak.py:51:5: F841 local variable 'os_version' is assigned to but never used
```
Remove the unused os_version assignment to fix flake8 F841 in run-tox-qa.
Ville Ojamo [Mon, 2 Mar 2026 08:26:47 +0000 (15:26 +0700)]
doc/start: Update and fix get-involved.rst
Remove not existing Planet Ceph, Wiki, Commit List rows.
Update Kernel Client, QA, Community mailing list links to working ones.
Use https instead of http.
Fix Ceph calendar link and split the old contribute guide link to a
separate table row.
Remove not working lists.ceph.com external link definition now that it
is unused.
Sort external link definitions in order of use.
Fix invalid space after a hyphen by rewrapping text.
Update Slack invite link.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Shraddha Agrawal [Wed, 25 Feb 2026 11:31:26 +0000 (17:01 +0530)]
doc: reformat crimson docs
This commit rearranges crimson docs so the deployment steps are inorder
to how they are supposed to be executed. Also, it removed `crimson-osd`
referneces as that is an internal detail that users don't need to be
aware of.
Seastar's escaped_string wrapper no longer implicitly converts to a string type.
Update dump_metric_value to call .value() to access the underlying string.
cmake: explicitly support and enable vptr sanitizer
As of Clang 21, -fsanitize=undefined no longer implies vptr.
This adds vptr as an explicit component and provides the necessary compile options to satisfy Seastar's build requirements.
See: https://github.com/scylladb/seastar/commit/c1060ea7d4676df23ce62af96ef2daa768f5de8a for more details
Ville Ojamo [Mon, 2 Mar 2026 07:00:45 +0000 (14:00 +0700)]
doc: Remove markup from CLI example commands
Remove all the remaining stars in the preformatted block CLI example
commands.
Several example CLI commands had stars around placeholder text in
addition to the standard angle brackets. The stars could make sense in
man pages or in text to make the placeholder italic but it will just be
rendered as-is in preformatted text blocks.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Ilya Dryomov [Fri, 27 Feb 2026 14:18:27 +0000 (15:18 +0100)]
qa/tasks: make rbd_mirror_thrash inherit from ThrasherGreenlet
Commit 21b4b89e5280 ("qa/tasks: watchdog terminate thrasher") made it
required for a thrasher to have stop_and_join() method, but the
preceding commit a035b5a22fb8 ("thrashers: standardize stop and join
method names") missed to add it to rbd_mirror_thrash (whether as an
ad-hoc implementation or by way of inheriting from ThrasherGreenlet).
Later on, commit 783f0e3a9903 ("qa: Adding a new class for the
daemonwatchdog to monitor") worsened the issue by expanding the use
of stop_and_join() to all watchdog barks rather than just the case of
a thrasher throwing an exception which is something that practically
never happens.
John Mulligan [Wed, 25 Feb 2026 00:21:55 +0000 (19:21 -0500)]
mgr/smb: add support for configuring log level values
For the "smb" logging set the log level in the samba global
configuration. Allow specifying a true log level or make some
"educated guesses" if a log level "word" is given.
For the "ctdb" logging set the log level via a supported
log level term or take an educated guess that the user wants
info level logging.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Wed, 25 Feb 2026 00:22:03 +0000 (19:22 -0500)]
mgr/smb: add new log_level parameter to cluster resource spec
Allow specifying various log levels via a new log_level dict.
Currently the logging targets are "smb" and "ctdb". The "smb"
level will affect samba services (smbd, winbindd, etc.)
the "ctdb" level will affect ctdbd.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Wed, 25 Feb 2026 00:22:10 +0000 (19:22 -0500)]
mgr/smb: add a simple validation function for log level dict
Add a simple validation function for log level dict. Values in this
dict are expected to vary and will support some amount of "guessing"
so we don't do much with the values.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Wed, 25 Feb 2026 00:20:22 +0000 (19:20 -0500)]
python-common/deployment: add new tunables param to smb service spec
The tunables parameter will serve as a general configuration namespace
for small configuration adjustments that don't deserve their own full
blown config sections.
Keys should be namespaced by "topic" in order to avoid future conflicts.
Initially, this will be used for passing the ctdb debug level.
Signed-off-by: John Mulligan <jmulligan@redhat.com>