]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
4 weeks agoauth/cephx: set error message when decryption fails
Patrick Donnelly [Thu, 29 May 2025 15:53:04 +0000 (11:53 -0400)]
auth/cephx: set error message when decryption fails

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agoauth/cephx: provide more debugging when sig checks fail
Patrick Donnelly [Thu, 29 May 2025 15:52:34 +0000 (11:52 -0400)]
auth/cephx: provide more debugging when sig checks fail

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agomon: provide emergency mechanism to use mon keyring
Patrick Donnelly [Thu, 29 May 2025 15:04:00 +0000 (11:04 -0400)]
mon: provide emergency mechanism to use mon keyring

If they key is lost for the `mon.` credential, it's very inconvenient to get it
out of the "auth" database in the mon store. So, allow the operator to create a
new keyring for the mons and use it instead to get mons in quorum again.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agomon: cycle through keyring or key_server for auth with mons
Patrick Donnelly [Thu, 29 May 2025 14:13:40 +0000 (10:13 -0400)]
mon: cycle through keyring or key_server for auth with mons

After commit `mon: use key_server for looking up mon key`, the mons will now
use the key_server to lookup the `mon.` key when a mon connects.  We need to
make the mons prefer using that key with authenticating during probing other
mons. However, the protocol doesn't allow falling back to another key. This is
necessary if what's in the key_server database is out-of-date due to an earlier
loss of quorum. In that case, the operator should update the local keyring file
and the mon should give that a try if auth fails.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agomon: use key_server for looking up mon key
Patrick Donnelly [Thu, 29 May 2025 14:07:52 +0000 (10:07 -0400)]
mon: use key_server for looking up mon key

Note: the key_server is already configured to fallback (via
KeyServerData::extra_secrets) to the Monitor::keyring which is sourced from the
mon's keyring file.

Using the Monitor::key_server allows us to maintain the mon's secret in the
auth database alongside all other secrets. This makes rotating the mons' keys
the same as all other entities in Ceph. Before this, to rotate the mons' key
you would need to turn off all montitors and then rotate the key files
manually. This is obviously disruptive since it's not a rolling upgrade.

If the key is sourced from the Monitor::key_server, then the key can be rotated
and all mons are aware of the new key. The mons can then proceed to restart as
needed in a non-disruptive fashion.

A followup commit will cleanup the monitor to try either its local keyring key
or the key in the key_server (if present) when authenticating with other mons.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks agomon: dout chosen addrs after startup
Patrick Donnelly [Thu, 29 May 2025 14:05:55 +0000 (10:05 -0400)]
mon: dout chosen addrs after startup

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks 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>
4 weeks agoMerge pull request #66740 from xxhdx1985126/wip-seastore-rbm-no-backref wip-kdhaduk-testing-3-2026-01-27-1359
Matan Breizman [Sun, 25 Jan 2026 13:26:33 +0000 (15:26 +0200)]
Merge pull request #66740 from xxhdx1985126/wip-seastore-rbm-no-backref

crimson/os/seastore: drop backrefs in cases of pure rbm seastores

Reviewed-by: Samuel Just <sjust@redhat.com>
4 weeks agoMerge pull request #67063 from idryomov/wip-74529
Ilya Dryomov [Sat, 24 Jan 2026 14:00:24 +0000 (15:00 +0100)]
Merge pull request #67063 from idryomov/wip-74529

qa: don't assume that /dev/sda or /dev/vda is present in unmap.t

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 weeks agoMerge pull request #67048 from idryomov/wip-74513
Ilya Dryomov [Sat, 24 Jan 2026 10:02:02 +0000 (11:02 +0100)]
Merge pull request #67048 from idryomov/wip-74513

qa: krbd_blkroset.t: eliminate a race in the open_count test

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 weeks agoMerge pull request #66622 from ivancich/wip-max-max-reshard-logs-listings xxh-main-test
J. Eric Ivancich [Fri, 23 Jan 2026 20:16:25 +0000 (15:16 -0500)]
Merge pull request #66622 from ivancich/wip-max-max-reshard-logs-listings

