]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
10 days agomon/MonClient: improve error message when failing to auth
Patrick Donnelly [Wed, 14 May 2025 23:33:43 +0000 (19:33 -0400)]
mon/MonClient: improve error message when failing to auth

Currently you just see:

    2025-05-14T23:07:37.244+0000 7f00dedd1640 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2]

which is terrible at communicating the problem.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth,mon: add _exit config when auth fails
Patrick Donnelly [Wed, 26 Mar 2025 02:02:26 +0000 (22:02 -0400)]
auth,mon: add _exit config when auth fails

This is largely for testing: we want a client to exit immediately if auth
failures occur. Presently, those clients will try to reconnect forever.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agotools/ceph_authtool: allow configuring a preferred cipher
Patrick Donnelly [Wed, 26 Mar 2025 02:05:09 +0000 (22:05 -0400)]
tools/ceph_authtool: allow configuring a preferred cipher

This makes testing easier as we can configure all keys in the cluster to be the
given "old" type without modifying each location that ceph-authtool is used.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/AuthMonitor: shutdown session connection on auth failure
Patrick Donnelly [Tue, 13 May 2025 16:28:39 +0000 (12:28 -0400)]
mon/AuthMonitor: shutdown session connection on auth failure

Currently the mons will allow the session to persist even though an auth
failure has occurred, probably while trying to obtain new tickets.

A sequence to easily trigger this:

    ceph auth rotate osd.0
    ceph auth wipe-rotating-service-keys

The osd.0 will continue interacting with the mons until restart or a network
interruption occurs.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomsg: add interface to shutdown Connection
Patrick Donnelly [Tue, 13 May 2025 16:26:48 +0000 (12:26 -0400)]
msg: add interface to shutdown Connection

Unfortunately this doesn't work as-is because I couldn't find primitives to
flush the out_queue. It's left as a to-do for now.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: call _wipe_secrets_and_tickets when needed
Matan Breizman [Thu, 12 Jun 2025 09:23:37 +0000 (09:23 +0000)]
crimson/mon/MonClient: call _wipe_secrets_and_tickets when needed

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: refacor Client::handle_monmap
Matan Breizman [Thu, 12 Jun 2025 09:22:22 +0000 (09:22 +0000)]
crimson/mon/MonClient: refacor Client::handle_monmap

Use coroutines, should help with future changes.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: introduce handle_auth_failure
Matan Breizman [Wed, 11 Jun 2025 12:28:26 +0000 (12:28 +0000)]
crimson/mon/MonClient: introduce handle_auth_failure

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: add asock TODO comment
Matan Breizman [Wed, 11 Jun 2025 12:26:59 +0000 (12:26 +0000)]
crimson/mon/MonClient: add asock TODO comment

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/osd/MonClient: Introduce Client::_wipe_secrets_and_tickets())
Matan Breizman [Wed, 11 Jun 2025 09:38:59 +0000 (09:38 +0000)]
crimson/osd/MonClient: Introduce Client::_wipe_secrets_and_tickets())

Similar to MonClient::_wipe_secrets_and_tickets())

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: imitate Classic's _check_auth_tickets
Matan Breizman [Wed, 11 Jun 2025 09:34:30 +0000 (09:34 +0000)]
crimson/mon/MonClient: imitate Classic's _check_auth_tickets

Imitating this interface from Classicals MonClient::_check_auth_tickets()
should make it easier to understand Crimson's counterpart.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocrimson/mon/MonClient: cleanup redundant private
Matan Breizman [Wed, 11 Jun 2025 09:33:20 +0000 (09:33 +0000)]
crimson/mon/MonClient: cleanup redundant private

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/MonClient: wipe secrets and invalidate tickets on auth epoch change
Patrick Donnelly [Fri, 9 May 2025 18:56:10 +0000 (14:56 -0400)]
mon/MonClient: wipe secrets and invalidate tickets on auth epoch change

* This causes service daemons to drop all known service tickets and request new
  ones from the auth server.

* This causes the clients (and service daemons) to request new tickets from the
  auth server which will include tickets signed with the new service keys.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/AuthMonitor: bump auth epoch when wiping service keys
Patrick Donnelly [Fri, 9 May 2025 18:54:47 +0000 (14:54 -0400)]
mon/AuthMonitor: bump auth epoch when wiping service keys

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/MonmapMonitor: wire up interface to bump auth epoch
Patrick Donnelly [Fri, 9 May 2025 18:19:18 +0000 (14:19 -0400)]
mon/MonmapMonitor: wire up interface to bump auth epoch

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/MonMap: add auth epoch
Patrick Donnelly [Fri, 9 May 2025 18:15:09 +0000 (14:15 -0400)]
mon/MonMap: add auth epoch

