]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
6 days agonode-proxy: normalize storage data per member
Guillaume Abrioux [Tue, 10 Feb 2026 14:46:03 +0000 (15:46 +0100)]
node-proxy: normalize storage data per member

Let's apply normalize_dict() to each member's data only, so the first
level keys (that are redfish member identifiers like "Self") are not
lowercased.

This avoids duplicate entries in hardware status.

Example:

```
[root@node-proxy-1 cephadm]# ./cephadm shell -- ceph orch hardware status --category criticals
Inferring fsid 9d6d6012-067a-11f1-8e61-525400a04a72
Inferring config /var/lib/ceph/9d6d6012-067a-11f1-8e61-525400a04a72/mon.node-proxy-1/config
+--------------+-----------+------+--------+-------+
|     HOST     | COMPONENT | NAME | STATUS | STATE |
+--------------+-----------+------+--------+-------+
| node-proxy-1 |    self   | None |  N/A   |  N/A  |
| node-proxy-1 |    Self   | None |  N/A   |  N/A  |
+--------------+-----------+------+--------+-------+
```

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 573b90050e9ad8ec17207d0a4eb86995d1fb0b97)

6 days agonode-proxy: encapsulate send logic in dedicated method
Guillaume Abrioux [Thu, 5 Feb 2026 09:01:06 +0000 (10:01 +0100)]
node-proxy: encapsulate send logic in dedicated method

Move the "send data to mgr when inventory changed" logic from main()
into a dedicated method _try_send_update().
This flattens the reporter loop and keeps main() to a single call under
the lock.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 6566399b73c74e26f5f7cf161bc2cbb0e1da2840)

6 days agonode-proxy: log actual data delta in reporter
Guillaume Abrioux [Wed, 4 Feb 2026 14:46:29 +0000 (15:46 +0100)]
node-proxy: log actual data delta in reporter

this adds a _dict_diff() function that computes recursive dict diff
and uses it in reporter to log the delta (truncated at 2048 chars)

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 97d2d0fe756a1fa43253199d8ca30f6ffa4a39cd)

6 days agonode-proxy: add periodic heartbeats in main and reporter loops
Guillaume Abrioux [Wed, 4 Feb 2026 14:15:23 +0000 (15:15 +0100)]
node-proxy: add periodic heartbeats in main and reporter loops

This logs an info message every 5 minutes so that logs show the agent
and reporter are still running when nothing else is logged.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 6bc55026b5554c33b57f727d79caabc0246ccd5e)

6 days agonode-proxy: adjust log levels
Guillaume Abrioux [Wed, 4 Feb 2026 13:16:40 +0000 (14:16 +0100)]
node-proxy: adjust log levels

Let's adjust log levels across the project:

- use warning for bad request in the API,
  when thread is not alive and for retry failure,
- use error for OOB load failure,
- use info for backoff interval,
- use debug in send attempts and for member fetch

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

6 days agonode-proxy: add unit tests
Guillaume Abrioux [Tue, 3 Feb 2026 15:26:16 +0000 (16:26 +0100)]
node-proxy: add unit tests

This adds some unit tests.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 9797d9c44f837e498099b2a083da6ef2a5b3224c)

6 days agonode-proxy: add tox config for mypy, flake8, isort, black
Guillaume Abrioux [Tue, 3 Feb 2026 13:47:54 +0000 (14:47 +0100)]
node-proxy: add tox config for mypy, flake8, isort, black

this adds tox.ini with environments to run mypy, flake8, isort, and
black on the ceph_node_proxy code.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 11e00ad00703bb63dd23097ef07082697c8adfb7)

6 days agonode-proxy: black and isort formatting pass
Guillaume Abrioux [Tue, 3 Feb 2026 13:45:30 +0000 (14:45 +0100)]
node-proxy: black and isort formatting pass

Format the code with black and isort.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit eca4404ba6946b18ece1cef02a9ab0d307bcefd2)
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
6 days agonode-proxy: fix mypy errors
Guillaume Abrioux [Tue, 3 Feb 2026 13:41:13 +0000 (14:41 +0100)]
node-proxy: fix mypy errors

this commit fixes mypy errors by adding explicit types for get_path
and get_* getters methods, extending SystemBackend with
start/shutdown and declaring _ca_temp_file on NodeProxyManager

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 1d8a46cda45ff0c9f97a30eff59204513979a0f8)

6 days agonode-proxy: handle nested Redfish paths for components
Guillaume Abrioux [Tue, 3 Feb 2026 12:22:03 +0000 (13:22 +0100)]
node-proxy: handle nested Redfish paths for components

Add a _resolve_path() helper to support components whose data
lives under nested Redfish paths when assembling component data.

For instance, power is exposed at 'PowerSubsystem/PowerSupplies'

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 6e5b46c1f6490b46a370c66cae2db5d690e2e162)

6 days agonode-proxy: split out config, bootstrap and redfish logic
Guillaume Abrioux [Fri, 30 Jan 2026 15:02:28 +0000 (16:02 +0100)]
node-proxy: split out config, bootstrap and redfish logic

refactor config, bootstrap, redfish layer, and monitoring:

this:
- adds a config module (CephadmCofnig, load_cephadm_config and
get_node_proxy_config) and protocols for api/reporter.
- extracts redfish logic to redfish.py
- adds a vendor registry with entrypoints.
- simplifies main() and NodeProxyManager().

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 64fc7e4daf0b680343c1eacb991618f47c9c77ba)

6 days agonode-proxy: refactor config loading
Guillaume Abrioux [Fri, 30 Jan 2026 14:33:05 +0000 (15:33 +0100)]
node-proxy: refactor config loading

This commit renames CONFIG to DEFAULTS and add load_config() with
deep merge, refactor Config to use path + defaults and makes
node-proxy config path configurable via bootstrap JSON or env.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 7848673c7930489d255aa1714dfcc67475d66227)

6 days agonode-proxy: add 'vendor based' redfish system selection
Guillaume Abrioux [Fri, 30 Jan 2026 14:12:14 +0000 (15:12 +0100)]
node-proxy: add 'vendor based' redfish system selection