rgw: enforce max max for reshard logs listings

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Mingyuan Liang <liangmingyuan@baidu.com>
4 weeks agoMerge pull request #66673 from ivancich/wip-fix-radosgw-admin-obj-put
J. Eric Ivancich [Fri, 23 Jan 2026 19:34:34 +0000 (14:34 -0500)]
Merge pull request #66673 from ivancich/wip-fix-radosgw-admin-obj-put

rgw: `radosgw-admin object put ...` broken w/ versioned buckets

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
4 weeks agorgw: enforce max max for reshard logs listings
J. Eric Ivancich [Fri, 12 Dec 2025 17:54:12 +0000 (12:54 -0500)]
rgw: enforce max max for reshard logs listings

Previously a list of reshard logs could be unlimited. We need to
enforce time limits on CLS ops.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 weeks agoMerge pull request #66623 from ivancich/wip-fix-bi-list-backwards
J. Eric Ivancich [Fri, 23 Jan 2026 17:31:40 +0000 (12:31 -0500)]
Merge pull request #66623 from ivancich/wip-fix-bi-list-backwards

rgw: bucket index list can go backwards and may loop

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
4 weeks agoMerge pull request #67058 from sseshasa/wip-fix-iops-threshold-warning-74501
Sridhar Seshasayee [Fri, 23 Jan 2026 17:17:04 +0000 (22:47 +0530)]
Merge pull request #67058 from sseshasa/wip-fix-iops-threshold-warning-74501

qa: Disable OSD benchmark from running for tests.

Reviewed-by: Laura Flores <lflores@ibm.com>
4 weeks agoMerge pull request #67006 from bluikko/wip-doc-radosgw-ref-links-split1
bluikko [Fri, 23 Jan 2026 14:49:06 +0000 (21:49 +0700)]
Merge pull request #67006 from bluikko/wip-doc-radosgw-ref-links-split1

doc/radosgw: change all intra-docs links to use ref (2 of 6)

4 weeks agoqa: don't assume that /dev/sda or /dev/vda is present in unmap.t
Ilya Dryomov [Fri, 23 Jan 2026 13:48:53 +0000 (14:48 +0100)]
qa: don't assume that /dev/sda or /dev/vda is present in unmap.t

Instead of hard-coding the block device name, use the block device that
is backing the filesystem that the test is running on.  We can be quite
sure it won't be an RBD device ;)

Fixes: https://tracker.ceph.com/issues/74529
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 weeks agoMerge pull request #66914 from afreen23/productive-card
Afreen Misbah [Fri, 23 Jan 2026 10:38:27 +0000 (16:08 +0530)]
Merge pull request #66914 from afreen23/productive-card

mgr/dashboard: Add productive card component

Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
4 weeks agoqa: Disable OSD benchmark from running for tests.
Sridhar Seshasayee [Fri, 12 Sep 2025 08:08:30 +0000 (13:38 +0530)]
qa: Disable OSD benchmark from running for tests.

Disable OSD bench from benchmarking the OSDs for teuthology tests. This is to
help prevent a cluster warning pertaining to the IOPS value not lying within
a typical threshold range from being raised.

The tests can rely on the built-in static values as defined by
osd_mclock_max_capacity_iops_[ssd|hdd] which should be good enough.

Fixes: https://tracker.ceph.com/issues/74501
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
4 weeks agoMerge pull request #67041 from Matan-B/wip-matanb-debug-container wip-kdhaduk-testing-2026-01-23-1229
David Galloway [Thu, 22 Jan 2026 16:34:53 +0000 (11:34 -0500)]
Merge pull request #67041 from Matan-B/wip-matanb-debug-container

container/build.sh: Use dedicated debug tags

4 weeks agoqa: krbd_blkroset.t: eliminate a race in the open_count test
Ilya Dryomov [Wed, 21 Jan 2026 18:41:41 +0000 (19:41 +0100)]
qa: krbd_blkroset.t: eliminate a race in the open_count test

