]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
6 days agoMerge branch 'wip-75026-tentacle' of https://github.com/guits/ceph into wip-guits... wip-guits-tentacle-2026-02-19-1421
Guillaume Abrioux [Thu, 19 Feb 2026 14:21:14 +0000 (14:21 +0000)]
Merge branch 'wip-75026-tentacle' of https://github.com/guits/ceph into wip-guits-tentacle-2026-02-19-1421

6 days agoMerge branch 'wip-74926-tentacle' of https://github.com/guits/ceph into wip-guits...
Guillaume Abrioux [Thu, 19 Feb 2026 14:21:13 +0000 (14:21 +0000)]
Merge branch 'wip-74926-tentacle' of https://github.com/guits/ceph into wip-guits-tentacle-2026-02-19-1421

6 days agoMerge branch 'wip-74925-tentacle' of https://github.com/guits/ceph into wip-guits...
Guillaume Abrioux [Thu, 19 Feb 2026 14:21:11 +0000 (14:21 +0000)]
Merge branch 'wip-74925-tentacle' of https://github.com/guits/ceph into wip-guits-tentacle-2026-02-19-1421

6 days agoMerge PR #67319 into tentacle
Patrick Donnelly [Thu, 19 Feb 2026 13:26:31 +0000 (08:26 -0500)]
Merge PR #67319 into tentacle

* refs/pull/67319/head:
mon: Deny EC optimizations (fast EC) for non-4k-aligned chunk-sizes.

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
6 days agomgr/cephadm: validate hostname in NodeProxyCache
Guillaume Abrioux [Mon, 16 Feb 2026 13:24:36 +0000 (14:24 +0100)]
mgr/cephadm: validate hostname in NodeProxyCache

This adds a _resolve_hosts() method to resolve hostname from kwargs
and raise OrchestratorError when the host has no node-proxy data.

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

6 days agonode-proxy: improve HTTP error logging in client
Guillaume Abrioux [Mon, 16 Feb 2026 12:49:46 +0000 (13:49 +0100)]
node-proxy: improve HTTP error logging in client

This commit makes it log the http error with the code and the reason
in sessionservice_discover() and log the error code along with the
body in query() for 5xx responses.

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

6 days agonode-proxy: get serial number instead of SKU
Guillaume Abrioux [Thu, 12 Feb 2026 15:08:39 +0000 (16:08 +0100)]
node-proxy: get serial number instead of SKU

Let's get the serial number instead of SKU.

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

6 days agonode-proxy: allow multiple sources per component
Guillaume Abrioux [Thu, 12 Feb 2026 14:00:11 +0000 (15:00 +0100)]
node-proxy: allow multiple sources per component

COMPONENT_SPECS can now be a single spec or a list of specs per component.
Data from all sources is merged. Unavailable paths are skipped.

Extract get_component_data() from update_component() to support the merge logic.

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

6 days agonode-proxy: re-auth and retry once on 401
Guillaume Abrioux [Wed, 11 Feb 2026 07:41:32 +0000 (08:41 +0100)]
node-proxy: re-auth and retry once on 401

This commit makes node-proxy clear the session, call login() and retry
the request when a 401 http error is caught.

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

6 days agonode-proxy: fix flake8 E721 in _dict_diff
Guillaume Abrioux [Tue, 10 Feb 2026 15:25:47 +0000 (16:25 +0100)]
node-proxy: fix flake8 E721 in _dict_diff

Use "is not" instead of "!=" for type comparison in _dict_diff()

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

6 days agonode-proxy: make the update loop interval configurable
Guillaume Abrioux [Tue, 10 Feb 2026 15:15:42 +0000 (16:15 +0100)]
node-proxy: make the update loop interval configurable

Read system.refresh_interval from config and use it in the update loop
sleep. The default value is 180s when unset.

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

6 days agomgr/node-proxy: fix "ceph orch hardware status --category criticals"
Guillaume Abrioux [Tue, 10 Feb 2026 14:59:55 +0000 (15:59 +0100)]
mgr/node-proxy: fix "ceph orch hardware status --category criticals"

The criticals path was using the wrong data shape:
node-proxy sends status as:

  component -> sys_id -> member

 but the code assumed:

  sys_id -> component -> member

This fixes get_critical_from_host() and _criticals_table() to iterate
in the correct order and build the criticals result with the right
nesting.

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

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)

7 days agomon: Deny EC optimizations (fast EC) for non-4k-aligned chunk-sizes.
Alex Ainscow [Wed, 11 Feb 2026 18:11:12 +0000 (18:11 +0000)]
mon: Deny EC optimizations (fast EC) for non-4k-aligned chunk-sizes.

There are some bugs in the way Fast EC handles non 4k-aligned chunk sizes.

Such chunk sizes are buggy and even if they did work, the performance
would not be very good.  Storage efficiency is also not helped by these
unusual encodings.

This commit will reject any attempt to turn optimizations (fast EC) on.

If the default is set to turn optimizations on, then this will be ignored
if the profile is not 4k aligned.

Note that to create a profile in the first place requires a --force override.

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

7 days agoceph-volume: fix test_reject_readonly_device unit test
Guillaume Abrioux [Wed, 18 Feb 2026 12:41:37 +0000 (13:41 +0100)]
ceph-volume: fix test_reject_readonly_device unit test

this mocks "partitions" in device info so Device._parse() does not
raise KeyError and both /dev/cdrom and /dev/sr0 so the test passes
when cdrom is a symlink to sr0.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
7 days agoceph-volume: single lvs call to speed up exclude_lvm_osd_devices
Guillaume Abrioux [Thu, 5 Feb 2026 23:06:19 +0000 (00:06 +0100)]
ceph-volume: single lvs call to speed up exclude_lvm_osd_devices

Cache all LVs from one global `lvs` call and use it in
`filter_lvm_osd_devices` to avoid repeated subprocesses and speed up
`ceph-volume generic activate` significantly.

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

7 days agoceph-volume: avoid Device() instantiation in lvm OSD filtering
Guillaume Abrioux [Thu, 22 Jan 2026 12:55:48 +0000 (12:55 +0000)]
ceph-volume: avoid Device() instantiation in lvm OSD filtering

Replace Device() instantiation with direct LVM API calls to reduce
subprocess overhead.
Use sysfs check first, then only query LVM for actual LVs.
caches LVM mappers list to avoid repeated sysfs reads.

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

7 days agoceph-volume: avoid RuntimeError on ceph-volume raw list with non-existent loop devices
Parfait Detchenou [Wed, 6 Aug 2025 15:12:26 +0000 (16:12 +0100)]
ceph-volume: avoid RuntimeError on ceph-volume raw list with non-existent loop devices

Signed-off-by: Parfait Detchenou <pdetchenou@gmail.com>
(cherry picked from commit 9d6a224291575b1332509f1314526d0664203df9)

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 agoceph-volume: skip redundant NVMe mkfs discards
Ujjawal Anand [Fri, 6 Feb 2026 11:26:58 +0000 (16:56 +0530)]
ceph-volume: skip redundant NVMe mkfs discards

- Avoid redundant discard during mkfs when discard is disabled
- Reduces mkfs time on large NVMe devices by skipping long running discard operations

Fixes: https://tracker.ceph.com/issues/74908
Signed-off-by: Ujjawal Anand <ujjawal.anand@ibm.com>
(cherry picked from commit daebcfb8944789a47da20ffec3e03a5b2737f711)

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>
2 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)

2 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.