This commit adds REDFISH_SYSTEM_CLASSES registry (generic, dell, ...),
this way the user can choose a system class.

The default value is BaseRedfishSystem (generic) when vendor isn't specified.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 179ad62844e739afa70c59a7e6f445c3483c8f71)

6 days agonode-proxy: introduce component spec registry and overrides for updates
Guillaume Abrioux [Thu, 29 Jan 2026 12:27:22 +0000 (13:27 +0100)]
node-proxy: introduce component spec registry and overrides for updates

This change introduces a single COMPONENT_SPECS dict and get_update_spec(component)
as the single source of truth for RedFish component update config (collection, path,
fields, attribute). To support hardware that uses different paths or attributes,
get_component_spec_overrides() allows overriding only those fields (via dataclasses.replace())
without duplicating the rest of the spec.
All _update_network, _update_power, etc. now call _run_update(component).

For instance, AtollonSystem uses this to set the power path to 'PowerSubsystem'.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit a017e03d068450aa7e24e605b73e65e94d677281)

6 days agomgr/cephadm: safe status/health access in node-proxy agent and inventory
Guillaume Abrioux [Thu, 29 Jan 2026 12:14:40 +0000 (13:14 +0100)]
mgr/cephadm: safe status/health access in node-proxy agent and inventory

This adds helpers in NodeProxyEndpoint and NodeProxyCache to safely
read status.health and status.state.

In NodeProxyEndpoint, methods _get_health_value() and _get_state_value()
are used in get_nok_members() to avoid KeyError on malformed data.

In NodeProxyCache, _get_health_value(), _has_health_value(),
_is_error_status(), and _is_unknown_status() are used in fullreport()
and when filtering 'non ok' members instead of accessing
status['status']['health'] inline.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 576817410ffa41afda6b7d0b971b61d8f6a432ce)

6 days agonode-proxy: narrow build_data exception handling and re-raise
Guillaume Abrioux [Thu, 29 Jan 2026 10:38:45 +0000 (11:38 +0100)]
node-proxy: narrow build_data exception handling and re-raise

With this commit, it catches only KeyError, TypeError, and
AttributeError in build_data() instead of Exception, and
re-raise after logging so callers get the actual error.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit ef9405850b96bd45c4dc1de04d9f7e77f642e76d)

6 days agonode-proxy: refactor Endpoint/EndpointMgr and fix chassis paths
Guillaume Abrioux [Thu, 29 Jan 2026 09:48:45 +0000 (10:48 +0100)]
node-proxy: refactor Endpoint/EndpointMgr and fix chassis paths

This commit refactors EndpointMgr and Endpoint to use explicit dicts
instead of dynamic attributes. It also fixes member path filtering
so chassis endpoints use Chassis paths.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit ae7624321ac62475859480c0865db27b66fe8050)

6 days agonode-proxy: use safe field access in storage update
Guillaume Abrioux [Wed, 28 Jan 2026 12:10:26 +0000 (13:10 +0100)]
node-proxy: use safe field access in storage update

Replace direct dictionary access with .get() method when processing
storage fields to handle missing optional fields gracefully.

(extra change: extract get_members_names() call for better readability.)

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit a505a2248bcce45e7d43f90d6f20e72432cb1ca8)

6 days agonode-proxy: reduce log verbosity for missing optional fields
Guillaume Abrioux [Wed, 28 Jan 2026 12:05:04 +0000 (13:05 +0100)]
node-proxy: reduce log verbosity for missing optional fields

Change missing field logging from warning to debug level in
RedfishDellSystem, as missing optional fields can be expected behavior
and and doesn't require warning level logging.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 007f33c5b92245f4e741dc0bfc00b80bdcdc088a)

12 days agoMerge PR #67279 into tentacle 20.2.1_2.17.26-baseline 20.2.1_2.17.26-baseline_2
Patrick Donnelly [Fri, 13 Feb 2026 19:38:54 +0000 (14:38 -0500)]
Merge PR #67279 into tentacle

* refs/pull/67279/head:
librbd: introduce RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT
librbd: prepare lock_acquire() for changing between policies
librbd: fix RequestLockPayload log message in ImageWatcher
librbd: amend error message in lock_acquire()

Reviewed-by: Ramana Raja <rraja@redhat.com>
12 days agoMerge PR #67226 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:21:44 +0000 (10:21 -0500)]
Merge PR #67226 into tentacle

* refs/pull/67226/head:
qa/standalone/availability.sh: retry after feature is turned on

Reviewed-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
12 days agoMerge PR #66839 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:19:44 +0000 (10:19 -0500)]
Merge PR #66839 into tentacle

* refs/pull/66839/head:
vstart.sh: revert unintended allocator type change
os/bluestore: introduce allocator lookup policy
os/bluestore: add free space spatial histogram to adminsock

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
12 days agoMerge PR #66611 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:18:17 +0000 (10:18 -0500)]
Merge PR #66611 into tentacle

* refs/pull/66611/head:
Revert "PrimeryLogPG: don't accept ops with mixed balance_reads and rwordered flags"

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
12 days agoMerge PR #67283 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:14:27 +0000 (10:14 -0500)]
Merge PR #67283 into tentacle

* refs/pull/67283/head:
qa/tasks/qemu: adjust NFS service name for Rocky 10
qa/tasks/qemu: install genisoimage package

Reviewed-by: Ramana Raja <rraja@redhat.com>
12 days agoMerge PR #67282 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:13:51 +0000 (10:13 -0500)]
Merge PR #67282 into tentacle

* refs/pull/67282/head:
qa/workunits/rbd: use the same qemu-iotests version throughout

Reviewed-by: Ramana Raja <rraja@redhat.com>
12 days agoMerge PR #67281 into tentacle
Patrick Donnelly [Fri, 13 Feb 2026 15:13:18 +0000 (10:13 -0500)]
Merge PR #67281 into tentacle