This will be used to indicate to clients / service daemons that the auth
service keys have been rotated. Clients and service daemons are expected to
invalidate their tickets and reauth. Service daemons should wipe their service
keys.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/AuthMonitor: add dump-keys and wipe-rotating-service-keys
Patrick Donnelly [Wed, 26 Mar 2025 01:59:34 +0000 (21:59 -0400)]
mon/AuthMonitor: add dump-keys and wipe-rotating-service-keys

`auth dump-keys` allows examining the key types for each entity and also the
rotating session keys. This lets us confirm key upgrades are done as expected.

`wipe-rotating-service-keys` clears out existing non-auth service keys so that we do not
need to wait for the rotating key expiration. It is not disruptive so long as clients
renew their tickets when prompted by the auth epoch change.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/AuthMonitor: add key-type switch
Patrick Donnelly [Fri, 21 Mar 2025 16:56:06 +0000 (12:56 -0400)]
mon/AuthMonitor: add key-type switch

So it's possible to test with various key-types.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocommon/cmdparse: add another template cmd_getval_or helper
Patrick Donnelly [Fri, 21 Mar 2025 16:57:25 +0000 (12:57 -0400)]
common/cmdparse: add another template cmd_getval_or helper

To mimic the conventional signature where you pass the lvalue you want to set.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/Monitor: perfect forward universal ref of lambda
Patrick Donnelly [Fri, 9 May 2025 18:16:55 +0000 (14:16 -0400)]
mon/Monitor: perfect forward universal ref of lambda

This method doesn't currently work for std::move of a lambda.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon/Monitor: add debugging for monmap handling
Patrick Donnelly [Fri, 9 May 2025 18:19:56 +0000 (14:19 -0400)]
mon/Monitor: add debugging for monmap handling

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agomon: notify_new_monmap via MonmapMonitor::init
Patrick Donnelly [Fri, 13 Jun 2025 19:14:55 +0000 (15:14 -0400)]
mon: notify_new_monmap via MonmapMonitor::init

Otherwise, configurations are not updated during startup.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agodoc/man: document new --key-type option for ceph-authtool
Patrick Donnelly [Thu, 29 May 2025 15:11:43 +0000 (11:11 -0400)]
doc/man: document new --key-type option for ceph-authtool

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agotools/ceph_authtool: add help message for key-type switch
Patrick Donnelly [Fri, 21 Mar 2025 16:54:33 +0000 (12:54 -0400)]
tools/ceph_authtool: add help message for key-type switch

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocommon/buffer: accept "-" as stdin
Patrick Donnelly [Fri, 21 Mar 2025 16:53:38 +0000 (12:53 -0400)]
common/buffer: accept "-" as stdin

These methods are used for reading files from tools like "authtool". Read from
stdin if the conventional "-" filename is passed.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth/cephx: make some parameters const
Patrick Donnelly [Thu, 29 May 2025 14:01:37 +0000 (10:01 -0400)]
auth/cephx: make some parameters const

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth: cleanup error message formatting
Patrick Donnelly [Tue, 27 May 2025 23:25:42 +0000 (19:25 -0400)]
auth: cleanup error message formatting

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth,mon: lookup ticket ttl at runtime
Patrick Donnelly [Wed, 26 Mar 2025 02:04:20 +0000 (22:04 -0400)]
auth,mon: lookup ticket ttl at runtime

and improve debugging.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth: add API to invalidate all tickets
Patrick Donnelly [Fri, 9 May 2025 18:52:52 +0000 (14:52 -0400)]
auth: add API to invalidate all tickets

This will prompt the client to request new ones from the auth server.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth: add API to wipe rotating secrets
Patrick Donnelly [Fri, 9 May 2025 18:52:13 +0000 (14:52 -0400)]
auth: add API to wipe rotating secrets

This is for the service daemon's store of rotating service secrets.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth/cephx: enforce sorted config keys
Patrick Donnelly [Wed, 26 Mar 2025 01:55:22 +0000 (21:55 -0400)]
auth/cephx: enforce sorted config keys

