]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
3 months agomgr/dashboard: Edit user via UI throwing multiple server errors
Naman Munet [Fri, 24 Oct 2025 05:59:09 +0000 (11:29 +0530)]
mgr/dashboard: Edit user via UI throwing multiple server errors

Fixes: https://tracker.ceph.com/issues/73637
Resolves: rhbz#2403703

Commit includes:
Returning the default user ratelimit when the ratelimit for user is not set, hence eliminating the 500 error on UI

Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit b72071af0beb30ff022bdfa9b9f970309438632a)
(cherry picked from commit 4755f742247b51f28b1a0be56f30d9f443021b3e)

3 months agomgr/cephadm: For updating NFS backends in HAProxy, send a SIGHUP signal to reload...
Shweta Bhosale [Fri, 24 Oct 2025 11:00:16 +0000 (16:30 +0530)]
mgr/cephadm: For updating NFS backends in HAProxy, send a SIGHUP signal to reload the configuration instead of restart
Fixes: https://tracker.ceph.com/issues/73633
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2401776

 Conflicts:
src/pybind/mgr/cephadm/serve.py

3 months agomgr/cephadm: Stop NFS service/daemon from starting automatically after reboot, cephad...
Shweta Bhosale [Thu, 23 Oct 2025 05:50:16 +0000 (11:20 +0530)]
mgr/cephadm: Stop NFS service/daemon from starting automatically after reboot, cephadm to manage startup

Fixes: https://tracker.ceph.com/issues/73442
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2377090

 Conflicts:
src/pybind/mgr/cephadm/serve.py

3 months agoRevert "mgr/cephadm: Restart nfs daemon when same rank daemon is removed"
Shweta Bhosale [Wed, 29 Oct 2025 06:30:26 +0000 (12:00 +0530)]
Revert "mgr/cephadm: Restart nfs daemon when same rank daemon is removed"

This reverts commit 6fc3ac33e179fb67a6435a1bfbbb6c064d53976d.

3 months agofix unreachable code path
Kushal Deb [Wed, 10 Sep 2025 09:53:44 +0000 (15:23 +0530)]
fix unreachable code path

Signed-off-by: Kushal Deb <Kushal.Deb@ibm.com>
Resolves: rhbz#2279848
(cherry-picked from commit 580bf32f4c70699dddc65f571da3c902f66a5b54)

4 months agorgw/dedup: fixes an assertion failure from __snprintf_chk in fortified mode when...
Gabriel BenHanokh [Sun, 26 Oct 2025 15:51:53 +0000 (17:51 +0200)]
rgw/dedup: fixes an assertion failure from __snprintf_chk in fortified mode when handling dedup cluster shard token OIDs.
The issue stems from buffer size validation in string operations.

Resolves: rhbz#2405986

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
4 months agorgw: fix new_key for swift users.
Shilpa Jagannath [Thu, 23 Oct 2025 22:13:44 +0000 (18:13 -0400)]
rgw: fix new_key for swift users.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
(cherry picked from commit 34907631f25f8e7c56be30aa73afb4978056c759)
resolves rhbz#2403487

4 months agorgw/dedup:
Gabriel BenHanokh [Thu, 23 Oct 2025 10:11:51 +0000 (13:11 +0300)]
rgw/dedup:
Resolves: rhbz#2401399

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
4 months agomonitoring: Fix Filesystem grafana dashboard units
Ankush Behl [Mon, 13 Oct 2025 12:43:00 +0000 (18:13 +0530)]
monitoring: Fix Filesystem grafana dashboard units

Fixes: https://tracker.ceph.com/issues/73521
Resolves: rhbz#2405989

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
(cherry picked from commit 3174b4ee9a92917d353e6f9ccf4cda598f3d6c18)
(cherry picked from commit 917433784522895f1294a001679b7d1f984d9b51)

4 months agomgr/dashboard: Fix timestamps in APIs
Afreen Misbah [Tue, 21 Oct 2025 18:20:19 +0000 (23:50 +0530)]
mgr/dashboard: Fix timestamps in APIs

Resolves: rhbz#2403686

- remove 'Z' from rbd APIs which are returning now `aware` timestamp
- `datetime.utcfromtimestamp` is deprectated so using  `datetime.fromtimestamp(timestamp, tz=tz=timezone.utc)` thereby returning only `aware` timestamp and removing 'Z'.
- similarly `datetime.utcnow()` is deprecated , migrated to `datetime.now(timezone.utc)`

https://docs.python.org/3/library/datetime.html#datetime.datetime.utcnow
https://docs.python.org/3/library/datetime.html#datetime.datetime.utcfromtimestamp

Signed-off-by: Afreen Misbah <afreen@ibm.com>
(cherry picked from commit 9b606ad89683c2f196603fc094eb8d4ae96bb5f2)
(cherry picked from commit d6282398de584baa74b7a57e832163f4c8b95521)

4 months agomgr/smb: use lazy_init to create the rados store
Sachin Prabhu [Mon, 18 Aug 2025 17:17:58 +0000 (18:17 +0100)]
mgr/smb: use lazy_init to create the rados store

The rados store is created when the service is deployed.

Also fix a typo identified in _lazy_init()

Signed-off-by: Sachin Prabhu <sp@spui.uk>
(cherry picked from commit 4fc592eb64cce763f155d485330ea7cc342b3eb7)

Resolves: rhbz#2380412

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
4 months agomonitoring: Fixes for smb overview
Ankush Behl [Tue, 14 Oct 2025 10:39:45 +0000 (16:09 +0530)]
monitoring: Fixes for smb overview

Fixes: https://tracker.ceph.com/issues/73535
Resolves: rhbz#2405692

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
(cherry picked from commit 39eabe530509312872a5cddd7ab180964a5996b9)
(cherry picked from commit 97002532ca93e8a714e9f7c736a84a1320bbc37a)

4 months agorgw/multisite: check the local bucket's versioning status when replicating deletion...
Jane Zhu [Tue, 14 Oct 2025 21:57:08 +0000 (21:57 +0000)]
rgw/multisite: check the local bucket's versioning status when replicating deletion from remote

Signed-off-by: Jane Zhu <jzhu116@bloomberg.net>
(cherry picked from commit 7e3d493dc3240fc7c8b2976e0de09cf2ecaebd99)
resolves rhbz#2405377

4 months agocall_home: add service events
Yaarit Hatuka [Mon, 4 Aug 2025 00:28:21 +0000 (20:28 -0400)]
call_home: add service events

Open a support case when these events are detected by Prometheus:

CephMonDiskspaceCritical,
CephOSDFull
CephFilesystemOffline
CephFilesystemDamaged
CephPGsInactive
CephObjectMissing

Users need to populate the IBM Customer Number (ICN) and
customer_country_code fields.

Logs of level 1 and 2 will be uploaded to the ticket after it's open.

Resolves: rhbz#2242911
Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 66f20c29299047d2e365da5a6779b287c2f572af)

4 months agomgr/cephadm: remove logging of service specs in osd.py
Adam King [Fri, 17 Oct 2025 02:31:57 +0000 (22:31 -0400)]
mgr/cephadm: remove logging of service specs in osd.py

Resolves: rhbz#2402769

Signed-off-by: Adam King <adking@redhat.com>
4 months agoceph-volume: lvm.Lvm.setup_metadata_devices refactor
Guillaume Abrioux [Thu, 9 Oct 2025 07:31:58 +0000 (09:31 +0200)]
ceph-volume: lvm.Lvm.setup_metadata_devices refactor

This commit refactors setup_metadata_devices into smaller helper methods.
It keeps the distinction between existing logical volumes and raw devices
explicit, centralizes tag handling and path assignment to make the
control flow obvious and separates responsibilities for checking, creating,
and tagging devices.

Fixes: https://tracker.ceph.com/issues/73445
Resolves: rhbz#2401806

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit f6d2b20dbb7ba18dcd137990dd1637794a8f0d70)
(cherry picked from commit 7fa9223335a58ba2c8782d7bec99c8fe29dd09df)

4 months agopython-common/cryptotools: add funcs for call_home_agent crypto activities
Adam King [Fri, 10 Oct 2025 20:46:03 +0000 (16:46 -0400)]
python-common/cryptotools: add funcs for call_home_agent crypto activities

So that cephadm and the call_home_agent modules aren't both attempting
to import cryptography libraries that cause https://tracker.ceph.com/issues/64213

Resolves: rhbz#2402769

Signed-off-by: Adam King <adking@redhat.com>
4 months agomgr/dashboard: add customizations to table-actions
Naman Munet [Thu, 28 Aug 2025 09:12:00 +0000 (14:42 +0530)]
mgr/dashboard: add customizations to table-actions

Fixes: https://tracker.ceph.com/issues/72764
Resolves: rhbz#2404088

Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit dd06c75e3fe429be496f886aac54831dd7685e5e)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-actions/table-actions.component.html

(cherry picked from commit bcc3d2017c20f4b54e53a87c7684fc6925a254ed)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-multisite-details/rgw-multisite-details.component.html

4 months agomgr/dashboard : Fixed usage bar for secondary site in rbd mirroing
Abhishek Desai [Thu, 9 Oct 2025 07:49:34 +0000 (13:19 +0530)]
mgr/dashboard : Fixed usage bar for secondary site in rbd mirroing
Resolves : rhbz#2383217
fixes : https://tracker.ceph.com/issues/73447
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 60140b1ccc8006325632320e39fc209724524aef)
(cherry picked from commit 87fc968391636cf294cf878e71a5b21357ff564f)

4 months agomgr/dashboard : Fix secure-monitoring-stack creds issue
Abhishek Desai [Wed, 8 Oct 2025 07:10:22 +0000 (12:40 +0530)]
mgr/dashboard : Fix secure-monitoring-stack creds issue
Resolves: rhbz#2346779
Fixes : https://tracker.ceph.com/issues/73379

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 01cb6886bef8a9c8a2c2946fcb7265575e9375d2)
(cherry picked from commit 2140a8fcbe862187c15bac80a39074bdb841271c)

4 months agomgr/dashboard : Skip calls until secure_monitoring_stack is enabled
Abhishek Desai [Tue, 19 Aug 2025 07:11:19 +0000 (12:41 +0530)]
mgr/dashboard : Skip calls until secure_monitoring_stack is enabled
fixes : https://tracker.ceph.com/issues/72635

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 42ce56f4b96a46f01d2078132ced40182aa30d68)
(cherry picked from commit f6d0fa2f043df8c0f5b4f9b11026fcddcd734409)

4 months agomgr/cephadm: configurable per-service stop timeout
Kushal Deb [Tue, 9 Sep 2025 12:02:00 +0000 (17:32 +0530)]
mgr/cephadm: configurable per-service stop timeout

Introduce a termination_grace_period field in service spec to define how long the
orchestrator should wait for a service to shut down gracefully before forcefully terminating it.
The value is plumbed mgr -> cephadm and written into 'unit.stop' as 'podman stop -t <N>'

Resolves: rhbz#2387066

Signed-off-by: Kushal Deb <Kushal.Deb@ibm.com>
(cherry picked from commit a2f2696398c3813cfa420050be5cfd901ab3a4a3)

Conflicts:
src/cephadm/cephadm.py
src/pybind/mgr/cephadm/serve.py
src/python-common/ceph/tests/test_service_spec.py

4 months agoFrom efec6856a67b1525606b4cc2cd2861e30ddf0c48 Mon Sep 17 00:00:00 2001
Matt Benjamin [Tue, 14 Oct 2025 13:21:08 +0000 (09:21 -0400)]
From efec6856a67b1525606b4cc2cd2861e30ddf0c48 Mon Sep 17 00:00:00 2001
From: Gabriel BenHanokh <gbenhano@redhat.com>
Date: Mon, 15 Sep 2025 06:58:23 +0000
Subject: [PATCH] rgw/dedup: add throttling mechanism

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
rgw/dedup: Change throttle code to work lock free and remove the atomic
from the timestamp

Resolves: rhbz#2401399

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
(cherry picked from commit 16ad586dac47fe9d490ed42a8c93072593b699d3)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
4 months agomgr/dashboard: Fix indentation of Release in about panel
Afreen Misbah [Tue, 14 Oct 2025 10:44:52 +0000 (16:14 +0530)]
mgr/dashboard: Fix indentation of Release in about panel

Resolves: rhbz#2107518

Signed-off-by: Afreen Misbah <afreen@ibm.com>
4 months agomgr/dashboard: Remove the time dropdown from grafana iframe.
Abhishek Desai [Thu, 3 Jul 2025 08:25:52 +0000 (13:55 +0530)]
mgr/dashboard: Remove the time dropdown from grafana iframe.
Resolves: rhbz#2393264
fixes: https://tracker.ceph.com/issues/71907

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 8580fd50d8e1c6ce34d6eba0fe3f7e0d82ca02e3)
(cherry picked from commit fe218974727d3f4b79c272e90fe15d60e3b5a4e4)