* refs/pull/67281/head:
qa/valgrind.supp: make gcm_cipher_internal suppression more resilient

Reviewed-by: Casey Bodley <cbodley@redhat.com>
13 days agolibrbd: introduce RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT
Ilya Dryomov [Tue, 23 Dec 2025 13:27:18 +0000 (14:27 +0100)]
librbd: introduce RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT

The existing StandardPolicy that exposed as RBD_LOCK_MODE_EXCLUSIVE
argument to rbd_lock_acquire() disables automatic exclusive lock
transitions with "permanent" semantics: any request to release the lock
causes the peer to error out immediately.  Such a lock owner can
perform maintenance operations that are proxied from other peers, but
any write-like I/O issued by other peers will fail with EROFS.

This isn't suitable for use cases where one of the peers wants to
manage exclusive lock manually (i.e. rbd_lock_acquire() is used) but
the lock is acquired only for very short periods of time.  The rest of
the time the lock is expected to be held by other peers that stay in
the default "auto" mode (AutomaticPolicy) and run as usual, completely
unconcerned with each other or the manual-mode peer.  However, these
peers get acutely aware of the manual-mode peer because when it grabs
the lock with RBD_LOCK_MODE_EXCLUSIVE their I/O gets disrupted: higher
layers translate EROFS into generic EIO, filesystems shut down, etc.

Add a new TransientPolicy exposed as RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT
to allow disabling automatic exclusive lock transitions with semantics
that would cause the other peers to block waiting for the lock to be
released by the manual-mode peer.  This is intended to be a low-level
interface -- no attempt to safeguard against potential misuse causing
e.g. indefinite blocking is made.

It's possible to switch between RBD_LOCK_MODE_EXCLUSIVE and
RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT modes of operation both while the
lock is held and after it's released.

Fixes: https://tracker.ceph.com/issues/73824
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 8740544c51781211b82ac45d4bc93b9eb9623e76)

13 days agolibrbd: prepare lock_acquire() for changing between policies
Ilya Dryomov [Mon, 19 Jan 2026 16:43:41 +0000 (17:43 +0100)]
librbd: prepare lock_acquire() for changing between policies

In preparation for adding a new TransientPolicy, get rid of the check
implemented in terms of exclusive_lock::Policy::may_auto_request_lock()
that essentially makes it so that exclusive lock policy on a given
image handle can be changed from the default AutomaticPolicy only once.
In order to effect another change a new image handle would have been
needed which is pretty suboptimal.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 1f9396ff8208accdf334c088745d2734225b34c1)

13 days agolibrbd: fix RequestLockPayload log message in ImageWatcher
Ilya Dryomov [Mon, 22 Dec 2025 18:07:27 +0000 (19:07 +0100)]
librbd: fix RequestLockPayload log message in ImageWatcher

exclusive_lock::Policy::lock_requested() isn't guaranteed to queue
the release of exclusive lock (and in fact only one of the two existing
implementations does that).  Instead of talking about the lock, log the
response to the notification.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ff89abf5ddcca91c34cfd46d288d41fe93ec38b0)

13 days agolibrbd: amend error message in lock_acquire()
Ilya Dryomov [Mon, 22 Dec 2025 16:22:53 +0000 (17:22 +0100)]
librbd: amend error message in lock_acquire()

... since it went stale with commit 2914eef50d69 ("rbd: Changed
exclusive-lock implementation to use the new managed-lock").  In the
context of exclusive lock, requesting the lock refers to a specific
action which may or may not be performed as part of acquiring the lock
and lock_acquire() doesn't get visibility into that.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 9159a2dd032bf47a030260660ff64b5be2d72648)

13 days agoqa/valgrind.supp: make gcm_cipher_internal suppression more resilient
Ilya Dryomov [Tue, 11 Nov 2025 20:39:58 +0000 (21:39 +0100)]
qa/valgrind.supp: make gcm_cipher_internal suppression more resilient

gcm_cipher_internal() and ossl_gcm_stream_final() make it to the stack
trace only on CentOS Stream 9.  On Ubuntu 22.04 and Rocky 10, it looks
as follows:

Thread 4 msgr-worker-1:
Conditional jump or move depends on uninitialised value(s)
   at 0x70A36D4: ??? (in /usr/lib64/libcrypto.so.3.2.2)
   by 0x70A39A1: ??? (in /usr/lib64/libcrypto.so.3.2.2)
   by 0x6F8A09C: EVP_DecryptFinal_ex (in /usr/lib64/libcrypto.so.3.2.2)
   by 0xB498C1F: ceph::crypto::onwire::AES128GCM_OnWireRxHandler::authenticated_decrypt_update_final(ceph::buffer::v15_2_0::list&) (crypto_onwire.cc:271)
   by 0xB4992D7: ceph::msgr::v2::FrameAssembler::disassemble_preamble(ceph::buffer::v15_2_0::list&) (frames_v2.cc:281)
   by 0xB482D98: ProtocolV2::handle_read_frame_preamble_main(std::unique_ptr<ceph::buffer::v15_2_0::ptr_node, ceph::buffer::v15_2_0::ptr_node::disposer>&&, int) (ProtocolV2.cc:1149)
   by 0xB475318: ProtocolV2::run_continuation(Ct<ProtocolV2>&) (ProtocolV2.cc:54)
   by 0xB457012: AsyncConnection::process() (AsyncConnection.cc:495)
   by 0xB49E61A: EventCenter::process_events(unsigned int, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*) (Event.cc:492)
   by 0xB49EA9D: UnknownInlinedFun (Stack.cc:50)
   by 0xB49EA9D: UnknownInlinedFun (invoke.h:61)
   by 0xB49EA9D: UnknownInlinedFun (invoke.h:111)
   by 0xB49EA9D: std::_Function_handler<void (), NetworkStack::add_thread(Worker*)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (std_function.h:290)
   by 0xBB11063: ??? (in /usr/lib64/libstdc++.so.6.0.33)
   by 0x4F17119: start_thread (in /usr/lib64/libc.so.6)

The proposal to amend the existing suppression so that it's tied to the
specific callsite rather than libcrypto internals [1] received a thumbs
up from Radoslaw.

[1] https://github.com/ceph/ceph/pull/61689#issuecomment-2650179891

Fixes: https://tracker.ceph.com/issues/74672
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit d85265eab4f9344f0d08330f737ce9d7be32d716)