Makes future additions avoid conflicts.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth/cephx: update get_tracked_keys signature
Patrick Donnelly [Tue, 18 Mar 2025 20:04:02 +0000 (16:04 -0400)]
auth/cephx: update get_tracked_keys signature

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth: fix return type
Patrick Donnelly [Mon, 24 Mar 2025 02:42:53 +0000 (22:42 -0400)]
auth: fix return type

key type is an unsigned.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocommon: break print template into separate header
Patrick Donnelly [Thu, 29 May 2025 12:58:08 +0000 (08:58 -0400)]
common: break print template into separate header

To avoid pulling in all the debug includes for some primitive headers.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agocommon: remove dead option
Patrick Donnelly [Tue, 3 Jun 2025 15:26:04 +0000 (11:26 -0400)]
common: remove dead option

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agotest: fix compiler error
Patrick Donnelly [Thu, 15 May 2025 17:29:55 +0000 (13:29 -0400)]
test: fix compiler error

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
10 days agoauth,*: remove conflicting fwd declarations
Matan Breizman [Mon, 9 Jun 2025 16:37:21 +0000 (16:37 +0000)]
auth,*: remove conflicting fwd declarations

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
10 days agoinclude/common_fwd: Include Crypto classes
Matan Breizman [Mon, 9 Jun 2025 12:07:49 +0000 (12:07 +0000)]
include/common_fwd: Include Crypto classes

CryptoManager::cct is now used in CephContext ctor. To provide this
defintion
any ceph_context.cc target must also include Crypto.cc.

crimson-alien-common library which only had ceph_context.cc must now
also include Crypto.cc.
However, the fact that crimson-common also includes Crypto.cc would
cause multiple defintions
to any Crypto classes methods.

To resolve this, let's wrap all Crypto classes with TOPNSPC::common that
would be forwarded using common_fwd logic.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
10 days agocephx: sign messages using hmac_sha256
Yehuda Sadeh [Wed, 28 May 2025 19:51:19 +0000 (15:51 -0400)]
cephx: sign messages using hmac_sha256

if key type is newer than the original AES, calculate message
hash by using HMAC-SHA256.
We cannot use plain aes256k like we do with the aes key because
of the confounder. The other option would be to inject a
confounder, but that would weaken the cipher.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: create slice api for calculating hmac_sha256
Yehuda Sadeh [Wed, 28 May 2025 19:50:15 +0000 (15:50 -0400)]
auth: create slice api for calculating hmac_sha256

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agotest/auth: more aes256krb5 tests
Yehuda Sadeh [Tue, 18 Mar 2025 10:53:44 +0000 (06:53 -0400)]
test/auth: more aes256krb5 tests

 - DecryptNoBl
 - multiple test vectos per each test

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: test slice interface for aes256k
Yehuda Sadeh [Mon, 17 Mar 2025 11:44:30 +0000 (07:44 -0400)]
auth: test slice interface for aes256k

AES256KRB5 uses the default slice encryption implementation, testing that
it works correctly.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agotest/crypto: more aes256krb5 tests
Yehuda Sadeh [Mon, 17 Mar 2025 07:57:42 +0000 (03:57 -0400)]
test/crypto: more aes256krb5 tests

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: add usage param to crypto handler
Yehuda Sadeh [Mon, 17 Mar 2025 07:57:21 +0000 (03:57 -0400)]
auth: add usage param to crypto handler

Allow different usage for crypto handler users. Currently being used
in the crypto unitest to match the test vectors.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: aes256krb5: add confounder config for unitests
Yehuda Sadeh [Mon, 17 Mar 2025 06:56:32 +0000 (02:56 -0400)]
auth: aes256krb5: add confounder config for unitests

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agocephx: add configurable to set allowed ciphers
Yehuda Sadeh [Fri, 7 Mar 2025 21:35:36 +0000 (16:35 -0500)]
cephx: add configurable to set allowed ciphers

cephx allowed ciphers: a list of ciphers that  sets what type
of keys are allowed to be used to authenticate

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: remove unused code
Yehuda Sadeh [Fri, 7 Mar 2025 18:21:44 +0000 (13:21 -0500)]
auth: remove unused code

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: add a configurable to control rotating keys cipher type
Yehuda Sadeh [Fri, 7 Mar 2025 18:20:58 +0000 (13:20 -0500)]
auth: add a configurable to control rotating keys cipher type

auth_service_cipher: a mon configurable that determines what type of cipher
the rotating keys are using. The configurable can change at runtime. Note
that the change does not invalidate existing keys, these would expire
based on their ttl.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth/cephx: session key type is set to client key type
Yehuda Sadeh [Thu, 6 Mar 2025 14:23:34 +0000 (09:23 -0500)]
auth/cephx: session key type is set to client key type