4 months agomgr/dashboard: fix form modals background
Nizamudeen A [Tue, 14 Oct 2025 07:15:30 +0000 (12:45 +0530)]
mgr/dashboard: fix form modals background

about modals background is overriden globally. restricting that to just
the modal component

Resolves: rhbz#2403700

Signed-off-by: Nizamudeen A <nia@redhat.com>
4 months agomgr/cephadm: Add stick table and haproxy peers in haproxy.cfg for NFS to support...
Shweta Bhosale [Mon, 15 Sep 2025 16:16:21 +0000 (21:46 +0530)]
mgr/cephadm: Add stick table and haproxy peers in haproxy.cfg for NFS to support nfs active-active cluster

Fixes: https://tracker.ceph.com/issues/72906
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2388477

 Conflicts:
src/pybind/mgr/cephadm/schedule.py
src/pybind/mgr/cephadm/serve.py
src/pybind/mgr/cephadm/services/cephadmservice.py

4 months agomgr/cephadm: add the VIP to the internal mgmt-gateway cert SAN list
Redouane Kachach [Thu, 9 Oct 2025 08:55:50 +0000 (10:55 +0200)]
mgr/cephadm: add the VIP to the internal mgmt-gateway cert SAN list

Include the VIP as part of the mgmt-gateway internal server
certificate SAN list when operating in HA mode. Otherwise
the communication between internal services might fail.

Fixes: https://tracker.ceph.com/issues/73384
Resolves: rhbz#2402468

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit f63ebe811b0e3c7c090e35c6d2502c804a0bbec1)

4 months agorgw/logging: fix race condition when name update returns ECANCELED
Yuval Lifshitz [Sun, 12 Oct 2025 14:14:36 +0000 (14:14 +0000)]
rgw/logging: fix race condition when name update returns ECANCELED

* when we get ECANCELED indication from the name set operation we should
  bail out and not continue with the rollover
* this fix revealed a hidden bug where we do not check the existing temp
  name when we do conf change cleanup (rollover)

Fixes: https://tracker.ceph.com/issues/73434
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 78f62f4207b9752d85a9ccbfa3007f2f2cf79d21)

4 months agomgr/dashboard: type the rbd mirror modes
Nizamudeen A [Wed, 17 Sep 2025 11:10:48 +0000 (16:40 +0530)]
mgr/dashboard: type the rbd mirror modes

Resolves: rhbz#2403464

Fixes: https://tracker.ceph.com/issues/72458
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 93e34a7cb58e27f8c60c9b4b3927c2548aff907e)
(cherry picked from commit 90bdd0c640ba5597d33c9ba55ac8b6ad5a9822bb)

4 months agomgr/dashboard: fix rbd form mirroring toggle
Nizamudeen A [Wed, 17 Sep 2025 03:39:54 +0000 (09:09 +0530)]
mgr/dashboard: fix rbd form mirroring toggle

- fix the toggle not working while editing the image
- the rbd form mirroring toggle doesn't disable/enable the mirror mode
when you change the pool.

- also re-arrange the form in a way that the required fields are together.
- disable mirroring when selecting the namespace

Resolves: rhbz#2403464

Fixes: https://tracker.ceph.com/issues/72458
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 1efd37d4b5fc4363c6c86a84ede9c826c94d2c22)
(cherry picked from commit 63e7555a1f3d877faf54047a46e6499ed2cc05e3)

4 months agomgr/dashboard: fix dashboard freeze on missing smb permissions
Pedro Gonzalez Gomez [Wed, 8 Oct 2025 17:25:29 +0000 (19:25 +0200)]
mgr/dashboard: fix dashboard freeze on missing smb permissions

Resolves: rhbz#2400920

Fixes: https://tracker.ceph.com/issues/73436
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@ibm.com>
(cherry picked from commit d987989acc22b7b7359f80b5310441297bf16b72)
(cherry picked from commit 1520e3a2f52952a9133425233c32b3e5b38e4d22)
Signed-off-by: Afreen Misbah <afreen@ibm.com>
Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html

4 months agomgr/orchestrator: stop passing "default_flow_style" flag to yaml dump
Adam King [Fri, 10 Oct 2025 14:48:35 +0000 (10:48 -0400)]
mgr/orchestrator: stop passing "default_flow_style" flag to yaml dump

This seems to not be compatible with pyyaml 6.0

```
File "/lib/python3.12/site-packages/ceph/deployment/service_spec.py", line 1350, in __repr__
 y = yaml.dump(cast(dict, self), default_flow_style=False)
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib64/python3.12/site-packages/yaml/__init__.py", line 253, in dump
 return dump_all([data], stream, Dumper=Dumper, **kwds)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib64/python3.12/site-packages/yaml/__init__.py", line 241, in dump_all
 dumper.represent(data)
File "/lib64/python3.12/site-packages/yaml/representer.py", line 28, in represent
 self.serialize(node)
File "/lib64/python3.12/site-packages/yaml/serializer.py", line 54, in serialize
 self.serialize_node(node, None, None)
File "/lib64/python3.12/site-packages/yaml/serializer.py", line 104, in serialize_node
 self.emit(MappingStartEvent(alias, node.tag, implicit,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Prepared.__init__() got an unexpected keyword argument 'flow_style'
```

and didn't seem to cause any issues with making our specs look
readable in the logs or being able to round-trip specs
when using `ceph orch ls --export` (minus the known bug
around doing so with multi-line certs)

Resolves: rhbz#2402684

Signed-off-by: Adam King <adking@redhat.com>
4 months agomgr/dashboard: change the default max namespace from 4096 to None in subsystem add...
Tomer Haskalovitch [Thu, 9 Oct 2025 06:33:57 +0000 (09:33 +0300)]
mgr/dashboard: change the default max namespace from 4096 to None in subsystem add command to take gw default

Resolves: rhbz#2402658

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 97f54b081537e0ee99317927d8da850b72e4415f)

4 months agorgw/lc: At least wait for |rgw_lc_lock_max_time| while trying to fetch the lc-shard...
kchheda3 [Fri, 19 Sep 2025 20:05:55 +0000 (16:05 -0400)]
rgw/lc: At least wait for |rgw_lc_lock_max_time| while trying to fetch the lc-shard lock to get or update the bucket status.