13 days agoqa/workunits/rbd: use the same qemu-iotests version throughout
Ilya Dryomov [Thu, 29 Jan 2026 20:25:55 +0000 (21:25 +0100)]
qa/workunits/rbd: use the same qemu-iotests version throughout

"platform:el10" could be appended to the grep pattern for v2.11.0 but
we no longer test on any distro needing v2.3.0 or v2.2.0-rc3.

Fixes: https://tracker.ceph.com/issues/74671
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 825ec0d9bb21140b8732257bbe45503179790ef7)

13 days agoqa/tasks/qemu: adjust NFS service name for Rocky 10
Ilya Dryomov [Tue, 11 Nov 2025 17:31:56 +0000 (18:31 +0100)]
qa/tasks/qemu: adjust NFS service name for Rocky 10

Fixes: https://tracker.ceph.com/issues/74670
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit e6b08ae02b5fffdd95c9627dff91d756b0329b6e)

13 days agoqa/tasks/qemu: install genisoimage package
Ilya Dryomov [Tue, 11 Nov 2025 15:33:16 +0000 (16:33 +0100)]
qa/tasks/qemu: install genisoimage package

genisoimage is expected to be included in our base images but currently
isn't on Rocky 10.  Since it's quite a niche thing, let's install the
package explicitly.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit dffdcb6b02ff792d54be6c577eb3b5b03722f166)

13 days agoMerge PR #66452 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 13:57:40 +0000 (08:57 -0500)]
Merge PR #66452 into tentacle

* refs/pull/66452/head:
doc/cephfs: fix doc for config option pause_cloning
doc/cephfs: fix doc for pause_purging config option

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
13 days agoMerge PR #67002 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 13:36:52 +0000 (08:36 -0500)]
Merge PR #67002 into tentacle

* refs/pull/67002/head:
doc: fetch releases from main branch

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2 weeks agoMerge PR #66877 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 04:13:03 +0000 (23:13 -0500)]
Merge PR #66877 into tentacle

* refs/pull/66877/head:
pybind/mgr/dashboard/tox.ini: use up-to-date rstcheck invocations
pybind/mgr/dashboard/requirements-lint.txt: re-pin rstcheck

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 weeks agoMerge PR #66861 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 01:48:34 +0000 (20:48 -0500)]
Merge PR #66861 into tentacle

* refs/pull/66861/head:
systemd services: fix installing ceph-volume@

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoMerge PR #66991 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 01:10:55 +0000 (20:10 -0500)]
Merge PR #66991 into tentacle

* refs/pull/66991/head:
mgr/volumes: remove unnecessary log error lines from earmark handling

Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agodoc: fetch releases from main branch
Patrick Donnelly [Thu, 15 Jan 2026 16:35:34 +0000 (11:35 -0500)]
doc: fetch releases from main branch

So we do not need to backport actual EOL dates.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 4e57701c59d43d8b2e51b99664ba529cbf9445a8)

2 weeks agoMerge PR #64687 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 00:57:01 +0000 (19:57 -0500)]
Merge PR #64687 into tentacle

* refs/pull/64687/head:
mon/MgrMonitor: add a space before "is already disabled"

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoMerge PR #65761 into tentacle
Patrick Donnelly [Thu, 12 Feb 2026 00:54:33 +0000 (19:54 -0500)]
Merge PR #65761 into tentacle

* refs/pull/65761/head:
.github: pin GH Actions to SHA-1 commit

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2 weeks agoMerge PR #67296 into tentacle
Patrick Donnelly [Wed, 11 Feb 2026 19:37:08 +0000 (14:37 -0500)]
Merge PR #67296 into tentacle

* refs/pull/67296/head:
doc: Remove sphinxcontrib-seqdiag Python package from RTD builds

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2 weeks agoMerge pull request #66871 from pdvian/wip-73963-tentacle
Laura Flores [Wed, 11 Feb 2026 19:01:48 +0000 (13:01 -0600)]
Merge pull request #66871 from pdvian/wip-73963-tentacle

tentacle: pybind/mgr/pg_autoscaler: Introduce dynamic threshold to improve scal…

2 weeks agoMerge PR #67285 into tentacle
Patrick Donnelly [Wed, 11 Feb 2026 18:45:00 +0000 (13:45 -0500)]
Merge PR #67285 into tentacle

* refs/pull/67285/head:
qa/workunits/nvmeof/basic_tests: use nvme-cli 2.13

Reviewed-by: Aviv Caro <Aviv.Caro@ibm.com>
2 weeks agodoc: Remove sphinxcontrib-seqdiag Python package from RTD builds
Ville Ojamo [Mon, 5 Jan 2026 06:10:45 +0000 (13:10 +0700)]
doc: Remove sphinxcontrib-seqdiag Python package from RTD builds

This is a proactive PR to avoid breaking docs builds when Setuptools 81
starts to be used in the RTD builds process.

The sphnixcontrib-seqdiag Python package is not compatible with
Setuptools 81 or later due to use of pkg_resources:
https://setuptools.pypa.io/en/latest/pkg_resources.html

Setuptools 81 release should be imminent, with the Python deprecation
warning stating pkg_resources "removal as early as 2025-11-30".

Seqdiag seems to be unmaintained with the latest update at Pypi in
the year 2021 and also no updates to the seqdiag git repo.

There are no seqdiag directives left in the docs after last seqdiags
were removed in PR #52308.

Two other options would exist for fixing the situation (see PR for
discussion) but this seems to be the suitable one.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
(cherry picked from commit 15481e509b4d644d0644188501d86a4ceda2c039)