This ensures that the client supports the specific key type.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth/cephx: switch default cipher to AES256KRB5
Yehuda Sadeh [Thu, 27 Feb 2025 22:09:26 +0000 (17:09 -0500)]
auth/cephx: switch default cipher to AES256KRB5

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth/cephx: modify client + server challenges hashing
Yehuda Sadeh [Thu, 27 Feb 2025 21:14:06 +0000 (16:14 -0500)]
auth/cephx: modify client + server challenges hashing

This applies when using ciphers that are not the original
AES-128 one. Use the hmac-sha256 hash now. With AES256KRB5
the original method of encrypting the combined challenges
doesn't work as the confounder randomizes the result.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoceph-authtool: support --key-type param
Yehuda Sadeh [Thu, 27 Feb 2025 16:55:37 +0000 (11:55 -0500)]
ceph-authtool: support --key-type param

Also move the encryption handlers out of the ceph_context.
Handlers are now returned as a shared_ptr, to support the
creation of new handlers with different params (such as
the usage param).

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth/crypto: add support for aes256-hmac384-192
Yehuda Sadeh [Fri, 21 Feb 2025 21:18:58 +0000 (16:18 -0500)]
auth/crypto: add support for aes256-hmac384-192

Using the encryption standard set in RFC 8009. This is the
encryption that is used in Kerberos 5, so naming this variation
as AES256KRB5.

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
10 days agoauth: propagate ceph context to encrypt/decrypt
Yehuda Sadeh [Mon, 24 Feb 2025 21:31:42 +0000 (16:31 -0500)]
auth: propagate ceph context to encrypt/decrypt

Signed-off-by: Yehuda Sadeh <ysadehwe@ibm.com>
11 days agoMerge pull request #66713 from rhcs-dashboard/upgrade-angular
Nizamudeen A [Mon, 29 Dec 2025 11:27:23 +0000 (16:57 +0530)]
Merge pull request #66713 from rhcs-dashboard/upgrade-angular

mgr/dashboard: upgrade angular to 19

11 days agoMerge pull request #66638 from afreen23/fix-host-ip
Afreen Misbah [Mon, 29 Dec 2025 11:02:52 +0000 (16:32 +0530)]
Merge pull request #66638 from afreen23/fix-host-ip

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

Reviewed-by: Nizamudeen A <nia@redhat.com>
11 days 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>
11 days agoMerge pull request #66100 from rhcs-dashboard/68263-carbonize-pools-form
Afreen Misbah [Mon, 29 Dec 2025 06:29:53 +0000 (11:59 +0530)]
Merge pull request #66100 from rhcs-dashboard/68263-carbonize-pools-form

mgr/dasboard : Carbonize pools form

Reviewed-by: Afreen Misbah <afreen@ibm.com>
12 days 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>
2 weeks agoMerge pull request #66380 from benhanokh/dedup_high_dup_count
Gabriel Benhanokh [Fri, 26 Dec 2025 08:28:39 +0000 (10:28 +0200)]
Merge pull request #66380 from benhanokh/dedup_high_dup_count

rgw/dedup: Prevent the dup-counter from wrapping around

2 weeks agorgw/dedup: Prevent the dup-counter from wrapping around after it reaches 64K of ident... dedup_high_dup_count_wip_vx
Gabriel BenHanokh [Mon, 24 Nov 2025 08:02:22 +0000 (08:02 +0000)]
rgw/dedup: Prevent the dup-counter from wrapping around after it reaches 64K of identical copies.
Limit dedup from a single SRC to 128 Target copies to prevent OMAP size
from growing out of control
Tests cleanup

Resolves: rhbz#2415656
Resolves: rhbz#2416043

Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
2 weeks agoMerge pull request #66732 from tchaikov/debian-control-iproute2
Kefu Chai [Thu, 25 Dec 2025 00:01:49 +0000 (08:01 +0800)]
Merge pull request #66732 from tchaikov/debian-control-iproute2

debian/control: add iproute2 to build dependencies

Reviewed-by: David Galloway <david.galloway@ibm.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoMerge pull request #66686 from imran-imtiaz/dashboard
Imran Imtiaz [Wed, 24 Dec 2025 10:07:43 +0000 (10:07 +0000)]
Merge pull request #66686 from imran-imtiaz/dashboard

mgr/dashboard: add CRUD API endpoints for consistency group snapshots 1/2