Even at QD=1, dd may take less than 10 seconds to work its way to the
end of a 10M image, producing "No space left on device" error instead
of the expected "Operation not permitted" error which is supposed to
arise from the device getting marked read-only while opened.

Fixes: https://tracker.ceph.com/issues/74513
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 weeks agoMerge pull request #66625 from kshtsk/wip-dnsmasq-preserve-nameservers
Casey Bodley [Thu, 22 Jan 2026 15:22:53 +0000 (10:22 -0500)]
Merge pull request #66625 from kshtsk/wip-dnsmasq-preserve-nameservers

rgw/website: preserve nameservers for future use in dnsmasq

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 weeks agoMerge pull request #66648 from Matan-B/wip-matanb-crimson-flavor-overrides
Matan Breizman [Thu, 22 Jan 2026 14:00:47 +0000 (16:00 +0200)]
Merge pull request #66648 from Matan-B/wip-matanb-crimson-flavor-overrides

qa/config,crontab: Adjust to Crimson flavor cleanup

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
4 weeks agoqa/crontab/teuthology-cronjobs: Use debug flavor
Matan Breizman [Tue, 16 Dec 2025 11:03:25 +0000 (13:03 +0200)]
qa/crontab/teuthology-cronjobs: Use debug flavor

Use the new Debug flavor introduced in https://github.com/ceph/ceph-build/pull/2497.
This should provide more nightly test coverage.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
4 weeks agoqa/crontab/teuthology-cronjobs: Cleanup Crimson tentacle nightly
Matan Breizman [Tue, 16 Dec 2025 11:05:20 +0000 (13:05 +0200)]
qa/crontab/teuthology-cronjobs: Cleanup Crimson tentacle nightly

With https://github.com/ceph/ceph-build/pull/2497 merged we no loger
build Tentacle+Crimson regularly. As Crimson no longer backport changes
into Tentacle, there's no reason to keep testing it.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
5 weeks agoMerge pull request #67037 from tchaikov/wip-cmake-fix-cmake-ld
Ilya Dryomov [Thu, 22 Jan 2026 10:57:59 +0000 (11:57 +0100)]
Merge pull request #67037 from tchaikov/wip-cmake-fix-cmake-ld

cmake: fix undefined PY_LDFLAGS in distutils_install_cython_module

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
5 weeks agoMerge pull request #66749 from ronen-fr/wip-rf-dumptargets
Ronen Friedman [Thu, 22 Jan 2026 10:54:06 +0000 (12:54 +0200)]
Merge pull request #66749 from ronen-fr/wip-rf-dumptargets

osd/scrub: improve scrub target dumps

Reviewed-by: Jon Bailey <jonathan.bailey1@ibm.com>
5 weeks agocontainer/build.sh: Use dedicated debug tags
Matan Breizman [Thu, 22 Jan 2026 10:00:25 +0000 (12:00 +0200)]
container/build.sh: Use dedicated debug tags

https://github.com/ceph/ceph-build/pull/2497 introduced a debug flavor.
This seems to cause conflicts with the image being pushed to quay as one
of the flavors might override the other.

Tag debug build containers explicitly.
Alternative solution would be to skip debug containers all together.
However. these might be useful for development purposes.

Note, prune-quay might also need to be updated once this is merged.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
5 weeks agocontainer/build.sh: cleanup crimson flavors
Matan Breizman [Thu, 22 Jan 2026 09:55:03 +0000 (11:55 +0200)]
container/build.sh: cleanup crimson flavors

We no longer have crimson-flavors see https://github.com/ceph/ceph-build/pull/2497

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
5 weeks agocmake: fix undefined PY_LDFLAGS in distutils_install_cython_module wip-pr-67037-kefu-1
Kefu Chai [Thu, 22 Jan 2026 03:57:37 +0000 (11:57 +0800)]
cmake: fix undefined PY_LDFLAGS in distutils_install_cython_module

The distutils_install_cython_module() function was using ${PY_LDFLAGS}
without defining it, causing the linker to fail with:

  /opt/rh/gcc-toolset-13/root/usr/libexec/gcc/x86_64-redhat-linux/13/ld:
  cannot find -lrados: No such file or directory