2 weeks agoMerge pull request #67014 from rhcs-dashboard/wip-74485-tentacle
Afreen Misbah [Tue, 10 Feb 2026 21:30:00 +0000 (03:00 +0530)]
Merge pull request #67014 from rhcs-dashboard/wip-74485-tentacle

tentacle: mgr/dashboard: carbonize-delete-zonegroup-modal

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 weeks agoMerge PR #66865 into tentacle
Patrick Donnelly [Tue, 10 Feb 2026 16:20:19 +0000 (11:20 -0500)]
Merge PR #66865 into tentacle

* refs/pull/66865/head:
scripts/build/ceph.spec.in: fix rhel version checks

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 weeks agoMerge PR #66584 into tentacle
Patrick Donnelly [Tue, 10 Feb 2026 16:19:20 +0000 (11:19 -0500)]
Merge PR #66584 into tentacle

* refs/pull/66584/head:
mon: Add command "nvme-gw listeners"

Reviewed-by: Samuel Just <sjust@redhat.com>
2 weeks agoMerge PR #66537 into tentacle
Patrick Donnelly [Tue, 10 Feb 2026 16:18:43 +0000 (11:18 -0500)]
Merge PR #66537 into tentacle

* refs/pull/66537/head:
tools: handle get-attr as read-only ops in ceph_objectstore_tool

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
2 weeks agoMerge pull request #66940 from Hezko/wip-74419-tentacle
Afreen Misbah [Tue, 10 Feb 2026 10:58:44 +0000 (16:28 +0530)]
Merge pull request #66940 from Hezko/wip-74419-tentacle

tentacle: mgr/dashboard: add indentation to the json output of nvmeof cli commands

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2 weeks agoqa/workunits/nvmeof/basic_tests: use nvme-cli 2.13
Vallari Agrawal [Tue, 3 Feb 2026 15:02:17 +0000 (20:32 +0530)]
qa/workunits/nvmeof/basic_tests: use nvme-cli 2.13

Install nvme version 2.13 (instead of latest nvme
ver 2.16). This is because nvme-cli 2.16 has a bug
in 'nvme list-subsys' command on centos9.

Fixes: https://tracker.ceph.com/issues/74615
Co-authored-by: barakda <barak.davidov@gmail.com>
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
(cherry picked from commit b22d94960eb6ae5a094bc4ab50e6c59cce7972c5)

2 weeks agoMerge pull request #67150 from leonidc/wip-74692-tentacle
leonidc [Mon, 9 Feb 2026 08:13:58 +0000 (10:13 +0200)]
Merge pull request #67150 from leonidc/wip-74692-tentacle

tentacle: Fast failover

2 weeks agoMerge pull request #67137 from JonBailey1993/wip-74667-tentacle
NitzanMordhai [Sun, 8 Feb 2026 07:57:37 +0000 (09:57 +0200)]
Merge pull request #67137 from JonBailey1993/wip-74667-tentacle

tentacle: osd: Fix for num_bytes mismatch occurring from snapshot workloads with partial writes in fast_ec

2 weeks agoMerge pull request #66355 from k0ste/wip-73741-tentacle
NitzanMordhai [Sun, 8 Feb 2026 07:56:59 +0000 (09:56 +0200)]
Merge pull request #66355 from k0ste/wip-73741-tentacle

tentacle: bluestore/BlueFS: fix bytes_written_slow counter with aio_write

2 weeks agoMerge pull request #65701 from NitzanMordhai/wip-73287-tentacle
NitzanMordhai [Sun, 8 Feb 2026 07:56:27 +0000 (09:56 +0200)]
Merge pull request #65701 from NitzanMordhai/wip-73287-tentacle

tentacle: osd/PeeringState: re-evaluate full OSDs while waiting for recovery re…

2 weeks agoMerge pull request #66297 from idryomov/wip-69492-tentacle
Ilya Dryomov [Sat, 7 Feb 2026 10:08:12 +0000 (11:08 +0100)]
Merge pull request #66297 from idryomov/wip-69492-tentacle

tentacle: rbd-mirror: add cluster fsid to remote meta cache key

Reviewed-by: Mykola Golub <mykola.golub@clyso.com>
2 weeks agoMerge pull request #67163 from idryomov/wip-74676-tentacle
Yuri Weinstein [Fri, 6 Feb 2026 16:17:02 +0000 (08:17 -0800)]
Merge pull request #67163 from idryomov/wip-74676-tentacle

tentacle: qa/tasks/rbd_mirror_thrash: don't use random.randrange() on floats

Reviewed-by: Ramana Raja <rraja@redhat.com>
2 weeks agoMerge pull request #67154 from idryomov/wip-74669-tentacle
Yuri Weinstein [Fri, 6 Feb 2026 16:16:09 +0000 (08:16 -0800)]
Merge pull request #67154 from idryomov/wip-74669-tentacle

tentacle: qa/workunits/rbd: reduce randomized sleeps in live import tests

Reviewed-by: Miki Patel <miki.patel132@gmail.com>
2 weeks agoMerge pull request #67152 from idryomov/wip-74601-tentacle
Yuri Weinstein [Fri, 6 Feb 2026 16:15:01 +0000 (08:15 -0800)]
Merge pull request #67152 from idryomov/wip-74601-tentacle

tentacle: qa/workunits/rbd: adapt rbd_mirror.sh for trial nodes

Reviewed-by: Miki Patel <miki.patel132@gmail.com>
2 weeks agoMerge pull request #66628 from idryomov/wip-74168-tentacle
Yuri Weinstein [Fri, 6 Feb 2026 16:13:24 +0000 (08:13 -0800)]
Merge pull request #66628 from idryomov/wip-74168-tentacle

tentacle: librbd: fix ExclusiveLock::accept_request() when !is_state_locked()

Reviewed-by: Ramana Raja <rraja@redhat.com>
2 weeks agoMerge pull request #66649 from rhcs-dashboard/wip-74233-tentacle
Afreen Misbah [Thu, 5 Feb 2026 11:12:30 +0000 (16:42 +0530)]
Merge pull request #66649 from rhcs-dashboard/wip-74233-tentacle