2 weeks agodebian/control: add iproute2 to build dependencies
Kefu Chai [Wed, 24 Dec 2025 05:55:26 +0000 (13:55 +0800)]
debian/control: add iproute2 to build dependencies

Test scripts like qa/tasks/cephfs/mount.py expect the ip command to be
available in the container environment. Without it, tests fail with:

```
  /bin/bash: line 1: ip: command not found

  File "/ceph/qa/tasks/cephfs/mount.py", line 96, in cleanup_stale_netnses_and_bridge
    p = remote.run(args=['ip', 'netns', 'list'],
  ...
  teuthology.exceptions.CommandFailedError: Command failed with status 127: 'ip netns list'
```

Add iproute2 to the debian package build dependencies when the
<pkg.ceph.check> build profile is enabled. This ensures the package is
available during container-based builds, since buildcontainer-setup.sh
→ script/run-make.sh → install-deps.sh → debian/control → generated
dependency package chain respects build profiles configured via
`FOR_MAKE_CHECK` and `WITH_CRIMSON` environment variables set in
Dockerfile.build.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoMerge pull request #65937 from ifed01/wip-ifed-kvstore-tool-cleanup
Igor Fedotov [Tue, 23 Dec 2025 14:36:18 +0000 (17:36 +0300)]
Merge pull request #65937 from ifed01/wip-ifed-kvstore-tool-cleanup

tools/kvstore_tool: reduce BlueStore.h exposure.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 weeks agomgr/dashboard: add CRUD API endpoints for consistency group snapshots
Imran Imtiaz [Mon, 8 Dec 2025 07:59:03 +0000 (07:59 +0000)]
mgr/dashboard: add CRUD API endpoints for consistency group snapshots

Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
Fixes: https://tracker.ceph.com/issues/74258
Create a set of consistency group dashboard API endpoints to:

- List group snapshots
- Get details about a particular snapshot
- Create a snapshot
- Delete a snapshot

(rollback/update are handled separately)

Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
2 weeks agomgr/dashboard: upgrade angular to 19
Nizamudeen A [Mon, 22 Dec 2025 08:49:00 +0000 (14:19 +0530)]
mgr/dashboard: upgrade angular to 19

* bump nodejs to 22.21.1
* remove swagger-ui from the package.json and import the bundled version
  of it which is `swagger-ui-dist`. This removes the dependencies to the
react redux which is bought by the swagger-ui and also reduces the build
assets and build warnings. we really don't need the whole swagger-ui
package to be present here. Also importing the swagger-ui.css inside the
api-docs component lazily.

since our project is now under nx, upgraded using the nx migrate
command. It took care of the changes where it added the `standalone:
false` to all our files since we are still on modular architecture.

Other changes include
- adding `flush()` to fakeAsync mock test
- fixing some complaints raised by tsc linter as per the new typescript
  type checks
- removed `this` from html components
- fixed jest config for newer presets

Signed-off-by: Nizamudeen A <nia@redhat.com>
2 weeks agoMerge pull request #66712 from zdover23/wip-doc-2025-12-22-cephfs-fscrypt
Zac Dover [Mon, 22 Dec 2025 23:43:39 +0000 (09:43 +1000)]
Merge pull request #66712 from zdover23/wip-doc-2025-12-22-cephfs-fscrypt

doc/cephfs: add fscrypt to index.rst

Reviewed-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 weeks agodoc/cephfs: add fscrypt to index.rst
Zac Dover [Mon, 22 Dec 2025 05:47:11 +0000 (15:47 +1000)]
doc/cephfs: add fscrypt to index.rst

Suppress the following warning by adding fscrypt to the TOC in
cephfs/index.rst:

   checking consistency... /ceph/doc/cephfs/fscrypt.rst:
   WARNING: document isn't included in any toctree

Signed-off-by: Zac Dover <zac.dover@clyso.com>
2 weeks agoMerge pull request #66697 from bluikko/wip-doc-rados-ops-health-checks-fixes5
bluikko [Mon, 22 Dec 2025 04:53:12 +0000 (11:53 +0700)]
Merge pull request #66697 from bluikko/wip-doc-rados-ops-health-checks-fixes5

doc/rados: Fix minor issues, improvements in health-checks.rst (5 of x)

2 weeks agoMerge pull request #66610 from cbodley/wip-librados-aio-unwatch-enotconn
Ilya Dryomov [Sun, 21 Dec 2025 14:33:10 +0000 (15:33 +0100)]
Merge pull request #66610 from cbodley/wip-librados-aio-unwatch-enotconn