Currently each lc worker would try 1 second to get the lock on lc_shard to decide on which bucket to process and again 1 second to update the bucket status once bucket is lc processed. However when there are multiple rgws running lc, often shard is locked by the other lc worker or if there are issues when the rados is slow the lock is not processed within 1 second and worker either skips processing the bucket or skips updating the bucket, resulting in miss of LC or miss in updating the bucket status.
So in worst case when other lc worker is already processing a shard, wait for rgw_lc_lock_max_time to get the lock, as any given worker can max hold onto rgw_lc_lock_max_time a given shard.

Fixes: https://tracker.ceph.com/issues/72572
Resolves: rhbz#2401203

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 937ac626afd3bf443edf96aa177854e8eb291af5)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
4 months agorgw/lc: if the buckets last lc processing time is less than start time of current...
kchheda3 [Thu, 18 Sep 2025 20:01:50 +0000 (16:01 -0400)]
rgw/lc: if the buckets last lc processing time is less than start time of current LC session, then continue processing bucket for lC even if the status is not in initalized state.

Currently the logic inside expired_session() would consider an LC session valid for almost 2-3 days, so for some bucket where the lc processing POST status update fails, the next lc session would skip the bucket because the expired_session() would return false as it multiplies the num_seconds_day *2. Instead of hardcoding the logic to 2 days, store the start time for each lc session and then compare the bucket update time with lc_start time, if bucket process time is less then current lc start time, then bucket can be processed as previous session is already expired.

Fixes: https://tracker.ceph.com/issues/72572
Resolves: rhbz#2401203

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 541d13a6305bac9255348eeeef61d0c5096bf5bf)

4 months agotest/libcephfs: add test for fsync on a write delegated inode
Venky Shankar [Mon, 29 Sep 2025 06:44:28 +0000 (06:44 +0000)]
test/libcephfs: add test for fsync on a write delegated inode

Resolves: rhbz#2355723

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit be0c40c89c0556ae7696dfaaf6804684ecfaddeb)

4 months agoclient: adjust `Fb` cap ref count check during synchronous fsync()
Venky Shankar [Mon, 29 Sep 2025 06:41:23 +0000 (06:41 +0000)]
client: adjust `Fb` cap ref count check during synchronous fsync()

cephfs client holds a ref on Fb caps when handing out a write delegation[0].
As fsync from (Ganesha) client holding write delegation will block indefinitely[1]
waiting for cap ref for Fb to drop to 0, which will never happen until the
delegation is returned/recalled.

[0]: https://github.com/ceph/ceph/blob/main/src/client/Delegation.cc#L71
[1]: https://github.com/ceph/ceph/blob/main/src/client/Client.cc#L12438

If an inode has been write delegated, adjust for cap reference count
check in fsync().

Note: This only workls for synchronous fsync() since `client_lock` is
held for the entire duration of the call (at least till the patch leading
upto the reference count check). Asynchronous fsync() needs to be fixed
separately (as that can drop `client_lock`).

Resolves: rhbz#2355723

Fixes: https://tracker.ceph.com/issues/73298
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit d7eca69a5b887e2b65513411280158d06cdb6b3c)

4 months agomgr/dashboard: ns list now support not passing nqn param
Tomer Haskalovitch [Wed, 8 Oct 2025 16:21:46 +0000 (19:21 +0300)]
mgr/dashboard: ns list now support not passing nqn param

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 0419a1a17537917e01950745d3756591d83923da)

4 months agomgr/dashboard: raise exception if both size and rbd_image_size are being passed in...
Tomer Haskalovitch [Thu, 18 Sep 2025 07:58:44 +0000 (10:58 +0300)]
mgr/dashboard: raise exception if both size and rbd_image_size are being passed in ns add

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 3ff7d737bb1934dbfe26d86a819727d9456a6da6)

4 months agomgr/dashboard: support gw get_stats and listener info
Tomer Haskalovitch [Sun, 21 Sep 2025 18:42:49 +0000 (21:42 +0300)]
mgr/dashboard: support gw get_stats and listener info

Update nvmeof/gateway submodule to have the relevant protobuf objects and calls.

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 0ffbf3be8fad64085893afd9acc458ead503fb3b)

# Conflicts:
# src/pybind/mgr/dashboard/services/proto/gateway.proto

4 months agomgr/dashboard: improve search and pagination behavior
Nizamudeen A [Thu, 11 Sep 2025 05:29:47 +0000 (10:59 +0530)]
mgr/dashboard: improve search and pagination behavior

add a throttle to the pagination cycle so that if you repeatedly try to
cycle through the page, it increases the delay. Doing this because
unlike search the button click to change page is deliberate and the
first click to the button should respond immediately.

another thing is that the search with a keyword stores every keystroke i
do in the search field and then after the debouncce interval it sends
all those request one by one.

for eg: if i type 222 it waits 1s for the
debounce timer and then sends a request to find osd with id 2 first then
again 2 and then again 2. Instead it should only send 222 at the end.

Resolves: rhbz#2312512

Fixes: https://tracker.ceph.com/issues/72979
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 5eda016780b91ca46ba394a3a5ef3fd988897ebd)
(cherry picked from commit aa1b1eba918759a4631cf7d02768e8dcc03d6269)

4 months agomgr/dashboard: show loader while changing pages
Nizamudeen A [Thu, 11 Sep 2025 05:25:08 +0000 (10:55 +0530)]
mgr/dashboard: show loader while changing pages

during server side pagination where each pagination cycle is delayed by
1s.

Resolves: rhbz#2312512

Fixes: https://tracker.ceph.com/issues/72979
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 66ce55ae2bc823e39f5f0c9e4f1db7609f85974d)
(cherry picked from commit bb81d3366d5fb7785021bc20f8c2388b52a80996)

4 months agomgr/dashboard: fix missing schedule interval in rbd API
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.

Resolves: rhbz#2392374

Fixes: https://tracker.ceph.com/issues/72977
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 72cebf0126bd07f7d42b0ae7b68646c527044942)

4 months agomgr/dashboard: fix prometheus API error when not configured
Nizamudeen A [Mon, 22 Sep 2025 15:43:52 +0000 (21:13 +0530)]
mgr/dashboard: fix prometheus API error when not configured

Resolves: rhbz#2398040

Fixes: https://tracker.ceph.com/issues/73174
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 0c0e0d436e63fa767da149402fead6a25e513978)
(cherry picked from commit 4689bb4a039ac33353fbf386d1e4feb6254ffebf)

4 months agomgr/dashboard: Rename side-nav panel items
Naman Munet [Mon, 29 Sep 2025 04:51:06 +0000 (10:21 +0530)]
mgr/dashboard: Rename side-nav panel items