tentacle: mgr/dashboard: carbonized-multisite-export-realm-token-modal

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
3 weeks agoqa/standalone/availability.sh: retry after feature is turned on
Shraddha Agrawal [Tue, 3 Feb 2026 12:26:18 +0000 (17:56 +0530)]
qa/standalone/availability.sh: retry after feature is turned on

This commit adds a retry to ensure we wait for availability score
to be reported after it is turned on and do not fail early.

Fixes: https://tracker.ceph.com/issues/74178
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
(cherry picked from commit 2d2f2491ebefd39438b8caa75d0ec1aeb88293a0)

3 weeks agoMerge pull request #67196 from rhcs-dashboard/wip-74740-tentacle
Nizamudeen A [Thu, 5 Feb 2026 09:36:37 +0000 (15:06 +0530)]
Merge pull request #67196 from rhcs-dashboard/wip-74740-tentacle

tentacle: qa/tests: wait for module to be available for connection

Reviewed-by: Abhishek Desai <abhishek.desai1@ibm.com>
3 weeks agoqa/tasks: fix import error
Nizamudeen A [Wed, 4 Feb 2026 06:39:46 +0000 (12:09 +0530)]
qa/tasks: fix import error

```
2026-02-04 06:04:16,385.385 INFO:__main__:    from .helper import DashboardTestCase, MgrModuleTestCase
2026-02-04 06:04:16,385.385 INFO:__main__:ImportError: cannot import name 'MgrModuleTestCase' from 'tasks.mgr.dashboard.helper' (/home/jenkins-build/build/workspace/ceph-api/qa/tasks/mgr/dashboard/helper.py)
```

Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 99e46d2cf05ed16e9f26bee191d2e789bfc10970)

3 weeks agoMerge pull request #66825 from aainscow/wip-74345-tentacle
Alex Ainscow [Wed, 4 Feb 2026 08:37:43 +0000 (08:37 +0000)]
Merge pull request #66825 from aainscow/wip-74345-tentacle

tentacle: osd/ECUtil: Fix erase_after_ro_offset length calculation and add tests

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoMerge pull request #66760 from VallariAg/wip-73322-tentacle
Vallari Agrawal [Wed, 4 Feb 2026 08:26:39 +0000 (13:56 +0530)]
Merge pull request #66760 from VallariAg/wip-73322-tentacle

tentacle: prometheus: Add Cephadm orch ps output metric to prometheus

3 weeks agomgr/dashboard: carbonized-multisite-export-realm-token-modal
Sagar Gopale [Tue, 9 Dec 2025 14:36:39 +0000 (20:06 +0530)]
mgr/dashboard: carbonized-multisite-export-realm-token-modal

Fixes: https://tracker.ceph.com/issues/74162
Signed-off-by: Sagar Gopale <sagar.gopale@ibm.com>
(cherry picked from commit 25644b4bdd1fa27b5c7445b27ab98084f05da5f7)

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

Signed-off-by: Sagar Gopale <sagar.gopale@ibm.com>
3 weeks agoqa/tests: wait for module to be available for connection
Nizamudeen A [Tue, 3 Feb 2026 08:03:08 +0000 (13:33 +0530)]
qa/tests: wait for module to be available for connection

Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 91deafeb1bdaee818e76cd4f09cc36d7b3d71d38)

3 weeks agoMerge pull request #67184 from kshtsk/wip-74592-tentacle
David Galloway [Tue, 3 Feb 2026 21:21:12 +0000 (16:21 -0500)]
Merge pull request #67184 from kshtsk/wip-74592-tentacle

tentacle: qa/workunits/rgw: drop netstat usage

3 weeks agoMerge pull request #67140 from afreen23/wip-74665-tentacle
Afreen Misbah [Tue, 3 Feb 2026 20:20:22 +0000 (01:50 +0530)]
Merge pull request #67140 from afreen23/wip-74665-tentacle

tentacle: mgr/dashboard: fetch all namespaces in a gateway group

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
3 weeks agoMerge pull request #66916 from pdvian/wip-73547-tentacle
Yuri Weinstein [Tue, 3 Feb 2026 17:21:15 +0000 (09:21 -0800)]
Merge pull request #66916 from pdvian/wip-73547-tentacle

tentacle: monc: synchronize tick() of MonClient with shutdown()

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 weeks agoMerge pull request #67100 from rhcs-dashboard/wip-74611-tentacle
Afreen Misbah [Tue, 3 Feb 2026 16:14:09 +0000 (21:44 +0530)]
Merge pull request #67100 from rhcs-dashboard/wip-74611-tentacle

tentacle: mgr/dashboard: carbonize-delete-zone-modal

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
3 weeks agoMerge pull request #67118 from afreen23/wip-74472-tentacle
Afreen Misbah [Tue, 3 Feb 2026 15:02:24 +0000 (20:32 +0530)]
Merge pull request #67118 from afreen23/wip-74472-tentacle

tentacle: mgr/dashboard: Add overview page and change 'Dashboard' to 'Overview'

Reviewed-by: Nizamudeen A <nia@redhat.com>
3 weeks agoqa/workunits/rgw: drop netstat usage
Kyr Shatskyy [Fri, 21 Nov 2025 21:20:04 +0000 (22:20 +0100)]
qa/workunits/rgw: drop netstat usage

The `netstat` is deprecated now in modern Linux and usually
requires an extra package dependency to be installed.
Usually it is `net-tools`, however, for example, opensuse,
`netstat` does not present in it. Thus, let us use `ss` as
an alternative.

When using `netstat -nltp` we get lines like:
   'tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      25156/valgrind.bin  \ntcp6       0      0 :::443                  :::*                    LISTEN      25156/valgrind.bin  \n'
When using `ss -nltp` we get lines like:
   'LISTEN 0      4096           0.0.0.0:443       0.0.0.0:*    users:(("memcheck-amd64-",pid=66045,fd=72))'
so we need to filter processes by `memcheck`. However further
parsing code works equivalently as for netstat.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
(cherry picked from commit 82063f99024a8937dfa105e0828beda1bc730247)