librados: aio_unwatch() delivers ENOTCONN to AioCompletion

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 weeks agoMerge pull request #66705 from zdover23/wip-doc-2025-12-20-glossary-CRC
Zac Dover [Sun, 21 Dec 2025 03:13:43 +0000 (13:13 +1000)]
Merge pull request #66705 from zdover23/wip-doc-2025-12-20-glossary-CRC

doc/glossary: Add "CRC" to glossary

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 weeks agodoc/glossasry: Add "CRC" to glossary
Zac Dover [Sat, 20 Dec 2025 05:44:31 +0000 (15:44 +1000)]
doc/glossasry: Add "CRC" to glossary

Add "CRC" (Cyclic Redundacy Check) to the glossary.

Signed-off-by: Zac Dover <zac.dover@clyso.com>
2 weeks agoMerge pull request #66700 from rhcs-dashboard/update-teuth-has
David Galloway [Sat, 20 Dec 2025 23:12:49 +0000 (18:12 -0500)]
Merge pull request #66700 from rhcs-dashboard/update-teuth-has

mgr/dashboard: update teuth_ref hash in api test

2 weeks agoMerge pull request #66674 from ceph/GHSA-p433-fp4g-pc2c
Kefu Chai [Sat, 20 Dec 2025 14:18:37 +0000 (22:18 +0800)]
Merge pull request #66674 from ceph/GHSA-p433-fp4g-pc2c

.github/workflows: Fix GHSA-p433-fp4g-pc2c

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 weeks agoFix GHSA-p433-fp4g-pc2c
David Galloway [Wed, 17 Dec 2025 22:47:06 +0000 (17:47 -0500)]
Fix GHSA-p433-fp4g-pc2c

https://github.com/ceph/ceph/security/advisories/GHSA-p433-fp4g-pc2c

Signed-off-by: David Galloway <david.galloway@ibm.com>
2 weeks agodoc/rados: Fix minor issues, improvements in health-checks.rst (5 of x)
Ville Ojamo [Fri, 19 Dec 2025 09:23:01 +0000 (16:23 +0700)]
doc/rados: Fix minor issues, improvements in health-checks.rst (5 of x)

Remove spaces at the end of lines.

Use confval instead of simple inline literal text for config values.

Use double backticks consistently for literals.

Attempt minor language improvements.

Use "Monitor", "Manager" consistently.

Add a link to stretch mode doc in relevant sections.

Use a privileged prompt for CLI command examples requiring privileges.

Linkify mentions of other sections in the document.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 weeks agoMerge pull request #66687 from cbodley/wip-doc-rgw-admin-account-args
Casey Bodley [Fri, 19 Dec 2025 14:24:53 +0000 (09:24 -0500)]
Merge pull request #66687 from cbodley/wip-doc-rgw-admin-account-args

doc/rgw: POST /admin/account doesn't require id/name

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
3 weeks agomgr/dashboard: update teuth_ref hash in api test
Nizamudeen A [Fri, 19 Dec 2025 12:41:05 +0000 (18:11 +0530)]
mgr/dashboard: update teuth_ref hash in api test

update the hash to the latest commit where Kefu addressed the distutils
error.

Signed-off-by: Nizamudeen A <nia@redhat.com>
3 weeks agoMerge pull request #66681 from bluikko/wip-doc-rados-ops-health-checks-fixes3
bluikko [Fri, 19 Dec 2025 05:16:35 +0000 (12:16 +0700)]
Merge pull request #66681 from bluikko/wip-doc-rados-ops-health-checks-fixes3

doc/rados: Fix minor issues, improvements in health-checks.rst (3 of x)

3 weeks agoMerge pull request #66675 from bluikko/wip-doc-rados-ops-health-checks-fixes2
bluikko [Fri, 19 Dec 2025 05:15:00 +0000 (12:15 +0700)]
Merge pull request #66675 from bluikko/wip-doc-rados-ops-health-checks-fixes2

doc/rados: Fix minor issues and improvements in health-checks.rst (2 of x)

3 weeks agoMerge pull request #66662 from bluikko/wip-doc-rados-ops-health-checks-fixes
bluikko [Fri, 19 Dec 2025 05:14:34 +0000 (12:14 +0700)]
Merge pull request #66662 from bluikko/wip-doc-rados-ops-health-checks-fixes

doc/rados: Fix minor issues and improvements in health-checks.rst