Fixes: https://tracker.ceph.com/issues/73252
Resolves: rhbz#2402656

Commit includes changes:
1) Renaming Topic to Notification destination
2) Renaming Tiering to Storage class
3) Renaming Users to User Management
4) fix storage class table refresh after delete
5) Also made changes to internal routing for topic and storage class

Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit 7aac42984c7ea24555ba1f8936a550c39902c389)
(cherry picked from commit 79c4abd9a2521fdb6a373eb205d5a3a74d04e417)

4 months agoblk/kernel: bring "bdev_async_discard" config parameter back.
Igor Fedotov [Wed, 12 Mar 2025 14:42:24 +0000 (17:42 +0300)]
blk/kernel: bring "bdev_async_discard" config parameter back.

To ensure backword compatibility for clusters with this parameter
previously set to true.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit 7b914cb49d50241b2ed7811d8660fce27a80ae39)
(cherry picked from commit 615ca9bfbc279bd0be7c0545b35d681dd168d088)

Resolves: rhbz#2394395

4 months agorgw/dedup: Grant dedup process full RGW permissions.
Gabriel BenHanokh [Sun, 5 Oct 2025 08:29:53 +0000 (08:29 +0000)]
rgw/dedup: Grant dedup process full RGW permissions.
This is necessary to allow for the creation of intermediate SLAB objects on systems configured with Ceph authentication.

Remove bogus assert

Resolves: rhbz#2401399

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
(cherry picked from commit a984ad83e7dfc37d968ba95b7b95c629b8f16670)

4 months agomgr: avoid explicitly dropping ref of MgrOpRequest.request
Milind Changire [Fri, 4 Apr 2025 01:50:02 +0000 (07:20 +0530)]
mgr: avoid explicitly dropping ref of MgrOpRequest.request

Fixes: 66efcaae7a05abaefb12758239b0e1ad5cbd85c9
Fixes: https://tracker.ceph.com/issues/70618
Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit 941c5edac00b750e7a0d40c7f8b12b72d39178dc)
(cherry picked from commit 663e7a3418ed8064bb900ac825e1ffb0832d47e4)

Resolves: rhbz#2383180

4 months agorgw: add rate limit for LIST & DELETE ops
Mark Kogan [Wed, 30 Jul 2025 12:54:19 +0000 (12:54 +0000)]
rgw: add rate limit for LIST & DELETE ops

Add rate limiting specific to LIST ops,
similar to the current rate-limiting
(https://docs.ceph.com/en/latest/radosgw/admin/#rate-limit-management)

Example usage:

```
./bin/radosgw-admin ratelimit set --ratelimit-scope=user --uid=<UID> --max_list_ops=2
./bin/radosgw-admin ratelimit set --ratelimit-scope=user --uid=<UID> --max_delete_ops=2
./bin/radosgw-admin ratelimit enable --ratelimit-scope=user --uid=<UID>

./bin/radosgw-admin ratelimit get --ratelimit-scope=user --uid=<UID>
{
  "user_ratelimit": {
    "max_read_ops": 0,
    "max_write_ops": 0,
    "max_list_ops": 2,
    "max_delete_ops": 2,
    "max_read_bytes": 0,
    "max_write_bytes": 0,
    "enabled": true
  }
}

pkill -9 radosgw
./bin/radosgw -c ./ceph.conf ...

aws --endpoint-url 'http://0:8000' s3 mb s3://bkt
aws --endpoint-url 'http://0:8000' s3 cp  ./ceph.conf s3://bkt

aws --endpoint-url http://0:8000 s3api list-objects-v2 --bucket bkt --prefix 'ceph.conf' --delimiter '/'
{
    "Contents": [
        {
            "Key": "ceph.conf",
            "LastModified": "2025-07-30T13:59:38+00:00",
            "ETag": "\"13d11d431ae290134562c019d9e40c0e\"",
            "Size": 32346,
            "StorageClass": "STANDARD"
        }
    ],
    "RequestCharged": null
}

aws --endpoint-url http://0:8000 s3api list-objects-v2 --bucket bkt --prefix 'ceph.conf' --delimiter '/'
{
    "Contents": [
        {
            "Key": "ceph.conf",
            "LastModified": "2025-07-30T13:59:38+00:00",
            "ETag": "\"13d11d431ae290134562c019d9e40c0e\"",
            "Size": 32346,
            "StorageClass": "STANDARD"
        }
    ],
    "RequestCharged": null
}

aws --endpoint-url http://0:8000 s3api list-objects-v2 --bucket bkt --prefix 'ceph.conf' --delimiter '/'
argument of type 'NoneType' is not iterable

tail -F ./out/radosgw.8000.log | grep beast
...
beast: 0x7fffbbe09780:  [30/Jul/2025:15:44:50.359 +0000] " GET /bkt?list-type=2&delimiter=%2F&prefix=ceph.conf&encoding-type=url HTTP/1.1" 200 535 - "aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-570.28.1.el9_6.x86_64 source/x86_64.rhel.9 prompt/off command/s3api.list-objects-v2" - latency=0.000999995s
beast: 0x7fffbbe09780:  [30/Jul/2025:15:44:53.904 +0000] " GET /bkt?list-type=2&delimiter=%2F&prefix=ceph.conf&encoding-type=url HTTP/1.1" 200 535 - "aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-570.28.1.el9_6.x86_64 source/x86_64.rhel.9 prompt/off command/s3api.list-objects-v2" - latency=0.000999995s
                                                                                                                                           vvv
beast: 0x7fffbbe09780:  [30/Jul/2025:15:44:58.192 +0000] " GET /bkt?list-type=2&delimiter=%2F&prefix=ceph.conf&encoding-type=url HTTP/1.1" 503 228 - "aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-570.28.1.el9_6.x86_64 source/x86_64.rhel.9 prompt/off command/s3api.list-objects-v2" - latency=0.000000000s
beast: 0x7fffbbe09780:  [30/Jul/2025:15:44:58.798 +0000] " GET /bkt?list-type=2&delimiter=%2F&prefix=ceph.conf&encoding-type=url HTTP/1.1" 503 228 - "aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-570.28.1.el9_6.x86_64 source/x86_64.rhel.9 prompt/off command/s3api.list-objects-v2" - latency=0.000999994s
beast: 0x7fffbbe09780:  [30/Jul/2025:15:44:59.807 +0000] " GET /bkt?list-type=2&delimiter=%2F&prefix=ceph.conf&encoding-type=url HTTP/1.1" 503 228 - "aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-570.28.1.el9_6.x86_64 source/x86_64.rhel.9 prompt/off command/s3api.list-objects-v2" - latency=0.000000000s

s3cmd put ./ceph.conf s3://bkt/1
s3cmd put ./ceph.conf s3://bkt/2
s3cmd put ./ceph.conf s3://bkt/3

s3cmd rm s3://bkt/1
s3cmd rm s3://bkt/2
s3cmd rm s3://bkt/3

delete: 's3://bkt/1'
delete: 's3://bkt/2'
WARNING: Retrying failed request: /3 (503 (SlowDown))
WARNING: Waiting 3 sec...
WARNING: Retrying failed request: /3 (503 (SlowDown))
                                      ^^^
```

Fixes: https://tracker.ceph.com/issues/72894
Signed-off-by: Mark Kogan <mkogan@ibm.com>
Update PendingReleaseNotes

Co-authored-by: Yuval Lifshitz <yuvalif@yahoo.com>
Signed-off-by: Mark Kogan <31659604+mkogan1@users.noreply.github.com>
Update PendingReleaseNotes

Co-authored-by: Yuval Lifshitz <yuvalif@yahoo.com>
Signed-off-by: Mark Kogan <31659604+mkogan1@users.noreply.github.com>
(cherry picked from commit dae572d50080609c77d7131cfc99b1fb3f16d31b)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Resolves: rhbz#2393790

4 months agomgr/cephadm: Cephadm support for NFS-Ganesha TLS configuration
Shweta Bhosale [Tue, 23 Sep 2025 15:50:04 +0000 (21:20 +0530)]
mgr/cephadm: Cephadm support for NFS-Ganesha TLS configuration

Fixes: https://tracker.ceph.com/issues/73035
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2395169

 Conflicts:
src/cephadm/cephadmlib/daemons/nfs.py
src/pybind/mgr/cephadm/serve.py
src/pybind/mgr/cephadm/services/nfs.py
src/pybind/mgr/nfs/cluster.py
src/pybind/mgr/nfs/module.py
src/python-common/ceph/deployment/service_spec.py

4 months agomgr/cephadm: Adding support for custom CA cert
Shweta Bhosale [Tue, 23 Sep 2025 12:55:11 +0000 (18:25 +0530)]
mgr/cephadm: Adding support for custom CA cert

Fixes: https://tracker.ceph.com/issues/73035
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2395169

 Conflicts:
src/pybind/mgr/cephadm/services/ingress.py

4 months agoRGW | fixed enqueueing the overwritten object for gc
Ali Masarwa [Tue, 12 Aug 2025 12:15:23 +0000 (15:15 +0300)]
RGW | fixed enqueueing the overwritten object for gc

Resolves: rhbz#2379914

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
(cherry picked from commit 69353cfe247f3757853c1964f1b607b2a4952d94)

4 months agorelease note: add a note that "subvolume info" cmd output can also...
Rishabh Dave [Wed, 4 Jun 2025 06:32:54 +0000 (12:02 +0530)]
release note: add a note that "subvolume info" cmd output can also...

contain "source field" in it.

Resolves: rhbz#2349154
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 37244a7972b9842e3cb8f8ddbd4a1d9ca875bbe3)
(cherry picked from commit 7339f4e45f97cf2ee568a270cc395226f0c8da1c)