3 weeks agoosd/ECUtil: Fix erase_after_ro_offset length calculation and add tests
Alex Ainscow [Fri, 2 Jan 2026 18:47:37 +0000 (18:47 +0000)]
osd/ECUtil: Fix erase_after_ro_offset length calculation and add tests

 System test logs showed EC recovery failures with assertion errors when
 recovering small objects (smaller than stripe width) in EC pools.
 The recovery would fail with "shard_size >= tobj_size" assertions
 because shards that should be empty incorrectly contained data.

 The primary change in this commit fixes a bug in
 shard_extent_map_t::erase_after_ro_offset() where the length
 calculation was incorrect:

   sinfo->ro_range_to_shard_extent_set(ro_offset, ro_end - ro_start, ...)

 Should be:

   sinfo->ro_range_to_shard_extent_set(ro_offset, ro_end - ro_offset, ...)

 When ro_offset < ro_start, the incorrect calculation caused data that
 should be erased to remain on shards, leading to recovery failures.

 Additionally, this commit adds 13 comprehensive unit tests to TestECUtil
 that thoroughly exercise erase_after_ro_offset across various edge cases,
 including the critical scenario of objects smaller than stripe width where
 some shards should remain empty. These tests successfully catch the bug
 when it is re-introduced.

 Note: The unit tests in this commit were generated with assistance from
 an LLM (Large Language Model) and subsequently validated and refined.

Fixes: https://tracker.ceph.com/issues/74329
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
(cherry picked from commit a60c86ae0a8db3f37832de779341d1df7510d9dd)

3 weeks agoMerge pull request #66978 from rhcs-dashboard/wip-74443-tentacle
Pedro Gonzalez Gomez [Tue, 3 Feb 2026 09:55:35 +0000 (10:55 +0100)]
Merge pull request #66978 from rhcs-dashboard/wip-74443-tentacle

tentacle: mgr/dashboard: carbonize service form

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 weeks agomon: Add command "nvme-gw listeners"
Vallari Agrawal [Thu, 25 Sep 2025 04:51:03 +0000 (10:21 +0530)]
mon: Add command "nvme-gw listeners"

This command will help to list all existing listeners,
even when they are not in OMAP (eg, auto-listeners).

Fixes: https://tracker.ceph.com/issues/73782
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
(cherry picked from commit 7e106fd9612b032058167f20fb8723ffc3bf5a46)

3 weeks agoMerge pull request #67147 from afreen23/wip-74527-tentacle
Afreen Misbah [Tue, 3 Feb 2026 08:58:41 +0000 (14:28 +0530)]
Merge pull request #67147 from afreen23/wip-74527-tentacle

tentacle: mgr/dashboard: Add productive card component

Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
3 weeks agoMerge pull request #66939 from Hezko/wip-74418-tentacle
Afreen Misbah [Tue, 3 Feb 2026 08:40:25 +0000 (14:10 +0530)]
Merge pull request #66939 from Hezko/wip-74418-tentacle

tentacle: mgr/dashboard: fix ns add and resize commands help

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 weeks agoMerge pull request #67091 from NitzanMordhai/wip-74580-tentacle
NitzanMordhai [Tue, 3 Feb 2026 06:53:37 +0000 (08:53 +0200)]
Merge pull request #67091 from NitzanMordhai/wip-74580-tentacle

tentacle: qa/workunits: add Rocky Linux support to librados tests

3 weeks agoMerge pull request #67068 from sseshasa/wip-74537-tentacle
NitzanMordhai [Tue, 3 Feb 2026 06:53:16 +0000 (08:53 +0200)]
Merge pull request #67068 from sseshasa/wip-74537-tentacle

tentacle: qa: Disable OSD benchmark from running for tests.

3 weeks agomgr/dashboard: add indentation to the json output of nvmeof cli commands
Tomer Haskalovitch [Sun, 4 Jan 2026 09:01:32 +0000 (11:01 +0200)]
mgr/dashboard: add indentation to the json output of nvmeof cli commands

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

3 weeks agomgr/dashboard: Reverting server_addr to traddr
Afreen Misbah [Mon, 2 Feb 2026 18:56:10 +0000 (00:26 +0530)]
mgr/dashboard: Reverting server_addr to traddr

- the server_addr is used as traddr
- this change is not backported yet hence https://github.com/ceph/ceph/pull/66822 renaming to the convention used in tentacle

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 weeks agoMerge pull request #67146 from afreen23/wip-74628-tentacle
Afreen Misbah [Mon, 2 Feb 2026 18:47:46 +0000 (00:17 +0530)]
Merge pull request #67146 from afreen23/wip-74628-tentacle

tentacle: mgr/dashboard: Fix display of IP address in host page

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
3 weeks agoMerge branch 'tentacle' into wip-74692-tentacle
leonidc [Mon, 2 Feb 2026 17:34:31 +0000 (19:34 +0200)]
Merge branch 'tentacle' into wip-74692-tentacle

Signed-off-by: leonidc <leonidc@il.ibm.com>
3 weeks agoMerge pull request #66958 from Hezko/wip-74413-tentacle
leonidc [Mon, 2 Feb 2026 17:06:30 +0000 (19:06 +0200)]
Merge pull request #66958 from Hezko/wip-74413-tentacle

tentacle: Beacon diff

3 weeks agoMerge pull request #66789 from rhcs-dashboard/wip-74292-tentacle
Pedro Gonzalez Gomez [Mon, 2 Feb 2026 13:55:40 +0000 (14:55 +0100)]
Merge pull request #66789 from rhcs-dashboard/wip-74292-tentacle

tentacle: mgr/dasboard : Carbonize pools form

Reviewed-by: Afreen Misbah <afreen@ibm.com>
3 weeks agomgr/dashboard: Add productive card component
Afreen Misbah [Tue, 13 Jan 2026 20:47:40 +0000 (02:17 +0530)]
mgr/dashboard: Add productive card component