This bug was introduced in commit d22734f6cb0 which changed:
  set(ENV{LDFLAGS} "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
to:
  set(ENV{LDFLAGS} "${PY_LDFLAGS}")

However, PY_LDFLAGS was only defined in distutils_add_cython_module(),
not in distutils_install_cython_module(). This meant that during the
install phase, LDFLAGS was set to an empty string, and the linker
couldn't find librados.so and other Ceph libraries in the build
directory.

The bug was exposed by commit 719b74984605b490f23004eb41583a22c934c5fb
which changed rados.pxd to use C preprocessor conditionals (#ifdef
BUILD_DOC) instead of Cython's compile-time IF statements. This meant
the build now required proper linking during the install phase.

Fix by defining PY_LDFLAGS in distutils_install_cython_module():

  set(PY_LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")

This keeps CMAKE_SHARED_LINKER_FLAGS as a space-separated string and
appends the library directory flag, avoiding issues with semicolon
conversion.

Fixes: d22734f6cb0
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
5 weeks agodoc/radosgw: change all intra-docs links to use ref (2 of 6)
Ville Ojamo [Fri, 16 Jan 2026 09:43:31 +0000 (16:43 +0700)]
doc/radosgw: change all intra-docs links to use ref (2 of 6)

Part 2 of 6 to make backporting easier. Depends on part 1.

Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.

The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.

Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.

Use confval instead of literal text for 2 configuration keys in
vault.rst.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
5 weeks agoMerge pull request #66944 from bluikko/wip-doc-radosgw-ref-links1 wip-tomer-test-main-centos9-only
bluikko [Thu, 22 Jan 2026 05:41:27 +0000 (12:41 +0700)]
Merge pull request #66944 from bluikko/wip-doc-radosgw-ref-links1

doc/radosgw: change all intra-docs links to use ref (1 of 6)

5 weeks agodoc/radosgw: change all intra-docs links to use ref (1 of 6)
Ville Ojamo [Fri, 16 Jan 2026 08:55:27 +0000 (15:55 +0700)]
doc/radosgw: change all intra-docs links to use ref (1 of 6)

Part 1 of 6 to make backporting easier. Many of the following parts
depend on this.

Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.

The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.

Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.

Use confval instead of literal text for 2 configuration keys in
vault.rst.
Use Ceph Object Gateway consistently in multisite.rst.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
5 weeks agoMerge pull request #67020 from Matan-B/wip-matanb-crimson-asan-fixes-v2
Kefu Chai [Thu, 22 Jan 2026 03:26:34 +0000 (11:26 +0800)]
Merge pull request #67020 from Matan-B/wip-matanb-crimson-asan-fixes-v2

Revert "common/options: fix heap-use-after-free by using never-destro…

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
5 weeks agoMerge pull request #66998 from ronen-fr/wip-rf-nextdeepscrub
Ronen Friedman [Wed, 21 Jan 2026 18:14:50 +0000 (20:14 +0200)]
Merge pull request #66998 from ronen-fr/wip-rf-nextdeepscrub

osd/scrub: removing the unused next_deepscrub_interval()

Reviewed-by: Samuel Just <sjust@redhat.com>
5 weeks agoMerge pull request #66847 from adk3798/cephadm-teuth-assume-default-image-base
Yuri Weinstein [Wed, 21 Jan 2026 16:31:38 +0000 (08:31 -0800)]
Merge pull request #66847 from adk3798/cephadm-teuth-assume-default-image-base

qa/cephadm: add default container image name base

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
5 weeks agoMerge pull request #66938 from ivancich/wip-orphan-list-empty
Michael J. Kidd [Wed, 21 Jan 2026 16:14:59 +0000 (09:14 -0700)]
Merge pull request #66938 from ivancich/wip-orphan-list-empty

rgw: rgw-orphan-list can continue with empty intermediate file(s)

5 weeks agoMerge pull request #66975 from imran-imtiaz/dashboard
Imran Imtiaz [Wed, 21 Jan 2026 14:34:48 +0000 (14:34 +0000)]
Merge pull request #66975 from imran-imtiaz/dashboard

mgr/dashboard: improve RBD group API endpoint documentation

5 weeks agoRevert "common/options: fix heap-use-after-free by using never-destroyed static"
Matan Breizman [Tue, 20 Jan 2026 13:35:40 +0000 (13:35 +0000)]
Revert "common/options: fix heap-use-after-free by using never-destroyed static"

```
Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL
Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: =================================================================
Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0)
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a)
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a)
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a)
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860>
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr>
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string>
..
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope>
Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]:     #41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast>
```

This reverts commit 1ab0a8cb726cb730954294423acec887b92fa5b0.

Fixes: https://tracker.ceph.com/issues/74481
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
5 weeks agoMerge pull request #66626 from ronen-fr/wip-rf-aborthp-justdoc
Ronen Friedman [Wed, 21 Jan 2026 12:37:24 +0000 (14:37 +0200)]
Merge pull request #66626 from ronen-fr/wip-rf-aborthp-justdoc

doc/ceph.rst: scrub-related 'tell pgid' commands

Related to  https://github.com/ceph/ceph/pull/66515
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
5 weeks agoMerge pull request #66515 from ronen-fr/wip-rf-aborthp
Ronen Friedman [Wed, 21 Jan 2026 12:28:31 +0000 (14:28 +0200)]
Merge pull request #66515 from ronen-fr/wip-rf-aborthp

osd/scrub: support an operator-abort command

Reviewed-by: Samuel Just <sjust@redhat.com>
5 weeks agoMerge pull request #66751 from rhcs-dashboard/list-subsystem
Afreen Misbah [Wed, 21 Jan 2026 10:53:15 +0000 (16:23 +0530)]
Merge pull request #66751 from rhcs-dashboard/list-subsystem

mgr/dashboard: NVme-Subsystem list

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
5 weeks agoMerge pull request #66731 from rhcs-dashboard/carbonize-delete-zonegroup-modal
Afreen Misbah [Wed, 21 Jan 2026 09:20:31 +0000 (14:50 +0530)]
Merge pull request #66731 from rhcs-dashboard/carbonize-delete-zonegroup-modal

mgr/dashboard: carbonize-delete-zonegroup-modal

Reviewed-by: Naman Munet <nmunet@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
5 weeks agoMerge pull request #66988 from VallariAg/wip-update-toomanynamespace-alert
Vallari Agrawal [Wed, 21 Jan 2026 08:26:32 +0000 (13:56 +0530)]
Merge pull request #66988 from VallariAg/wip-update-toomanynamespace-alert

monitoring: update NVMeoFTooManyNamespaces to 4096 ns

5 weeks agomgr/dashboard: NVme-Subsystem list
Puja Shahu [Mon, 29 Dec 2025 07:57:06 +0000 (13:27 +0530)]
mgr/dashboard: NVme-Subsystem list

Fixes: https://tracker.ceph.com/issues/74284
Signed-off-by:pujaoshahu <pshahu@redhat.com>
Signed-off-by: Puja Shahu <pshahu@li-4dbc3fcc-2cf0-11b2-a85c-8cca2743bba1.ibm.com>
Signed-off-by: pujaoshahu <pshahu@redhat.com>
5 weeks agoMerge pull request #66980 from bluikko/wip-doc-rados-fix-unbalanced-backticks
bluikko [Wed, 21 Jan 2026 03:23:38 +0000 (10:23 +0700)]
Merge pull request #66980 from bluikko/wip-doc-rados-fix-unbalanced-backticks

doc/rados: fix unbalanced double backticks markup

5 weeks agoMerge pull request #66982 from bluikko/wip-doc-rados-cache-tiering-broken-link
bluikko [Wed, 21 Jan 2026 03:23:13 +0000 (10:23 +0700)]
Merge pull request #66982 from bluikko/wip-doc-rados-cache-tiering-broken-link

doc/rados: fix links in operations/cache-tiering.rst