Ville Ojamo [Fri, 16 Jan 2026 09:43:31 +0000 (16:43 +0700)]
doc/radosgw: change all intra-docs links to use ref (2 of 6)
Part 2 of 6 to make backporting easier. Depends on part 1.
Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.
The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.
Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.
Use confval instead of literal text for 2 configuration keys in
vault.rst.
Ville Ojamo [Fri, 16 Jan 2026 08:55:27 +0000 (15:55 +0700)]
doc/radosgw: change all intra-docs links to use ref (1 of 6)
Part 1 of 6 to make backporting easier. Many of the following parts
depend on this.
Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.
The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.
Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.
Use confval instead of literal text for 2 configuration keys in
vault.rst.
Use Ceph Object Gateway consistently in multisite.rst.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Gil Bregman [Mon, 19 Jan 2026 12:18:03 +0000 (14:18 +0200)]
mgr/cephadm: Add some new fields to the cephadm NVMEoF spec file. Fixes: https://tracker.ceph.com/issues/74446 Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
(cherry picked from commit e872693c151842ea8d6142effe65e604acecf8b8)
Aashish Sharma [Wed, 17 Dec 2025 09:21:14 +0000 (14:51 +0530)]
monitoring: make cluster matcher backward compatible for pre-7.1 metrics
Ceph 18.* adds a `cluster` label to all Prometheus metrics. When
upgrading from earlier releases, historical metrics lack this label
and are excluded by Grafana queries that strictly match on `cluster`.
Update the shared Grafana matcher logic to use a regex matcher that
also matches series without the `cluster` label, restoring visibility
of pre-upgrade metrics while preserving multi-cluster behavior.
Nitzan Mordechai [Tue, 18 Nov 2025 09:37:48 +0000 (09:37 +0000)]
Objecter: respect higher epoch subscription in tick
The OSD and Objecter share the same MonClient. During preboot, a potential
race condition exists where the OSD subscribes to osdmap epoch X, while
the Objecter subscribes to epoch X - 1.
The Objecter's subscription overrides the OSD's subscription. Consequently,
the monitor ignores the request (as it believes the OSD already has the
older map), causing the OSD to hang during preboot.
To fix this, check if a higher epoch is already subscribed before calling
_maybe_request_map during Objecter::tick. If a higher epoch is found,
maintain the existing subscription.
Conflicts:
src/python-common/ceph/cephadm/images.py (conflicts with some
new images from main branch..we just need to change the grafana image's
version)
Afreen Misbah [Tue, 6 Jan 2026 10:47:16 +0000 (16:17 +0530)]
mgr/dashboard: Add full page tearsheet component
Fixes https://tracker.ceph.com/issues/74327
- added "full" page tearsheet
- the full page tearsheet uses a cancel confirmation modal hence added that as well
- as per latest carbon guidelines for tearsheet https://carbondesignsystem.com/community/patterns/create-flows/#anatomy-of-a-full-page
- not added - influencer title and toggle (should be added as per reqs)
Afreen Misbah [Mon, 29 Dec 2025 04:51:36 +0000 (10:21 +0530)]
mgr/dashboard: Add generic wizard component
Fixes https://tracker.ceph.com/issues/74291
- made on top of carbon modal
- carbon design system used - wide tearsheet
- added a step component as well to support navigation code
- added unit tests
Signed-off-by: Afreen Misbah <afreen@ibm.com>
(cherry picked from commit 132a7259c90659eb431b73cbe69ed85cebfa50d4)
- fixes linter errors for scss - alphabetical order
Imran Imtiaz [Wed, 24 Dec 2025 10:14:53 +0000 (10:14 +0000)]
mgr/dashboard: add CRUD API endpoints for consistency group snapshots 2/2
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/74275
Create a consistency group dashboard API endpoint to:
Imran Imtiaz [Mon, 8 Dec 2025 07:59:03 +0000 (07:59 +0000)]
mgr/dashboard: add CRUD API endpoints for consistency group snapshots
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/74258
Create a set of consistency group dashboard API endpoints to:
- List group snapshots
- Get details about a particular snapshot
- Create a snapshot
- Delete a snapshot
Imran Imtiaz [Fri, 12 Dec 2025 10:02:59 +0000 (10:02 +0000)]
mgr/dashboard: add API endpoint to delete consistency group
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/74201
Add a dashboard API endpoint to delete a consistency group.
Imran Imtiaz [Mon, 1 Dec 2025 14:25:07 +0000 (14:25 +0000)]
mgr/dashboard: add API endpoint to delete images from consistency groups
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/74033
Create a consistency group dashboard API endpoint that enables removal
of RBD images from the group.
Imran Imtiaz [Thu, 20 Nov 2025 14:45:32 +0000 (14:45 +0000)]
mgr/dashboard: add GET API endpoint for consistency groups
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/73942
Add a consistency group dashboard API endpoint to get the list of images
in the consistency groups that match the namespace of the group.
Imran Imtiaz [Thu, 13 Nov 2025 10:27:28 +0000 (10:27 +0000)]
mgr/dashboard: add API endpoint to add images to consistency groups
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/73840
Create a consistency group dashboard API endpoint that enables adding
RBD images to the group.
Imran Imtiaz [Wed, 12 Nov 2025 14:04:44 +0000 (14:04 +0000)]
mgr/dashboard: add API endpoint to create consistency groups
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/73821
Add the ability to create a consistency group via the Dashboard API.
Afreen Misbah [Tue, 21 Oct 2025 16:37:46 +0000 (22:07 +0530)]
mgr/dashboard: Generalized errors and validations in forms
Fixes https://tracker.ceph.com/issues/73901
- added a validation directive -`cdValidate` which can be use to set [invalid] form fields
- also added generic template for showing error messages in user password form
- user password form updates that
Nizamudeen A [Thu, 6 Nov 2025 04:53:47 +0000 (10:23 +0530)]
mgr/dashboard: start node virtual-env after starting ceph cluster
in frontend e2e.sh file, we don't need to start the node venv early on
before the ceph cluster is started. we only need it for the `npm` or
`npx` commands. Starting node virtual env and then starting ceph will
cause the ceph cluster to assume the node-env python as the python
environment which breaks the cryptotools call.
So moving the node-env venv start after the ceph is created
The alert CephPGImbalance doesn't take any device classes configured into account. As a result, there can be false positives when using mixed-size OSD disks.
Ref: https://github.com/rook/rook/discussions/13126#discussioncomment-10043490
John Mulligan [Fri, 25 Apr 2025 15:22:26 +0000 (11:22 -0400)]
mgr/dashboard: add an option to control the dashboard crypto caller
Add a mgr config option `crypto_caller` that lets a ceph user override
the default behavior of using the remote crypto caller. Supported
values are `internal` and `remote`.
John Mulligan [Fri, 25 Apr 2025 15:06:41 +0000 (11:06 -0400)]
mgr/cephadm: always use the internal cryptocaller
The cephadm modules needs to use python cryptography module for ssh (via
asyncssh) and thus there's no need to use the remote crypto caller in
cephadm. Configure cephadm to always use the internal cryptocaller.
John Mulligan [Fri, 25 Apr 2025 15:05:46 +0000 (11:05 -0400)]
python-common/cryptotools: catch all failures to read cert
Previously, the internal crypto caller would catch (and convert) some
errors when reading the cert but not all cases. Move the logic to catch
the errors to a common location and do it once consistently.
John Mulligan [Thu, 24 Apr 2025 18:36:58 +0000 (14:36 -0400)]
python-common/cryptotools: unify and organize all endpoint functions
Lightly reorganize and make the "endpoint" functions in cryptotools.py more
consistent and uniform. Use small functions for input and output
handling so that the handling is done the same way throughout. Pass a
pre-constructed crypto caller via the args to then endpoint functions.
Make generating the private key it's own named function rather than
one single (and only) function with overloaded behavior controlled by
a cli switch.
John Mulligan [Wed, 23 Apr 2025 15:23:43 +0000 (11:23 -0400)]
pybind/mgr: fix test case in test_tls.py
Why violate the typing in a test? mypy never noticed this because tests
are not type checked but there seems to be no need to turn a str into
bytes to pass to a function that is typed only as taking str!
John Mulligan [Wed, 23 Apr 2025 15:25:07 +0000 (11:25 -0400)]
python-common/cryptotools: fix error path in verify tls function
The remote verify_tls function was not raising errors when it should.
Fix the function so that it always returns an object when it succeeds or
fails gracefully. Always parse that function in the crypto caller class.
John Mulligan [Wed, 16 Apr 2025 18:56:28 +0000 (14:56 -0400)]
python-common/cryptotools: create CrytpoCaller interface class
Create a class to act as a common shim between the cryptotools external
functions and the mgr. It provides common conversion mechanisms and
could possibly act as an abstraction in case we decide to make
the external function calls in different ways in the future.
Paulo E. Castro [Sat, 5 Apr 2025 20:47:55 +0000 (21:47 +0100)]
pybind/mgr: Hack around the 'ImportError: PyO3 modules may only be initialized once per interpreter process' issue.
Fixes: https://tracker.ceph.com/issues/64213 Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit 717d0a6f3530ad3e07f4423002810327b2addcf1)
Kefu Chai [Wed, 24 Dec 2025 05:55:26 +0000 (13:55 +0800)]
debian/control: add iproute2 to build dependencies
Test scripts like qa/tasks/cephfs/mount.py expect the ip command to be
available in the container environment. Without it, tests fail with:
```
/bin/bash: line 1: ip: command not found
File "/ceph/qa/tasks/cephfs/mount.py", line 96, in cleanup_stale_netnses_and_bridge
p = remote.run(args=['ip', 'netns', 'list'],
...
teuthology.exceptions.CommandFailedError: Command failed with status 127: 'ip netns list'
```
Add iproute2 to the debian package build dependencies when the
<pkg.ceph.check> build profile is enabled. This ensures the package is
available during container-based builds, since buildcontainer-setup.sh
→ script/run-make.sh → install-deps.sh → debian/control → generated
dependency package chain respects build profiles configured via
`FOR_MAKE_CHECK` and `WITH_CRIMSON` environment variables set in
Dockerfile.build.
David Galloway [Tue, 16 Dec 2025 22:08:00 +0000 (17:08 -0500)]
install-deps: Replace apt-mirror
apt-mirror.front.sepia.ceph.com has happened to always work because we set up CNAMEs to gitbuilder.ceph.com.
That host is making its way to a new home upstate (literally and figuratively) so we'll get rid of the front subdomain since it's publicly accessible anyway and add TLS while we're at it.
Devika Babrekar [Thu, 4 Dec 2025 09:58:39 +0000 (15:28 +0530)]
mgr/dashboard: Adding QAT Compression dropdown on RGW Service form
Fixes:https://tracker.ceph.com/issues/74046 Signed-off-by: Devika Babrekar <devika.babrekar@ibm.com>
(cherry picked from commit 70c26cfb441cd46834a73995b3c6d98358e77b52)
Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts
- Removed extra modules which were not the part of tentacle branch
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-form/service-form.component.spec.ts
- Removed USER interface import which is not a part of tentacle branch
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-form/service-form.component.ts
- Removed ModelCdsService which is not a part of tentacle branch