3 weeks agoMerge pull request #66677 from bluikko/wip-doc-cephadm-services-osd-typo
bluikko [Fri, 19 Dec 2025 05:13:53 +0000 (12:13 +0700)]
Merge pull request #66677 from bluikko/wip-doc-cephadm-services-osd-typo

doc/cephadm: Fix formatting errors and improvements in osd.rst

3 weeks agoMerge pull request #66656 from ceph/apt-mirror-main
David Galloway [Fri, 19 Dec 2025 03:48:57 +0000 (22:48 -0500)]
Merge pull request #66656 from ceph/apt-mirror-main

install-deps: Replace apt-mirror

3 weeks agodoc/rgw: POST /admin/account doesn't require id/name
Casey Bodley [Thu, 18 Dec 2025 14:12:51 +0000 (09:12 -0500)]
doc/rgw: POST /admin/account doesn't require id/name

the RGWOp_Account_Create admin op doesn't require id or name

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agodoc/rados: Fix minor issues, improvements in health-checks.rst (3 of x)
Ville Ojamo [Thu, 18 Dec 2025 08:27:36 +0000 (15:27 +0700)]
doc/rados: Fix minor issues, improvements in health-checks.rst (3 of x)

Also changed in monitoring.rst:
- Add label for link.
- Linkify mention of health checks.

Fix "bluestore bluefs" admin-socket commands after #38437.

Use ":confval:" instead of simple inline literal text for config values.

Use a privileged prompt for CLI command examples requiring privileges.

Trim section title syntax underline.

Use admonition instead of emphasis on the whole paragraph.

Attempt to improve language in a few sentences.

Use double backticks consistently for literals.

Linkify, adding a label in the destination if necessary:
- Muting health checks
- BlueStore migration

Capitalize Ceph, BlueStore, RADOS.

Add paragraph linking to more info on the "ceph df" command.

Use DB or DB device instead of literal db.

Add unordered list formatting to what was being rendered as single paragraph.

Use ":program:" for linking to ceph-bluestore-tool.

Change few last double spaces after full stop to a single space.

Use code-block paragraphs instead of inline literals where appropriate.

Add missing word "is".

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agodoc/cephadm: Fix formatting errors and improvements in osd.rst
Ville Ojamo [Thu, 18 Dec 2025 07:05:29 +0000 (14:05 +0700)]
doc/cephadm: Fix formatting errors and improvements in osd.rst

Use console code-block instead of literal text to avoid highlighting.

Promptify few last CLI commands that were missing prompts.

Remove lone single-item unordered list formatting.

Add missing full stops.

Linkify mentions of other sections.

Use title case consistently in section titles.

Use :confval: consistently instead of literal text.

Use double backticks consistently.

Use "YAML" and "JSON" instead of literal .yaml and .json.

Fix two occurrences of double backticks missing one backtick that lead
to broken rendering.

Use *italic* RST syntax instead of rendered underscores.

Try to improve language in simple sentences.

Remove unnecessary * characters that were rendered in CLI example
commands.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agodoc/rados: Fix minor issues and improvements in health-checks.rst (2 of x)
Ville Ojamo [Thu, 18 Dec 2025 05:52:55 +0000 (12:52 +0700)]
doc/rados: Fix minor issues and improvements in health-checks.rst (2 of x)

Use :confval: instead of simple inline literal text for config values.

Use RST **emphasis** instead of CAPS.

Use a privileged prompt for CLI command examples requiring privileges.

Capitalize Manager when talking about the service/dameon.

Use double backticks for literals instead of single backticks.

Remove spaces around slash in "and/or".

Add a paragraph referring OSD troubleshooting in OSD free space checks.

Modify flag lists to have a consistent style.

Reorder sentences to make more sense.

One small language improvement attempt.

Expand {a,b} glob used in text.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agodoc/rados: Fix minor issues and improvements in health-checks.rst
Ville Ojamo [Wed, 17 Dec 2025 09:36:23 +0000 (16:36 +0700)]
doc/rados: Fix minor issues and improvements in health-checks.rst

Use title case consistently in section titles.

Wrap long lines over 80 characters.

Use "Ceph Manager" instead of "ceph-mgr".
Use "Ceph Monitor" or "Monitor" consistently instead of "monitor".

Use :confval: instead of simple inline literal text for config values.

Linkify, adding a label in the destination if necessary:
- Muting health checks
- Mon election strategy

Fix a typo.

Use RST *italic* instead of _rendered underscores_.