4 months agodoc/cephfs: update docs since "subvolume info" cmd output can also...
Rishabh Dave [Wed, 4 Jun 2025 06:28:11 +0000 (11:58 +0530)]
doc/cephfs: update docs since "subvolume info" cmd output can also...

contain source field in it.

Resolves: rhbz#2349154
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 0a029149df824ef0f026af912925d809b31862ef)
(cherry picked from commit 4a1c47909d3a10bf2645373528ec436ace6db466)

Conflicts:
doc/cephfs/fs-volumes.rst
- Absence of fscrypt work on upstream branch but its presence on this
  downstream branch led to this conflict.

4 months agoqa/cephfs: add test to check clone source info's present in...
Rishabh Dave [Fri, 9 May 2025 16:02:27 +0000 (21:32 +0530)]
qa/cephfs: add test to check clone source info's present in...

.meta file of a cloned subvolume after cloning is finished and in the
output of "ceph fs subvolume info" command.

Resolves: rhbz#2349154
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 44cacaf1e46b46f96ac3641cad02f27c4c753532)
(cherry picked from commit cf3347c8742097247c523126aa7f2ca7680320bd)

4 months agomgr/vol: show clone source info in "subvolume info" cmd output
Rishabh Dave [Fri, 9 May 2025 16:40:47 +0000 (22:10 +0530)]
mgr/vol: show clone source info in "subvolume info" cmd output

Include clone source information in output of "ceph fs subvolume info"
command so that users can access this information conveniently.

Resolves: rhbz#2349154
Fixes: https://tracker.ceph.com/issues/71266
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 0ef6da69d993ca58270010e0b458bad0dff29034)
(cherry picked from commit fbba4629cf6182fec31b8d3c391ed86b5b9f9d8f)

4 months agomgr/vol: keep clone source info even after cloning is finished
Rishabh Dave [Thu, 8 May 2025 15:05:39 +0000 (20:35 +0530)]
mgr/vol: keep clone source info even after cloning is finished

Instead of removing the information regarding source of a cloned
subvolume from the .meta file after the cloning has finished, keep it as
it is as the user may find it useful.

Fixes: https://tracker.ceph.com/issues/71266
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit bbacfdae1a2e7eb60f91b75852bcd1096b6e3c84)
(cherry picked from commit 2c9a84a8c949c7ace5d98780819f40ff2c19f544)