- add generic productive card component
- based on carbon design system
- there are two versions of card - with shadow(tinted affect) and without.
- applies gray10 theme which is decided by new designs.

Fixes https://tracker.ceph.com/issues/74450

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

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard-v3/dashboard/dashboard-v3.component.scss
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/dashboard.module.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/components/components.module.ts

3 weeks agoqa/tasks/rbd_mirror_thrash: don't use random.randrange() on floats
Ilya Dryomov [Fri, 30 Jan 2026 15:32:35 +0000 (16:32 +0100)]
qa/tasks/rbd_mirror_thrash: don't use random.randrange() on floats

This stopped working in Python 3.12:

  Changed in version 3.12: Automatic conversion of non-integer types
  is no longer supported. Calls such as randrange(10.0) and
  randrange(Fraction(10, 1)) now raise a TypeError.

Fixes: https://tracker.ceph.com/issues/74676
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit d663359fae135b2337e0ffbb86256768f61088c7)

3 weeks ago'mgr/dashboard: Fix display of IP address in host page
Afreen Misbah [Mon, 15 Dec 2025 15:53:44 +0000 (21:23 +0530)]
'mgr/dashboard: Fix display of IP address in host page

- Hosts data is getting merged with hosts' facts which is not sending address hence not getting displayed in UI
- The value is empty hence in the API
- Caused by https://github.com/ceph/ceph/pull/65102

Fixes https://tracker.ceph.com/issues/74222

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

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/hosts/hosts.component.html

3 weeks agoMerge pull request #66647 from rhcs-dashboard/wip-74230-tentacle
Aashish Sharma [Mon, 2 Feb 2026 08:43:46 +0000 (14:13 +0530)]
Merge pull request #66647 from rhcs-dashboard/wip-74230-tentacle

tentacle: mgr/dashboard: Fix table width expansion on manager module dropdown selection #74089

Reviewed-by: Afreen Misbah <afreen@ibm.com>
3 weeks agomgr/dasboard : Carbonize pools form
Abhishek Desai [Tue, 28 Oct 2025 06:11:36 +0000 (11:41 +0530)]
mgr/dasboard : Carbonize pools form
fixes : https://tracker.ceph.com/issues/68263
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
 Conflicts:
src/pybind/mgr/dashboard/frontend/cypress/e2e/pools/pools.po.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/erasure-code-profile-form/erasure-code-profile-form-modal.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool.module.ts

3 weeks agomgr/dashboard: fix some linting issues.
Ankit [Wed, 23 Apr 2025 05:44:25 +0000 (11:14 +0530)]
mgr/dashboard: fix some linting issues.
Fixes: https://tracker.ceph.com/issues/66995
Signed-off-by: Ankit Kumar <51ankitkp@gmail.com>
3 weeks agoMerge pull request #67003 from afreen23/tentacle
Afreen Misbah [Mon, 2 Feb 2026 03:23:06 +0000 (08:53 +0530)]
Merge pull request #67003 from afreen23/tentacle

tentacle: mgr/dashboard: removes nx folder

Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
3 weeks agoqa/workunits/rbd: reduce randomized sleeps in live import tests
Ilya Dryomov [Thu, 29 Jan 2026 20:41:03 +0000 (21:41 +0100)]
qa/workunits/rbd: reduce randomized sleeps in live import tests

These tests were tuned for slower hardware than what we have now.
Currently "rbd migration execute" always finishes (successfully) before
the NBD server is killed.

Fixes: https://tracker.ceph.com/issues/74669
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 592e3a9846b130c7321481f8b2bf9dba2fb05195)

3 weeks agoqa/workunits/rbd: drop randomized sleeps in "big image" tests
Ilya Dryomov [Wed, 28 Jan 2026 09:41:13 +0000 (10:41 +0100)]
qa/workunits/rbd: drop randomized sleeps in "big image" tests

These tests were tuned for slower hardware than what we have now.
Even without these the image is often 25-30% synced by the time the
test gets to the "non-primary snapshot in question is still being
synced" assert.

Fixes: https://tracker.ceph.com/issues/74601
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ec868d5ca2e56bd6003b002eb5f15d575edabd4e)

3 weeks agoqa/workunits/rbd: avoid unnecessary sleeping in stop_mirror()
Ilya Dryomov [Tue, 27 Jan 2026 20:56:23 +0000 (21:56 +0100)]
qa/workunits/rbd: avoid unnecessary sleeping in stop_mirror()

There is no need to wait for anything if -KILL is passed for sig
because the process would disappear immediately.  In teuthology runs
where multiple rbd-mirror daemons are deployed (and therefore need to
be stopped when stop_mirrors() is called by the test), it causes
gratuitous delays of 4+ seconds.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit f18fe5d15f72e34ab74b8ae187a47b52883fc780)

3 weeks ago nvmeofgw: fast-failover changes
Leonid Chernin [Thu, 9 Oct 2025 05:24:20 +0000 (08:24 +0300)]
 nvmeofgw: fast-failover changes

 beacon timeouts are measured also in prepare_beacon function to be able
 to correctly  implement shorter timeout values
 default failover detection time was set to 7 sec
 default beacon tick was set to 1 second
 changed condition for detection of ceph slowness in NVMeofgwMon

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
(cherry picked from commit b49ac690d97c8e1659fc58c91cc278403d720c3b)

3 weeks agomgr/dashboard: Change side navigation to `Overview`
Afreen Misbah [Fri, 16 Jan 2026 14:17:53 +0000 (19:47 +0530)]
mgr/dashboard: Change side navigation to `Overview`

Fixes https://tracker.ceph.com/issues/73318

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

 Conflicts:
src/pybind/mgr/dashboard/frontend/cypress/e2e/a11y/dashboard.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/cypress/e2e/orchestrator/04-osds.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/cypress/e2e/ui/dashboard-v3.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/dashboard/dashboard.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/dashboard/dashboard.component.ts
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/enum/cell-template.enum.ts
src/pybind/mgr/dashboard/frontend/src/styles/ceph-custom/_spacings.scss