Use a privileged prompt for CLI command examples requiring privileges.

Use path including fsid to mon data consistently.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
3 weeks agoMerge pull request #66643 from bluikko/wip-doc-mgr-telemetry-collection-desc
bluikko [Wed, 17 Dec 2025 03:43:39 +0000 (10:43 +0700)]
Merge pull request #66643 from bluikko/wip-doc-mgr-telemetry-collection-desc

doc/mgr: Fix collection desc in telemetry.rst

3 weeks agoinstall-deps: Replace apt-mirror
David Galloway [Tue, 16 Dec 2025 22:08:00 +0000 (17:08 -0500)]
install-deps: Replace apt-mirror

apt-mirror.front.sepia.ceph.com has happened to always work because we set up CNAMEs to gitbuilder.ceph.com.

That host is making its way to a new home upstate (literally and figuratively) so we'll get rid of the front subdomain since it's publicly accessible anyway and add TLS while we're at it.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoosdc: remove implicit LingerOp reference between watch/unwatch
Casey Bodley [Thu, 11 Dec 2025 19:19:01 +0000 (14:19 -0500)]
osdc: remove implicit LingerOp reference between watch/unwatch

before this change set, linger_register() returned a raw LingerOp
pointer with an implicit reference for the caller. for librados,
this implicit reference is only dropped when the corresponding
unwatch() calls linger_cancel()

after commit 94f42b648feea77bd09dc3fdb48e6db2b48c7717 introduced
linger_by_cookie(), unwatch() no longer has a safe way to drop this
implicit reference. to prevent LingerOp leaks when unwatch() returns
ENOTCONN, we can't hold this implicit reference count until unwatch()

linger_register() now returns an explicit reference to the caller as
intrusive_ptr<LingerOp>. this helps to guarantee that this reference
count gets dropped before the completion of watch()/aio_watch()

because linger_register() no longer acquires an implicit reference for
the caller, linger_cancel() no longer drops it with info->put()

Reported-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoosdc: linger_register() returns intrusive_ptr<LingerOp>
Casey Bodley [Thu, 11 Dec 2025 19:17:53 +0000 (14:17 -0500)]
osdc: linger_register() returns intrusive_ptr<LingerOp>

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoneorados: NotifierHandler holds intrusive_ptr<LingerOp>
Casey Bodley [Thu, 11 Dec 2025 19:16:45 +0000 (14:16 -0500)]
neorados: NotifierHandler holds intrusive_ptr<LingerOp>

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoneorados: Notifier holds intrusive_ptr<LingerOp>
Casey Bodley [Thu, 11 Dec 2025 19:16:20 +0000 (14:16 -0500)]
neorados: Notifier holds intrusive_ptr<LingerOp>

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agolibrados: aio_unwatch() delivers ENOTCONN to AioCompletion
Casey Bodley [Thu, 11 Dec 2025 16:34:00 +0000 (11:34 -0500)]
librados: aio_unwatch() delivers ENOTCONN to AioCompletion

94f42b648feea77bd09dc3fdb48e6db2b48c7717 added a new error condition to
IoCtx::aio_unwatch() that callers aren't prepared to handle. instead of
returning that error directly, report it asynchronously to the
AioCompletion

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoMerge pull request #66576 from rhcs-dashboard/carbonized-multisite-realm-token-modal
Afreen Misbah [Tue, 16 Dec 2025 10:05:23 +0000 (15:35 +0530)]
Merge pull request #66576 from rhcs-dashboard/carbonized-multisite-realm-token-modal

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

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
3 weeks agoMerge pull request #66510 from rhcs-dashboard/manager-module-table-fix
Afreen Misbah [Tue, 16 Dec 2025 09:57:28 +0000 (15:27 +0530)]
Merge pull request #66510 from rhcs-dashboard/manager-module-table-fix

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

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
3 weeks agoMerge pull request #65324 from rishabh-d-dave/inode_t-fields
Rishabh Dave [Tue, 16 Dec 2025 09:51:48 +0000 (15:21 +0530)]
Merge pull request #65324 from rishabh-d-dave/inode_t-fields

mds: compare all fields of inode_t

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 weeks agoMerge pull request #65496 from rishabh-d-dave/rmtree-enhancements
Rishabh Dave [Tue, 16 Dec 2025 09:50:22 +0000 (15:20 +0530)]
Merge pull request #65496 from rishabh-d-dave/rmtree-enhancements

pybind,cephfs: enhancements for rmtree()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>