4 months agomgr/dashboard: add an option to control the dashboard crypto caller
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -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`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 27c2050e37ed2556e1b2d0e5f6631d51b506ec6f)

Resolves: rhbz#2401206

4 months agomgr/cephadm: always use the internal cryptocaller
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -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.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 2128ffa619c9a4a800fb6394503b8ecc5b16fa96)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: catch all failures to read cert
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -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.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f6ab08783c0f121d33709a2aaecb6087c69ae3f2)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: create module for selecting crypto caller
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
python-common/cryptotools: create module for selecting crypto caller

Add a module to select a desired crypto caller. Update the callers
to use the crypto caller interface.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 0eb2f4b1327e9a0da11db246fcbd0c4ed4d832f0)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: move internal crypto caller to new file
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
python-common/cryptotools: move internal crypto caller to new file

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 0c774d5c767ef9875250de5a95e421a6b837b85e)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: add caller module for base class
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
python-common/cryptotools: add caller module for base class

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit c3dc34a0d55e65694a1b7f2c0d423c4f2f0ed252)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: unify and organize all endpoint functions
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -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.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 552d7b4373afa1a93fe47ce234560b9c8485321d)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: use a main function
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
python-common/cryptotools: use a main function

Use a main function to encapsulate the cli parsing rather than a block
of code in module scope.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit c98e53f1136ebef2ffeb3d191ab2fc49d9728a3d)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: move actual crypto opts into a class
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
python-common/cryptotools: move actual crypto opts into a class

The functions now handle the i/o but allow the crypto function class
to centralize the functions that actually use the crypto libs.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 4e4cfa58c4b124c0b0406619cc14ced0b2422550)

Resolves: rhbz#2401206

4 months agopybind/mgr: fix test case in test_tls.py
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -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!

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 955143ddfb3ea6f5f7b63902a734f17d393da4d8)

Resolves: rhbz#2401206

4 months agomgr/dashboard: replace direct use of bcrypt in dashboard
Justin Caratzas [Mon, 6 Oct 2025 23:25:44 +0000 (19:25 -0400)]
mgr/dashboard: replace direct use of bcrypt in dashboard

Replace a direct usage of bycrypt with our cryptocaller wrapper.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit d2fd81eae98d8dee4f3363616ecd3241b05cf560)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: give the parsers more sensible names
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common/cryptotools: give the parsers more sensible names

Name the parser objects after their functions and not `foo` and `bar`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 5d4eeff0d5d6aa59fef2a6e2055615df3f94210e)

Resolves: rhbz#2401206

4 months agopybind/mgr: Appropriately rename function.
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
pybind/mgr: Appropriately rename function.

Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit 21d6e1d493dc5652b2242ef2e0dc7e1c12714d20)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: Remove ascii and utf-8 references from encode/decode.
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common/cryptotools: Remove ascii and utf-8 references from encode/decode.

Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit e364df3914094b8e1c931a09ff8d6863b6d2845f)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: fix error path in verify tls function
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19: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.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 96a7a72cf414a3dc5c8587d34e80838cc64b71a4)

Resolves: rhbz#2401206

4 months agopybind/mgr: Correct code to ensure cephadm/tests/test_certmgr.py passes.
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
pybind/mgr: Correct code to ensure cephadm/tests/test_certmgr.py passes.

Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit 218d84fc15d818d2df56c92cd71aeb2aa85f1590)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: Always encode, Err via stderr and signal the exit.
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common/cryptotools: Always encode, Err via stderr and signal the exit.

Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit 56d508f9dc1b5503a465cb2b25838a1e81182a49)

Resolves: rhbz#2401206

4 months agopython-common: Correct typo in private_key naming field.
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common: Correct typo in private_key naming field.

Signed-off-by: Paulo E. Castro <pecastro@wormholenet.com>
(cherry picked from commit 4bcab139830eead485412219509fbe390b046aec)

Resolves: rhbz#2401206

4 months agopybind/mgr: update mgr_util to use cryptotools CryptoCaller class
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
pybind/mgr: update mgr_util to use cryptotools CryptoCaller class

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 2b9cf2453f13eb48e43e4eb06c78365c397c50cd)

Resolves: rhbz#2401206

4 months agopython-common: remove unused dir
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common: remove unused dir

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 9dcfde75e460476ccb2054662e6316236326ca09)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: use one single dir for cryptotools
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common/cryptotools: use one single dir for cryptotools

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit a5861c153e3dbb5482afe87525056cf194a436ff)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: create CrytpoCaller interface class
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -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.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 84710f9ed414a8d81e7ebc2d21488fd5f91e51ec)

Resolves: rhbz#2401206

4 months agopython-common/cryptotools: use json for structured output
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
python-common/cryptotools: use json for structured output

Where possible try to use structured output in JSON for easier parsing
and interaction with the parent process.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 6f2d92cc6d6cccf6c84af5e3a3cea26f51a73399)

Resolves: rhbz#2401206

4 months agopybind/mgr: Hack around the 'ImportError: PyO3 modules may only be initialized once...
Justin Caratzas [Mon, 6 Oct 2025 23:25:43 +0000 (19:25 -0400)]
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)

Resolves: rhbz#2401206

4 months agomgr/cephadm: Fixed nfs daemon restart logic when same rank daemon get removed
Shweta Bhosale [Mon, 6 Oct 2025 10:02:51 +0000 (15:32 +0530)]
mgr/cephadm: Fixed nfs daemon restart logic when same rank daemon get removed

Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
Resolves: rhbz#2397780

4 months agoceph-dencoder: add `SnapRealmInfoNew` in ceph-dencoder types
Venky Shankar [Sun, 5 Oct 2025 11:49:04 +0000 (17:19 +0530)]
ceph-dencoder: add `SnapRealmInfoNew` in ceph-dencoder types

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit c31990d8912a7ac847632e7a78fa12b49309d38b)
Resolves: rhbz#2400565
Resolves: https://jsw.ibm.com/browse/ISCE-1465

4 months agosnap_types: fix encode/decode for the newly added fiels in SnapRealmInfoNew
Venky Shankar [Sun, 5 Oct 2025 11:48:49 +0000 (17:18 +0530)]
snap_types: fix encode/decode for the newly added fiels in SnapRealmInfoNew

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 53b71ca1857885541f606832338d513b27f972f3)
Resolves: rhbz#2400565
Resolves: https://jsw.ibm.com/browse/ISCE-1465

4 months agonvmeofgw: fix issue of delete all gws from the pool/group
Leonid Chernin [Tue, 26 Aug 2025 12:34:32 +0000 (15:34 +0300)]
nvmeofgw: fix issue of delete all gws from the pool/group
          when gws not removed from the map

Resolves: rhbz#2390708

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
4 months agomgr/dashboard: fix the separation between CLI and API only commands
Tomer Haskalovitch [Sun, 28 Sep 2025 10:40:45 +0000 (13:40 +0300)]
mgr/dashboard: fix the separation between CLI and API only commands

Resolves: rhbz#2399968

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 7b71919a44ebd21cf60edbe5dbc9d4cc152d6f1a)

4 months agorgw/sts : get-caller-identity fix#72982
Raja Sharma [Tue, 30 Sep 2025 15:46:09 +0000 (21:16 +0530)]
rgw/sts : get-caller-identity fix#72982

Resolves: rhbz#2400177

Tracker: https://tracker.ceph.com/issues/72982

Signed-off-by: Raja Sharma <raja@ibm.com>
(cherry picked from commit b1d819e0ed45ac0e23cb7ae14b2379aa07d98148)

4 months agomgr/dashboard: fix command alias help message
Tomer Haskalovitch [Sun, 21 Sep 2025 09:49:29 +0000 (12:49 +0300)]
mgr/dashboard: fix command alias help message

Resolves: rhbz#2399965

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 30872b2ae746324083f315a2be00144dea048f19)

4 months agomgr/dashboard: fix None force param handling in ns add_host so it won't raise exceptions
Tomer Haskalovitch [Sun, 14 Sep 2025 06:10:22 +0000 (09:10 +0300)]
mgr/dashboard: fix None force param handling in ns add_host so it won't raise exceptions

Resolves: rhbz#2399963

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 38f62c4a379bfbe0bc57ebee4fc1aa6661c75dca)

4 months agomgr/dashboard: add nsid param to ns list command
Tomer Haskalovitch [Wed, 17 Sep 2025 10:50:23 +0000 (13:50 +0300)]
mgr/dashboard: add nsid param to ns list command

Resolves: rhbz#2394006

Signed-off-by: Tomer Haskalovitch <tomer.haska@ibm.com>
(cherry picked from commit 551ff3dbd44c33c556134b319b5e0c97c7518547)

4 months agodoc: update Grafana certificate configuration to use certmgr
Redouane Kachach [Fri, 5 Sep 2025 09:11:41 +0000 (11:11 +0200)]
doc: update Grafana certificate configuration to use certmgr

With the introduction of certmgr, users must register their certificates
via `ceph orch certmgr cert set --hostname ...` instead of the old
config-key method. The updated docs clarify that Grafana certificates
are host-scoped and can only be provided by reference (or default to
cephadm-signed).

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit 2b5efb757a8327feaa8adf3bf21b8f96cd62b317)

4 months agodoc: update RGW HTTPS configuration to use certmgr and new fields
Redouane Kachach [Mon, 8 Sep 2025 13:20:27 +0000 (15:20 +0200)]
doc: update RGW HTTPS configuration to use certmgr and new fields

With the introduction of certmgr, RGW services now support three
certificate sources: cephadm-signed (default), inline, and reference.
Docs have been updated to:

- Show how to provide inline certificates using the new ssl_cert/ssl_key
  fields instead of the deprecated rgw_frontend_ssl_certificate.
- Explain how to register and reference user-provided certs/keys
- Clarify that cephadm-signed certificates remain the default, with
  optional wildcard SANs support.

The usage of rgw_frontend_ssl_certificate is still supported for
backward compatibility, but is now documented as deprecated.

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit e5d4e5b97a061f0716df4da05fa1bb05ea2b3334)

4 months agomgr/cephadm: Remove Grafana self-signed certificate migration logic
Redouane Kachach [Thu, 18 Sep 2025 08:34:52 +0000 (10:34 +0200)]
mgr/cephadm: Remove Grafana self-signed certificate migration logic

Remove the code used to migrate Grafana self-signed certificates, as
it is no longer needed. The certmgr logic now handles generating new
certificates during the upgrade, eliminating the need for any migration
code or logic.

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit 786f28cbb7d63ce46e2ca54c5bb71dc91108400c)

4 months agomgr/cephadm: Remove SSL RGW migration logic
Redouane Kachach [Thu, 25 Sep 2025 15:26:06 +0000 (17:26 +0200)]
mgr/cephadm: Remove SSL RGW migration logic

Remove the special-case code used for RGW service migration, as it is no
longer needed. The certmgr logic now handles populating the certstore
with the corresponding certificate and key entries by reading their values
directly from the spec. During RGW service redeployment as part of the
upgrade, certmgr will ensure the certstore is updated accordingly.

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit 9e05171155075daf96a070037fa2fa14f84b8bfc)

4 months agomgr/cephadm: Fix RGW spec validation for deprecated rgw cert field
Redouane Kachach [Thu, 18 Sep 2025 08:31:14 +0000 (10:31 +0200)]
mgr/cephadm: Fix RGW spec validation for deprecated rgw cert field

Starting from Tentacle, the rgw_frontend_ssl_certificate field has been
deprecated in favor of the new ssl_cert and ssl_key fields. Update the
validation logic to run after this field is automatically transformed into
the new fields, ensuring proper validation of RGW specs.

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit 521e2a9039cab26f3b264052c8109636569ad61b)

4 months agomgr/cephadm: Include mgmt-gateway/oauth2-proxy in upgrade process
Redouane Kachach [Thu, 18 Sep 2025 08:27:58 +0000 (10:27 +0200)]
mgr/cephadm: Include mgmt-gateway/oauth2-proxy in upgrade process

Add the new mgmt-gateway and oauth2-proxy services to the list of
services upgraded by cephadm, ensuring they are updated alongside the
rest of the cephadm-managed services.

Resolves: rhbz#2400686

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit a53f397770dbc6022a803fe11c5e4f5152bbf991)

4 months agomgr/dashboard : Hide suppressed alert on landing page
Abhishek Desai [Tue, 9 Sep 2025 18:53:05 +0000 (00:23 +0530)]
mgr/dashboard : Hide suppressed  alert on landing page
fixes : https://tracker.ceph.com/issues/72944

Resolves: rhbz#2319055

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 280d8f66bf811bf6ca05da4703c4fdadcd89504a)
(cherry picked from commit caed5ffca7207cd7887c1d749d19ae1c7bddc2a5)

4 months agomgr/dashboard : Fixed mirrored image usage info bar
Abhishek Desai [Thu, 7 Aug 2025 07:50:38 +0000 (13:20 +0530)]
mgr/dashboard : Fixed mirrored image usage info bar
fixes : https://tracker.ceph.com/issues/72431

Resolves: rhbz#2383217

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 3a192b7c38e3f1669f3deee31702ba802d7411fd)
(cherry picked from commit d35b384d030114165b1d6fe261f78326c5e945b0)

4 months agomgr/dashboard: Group similar alerts
Abhishek Desai [Fri, 29 Aug 2025 14:29:09 +0000 (19:59 +0530)]
mgr/dashboard: Group similar alerts
fixes : https://tracker.ceph.com/issues/72788

Resolves: rhbz#2400414

Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit cdd74a35103ecea7f8031aed494868fbd618d45b)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard-v3/dashboard/dashboard-v3.component.scss
Accept the incoming changes

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.ts

(cherry picked from commit 4701b11e1bc65591dcdbf60b5ab5d3be9b99dc1a)