]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
3 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>
(cherry picked from commit cbadee607f9c53459b962df99e2c19b646313505)

3 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>
(cherry picked from commit 166cb98567619edbee1ddac9c4961fff4703920a)

3 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>
(cherry picked from commit bfe2294cc838f9a875c2f7ea534196d4c5bf1b80)

3 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>
(cherry picked from commit 74d1ea4ed05a601c35bfb4af3d6ab14eb866427a)

3 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>
(cherry picked from commit 51fd62a5d6f40fb9f02530d1ee3304085d9942c0)

3 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>
(cherry picked from commit 493aa16dc21671633f8c4ddf00134d1cba68584a)

3 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>
(cherry picked from commit bca0d66c5e7ac98006b3658b53a9e83faca7c70f)

3 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>
(cherry picked from commit 77293673ccd2266967e519857d3d9c8d83ca94dc)

3 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>
(cherry picked from commit b6a8822f9e50cbf0713a8b747a65d75e12d86b2e)

3 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>
(cherry picked from commit b8e422127b95748860c7b7a670c6c8f12ce14618)

3 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>
(cherry picked from commit f7b15b982a96a25a98e7b47755d4317723c4aa8d)

3 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>
(cherry picked from commit e8ce247d9267d2a453865c4b3d9692852d979b2a)

3 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>
(cherry picked from commit ba57b3b5479dc238b4d041a6f82eaf2c38a97ea1)

3 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>
(cherry picked from commit ff90e0e41784a99579dd12385db7fc0ccf5545a2)

3 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>
(cherry picked from commit 098e028b8762a6b18173f69224cbbfe3eef8798d)

3 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>
(cherry picked from commit 51a2bab8ed48b2dc698ac4eeede48d94175b1851)

3 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>
(cherry picked from commit a9f33559d69cff2d33d3d4c8ac4014fb77b5d665)

3 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>
(cherry picked from commit 47dfe121cfdf557b7a0eaa7d7d9478d5da3719e6)

3 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>
(cherry picked from commit 37441c753da3925c874a94ee3ff862bb725babb8)

3 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>
(cherry picked from commit 755d5245566be43ce020daf8fb80ba3ec774dff5)

3 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>
(cherry picked from commit 5df283a98114024d852422b43624810bcf5fe8cb)

3 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>
(cherry picked from commit 338acf28ece964a859cf2f44bc29a84f36cd9510)

3 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>
(cherry picked from commit 9b3e4ee1fe7e3d1e6ea2c00376986bbfc17f73f4)

3 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>
(cherry picked from commit 6ecbb1c7d5878cc61156f0f79398437f1de3ca84)

3 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>
(cherry picked from commit 6ca5288570a8e6f4edb7b4f7ca0c47b9c4f0d212)

3 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>
(cherry picked from commit b90b0c3c51f2ed16952509cac41b16eff27009a5)

3 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>
(cherry picked from commit 3665599fe6a8003be8b88116f7c484bef6aba83b)

3 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>
(cherry picked from commit d702f8e19f2ce72dc1fc8a7b029f792ec9d23075)

3 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>
(cherry picked from commit af409f19c9104301feb7e4620138f9de46434cc8)

3 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>
(cherry picked from commit 4dc7b06e4eb2071afa2847e8930d0e30ab532da6)

3 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>
(cherry picked from commit c2d8e7127efd4391f64e19cd76e0f1b701289412)

Conflicts:
src/auth/Auth.h: header include movement
src/common/ceph_context.h: header include movement

3 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>
(cherry picked from commit 0e3e34565f5730f8baefecde9be592587129ba9d)

3 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>
(cherry picked from commit ba6bb55c7c977e9858e242e74d848273617c221b)

3 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>
(cherry picked from commit dfffd730268e35bd357277963a0dc98ceae947f5)

3 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>
(cherry picked from commit f8cfded7e2e3ec857ad18cbe492f5d81fa7eb4d0)

3 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>
(cherry picked from commit 96a5909ae5e4512c0f94661e207ce6289e05ec5f)

3 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>
(cherry picked from commit dca778213b45d3bc912d4fdc0f94f55fa2740e7b)

3 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>
(cherry picked from commit 1330335661604e50468c8a0adc8fc73a2ab79b49)

3 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>
(cherry picked from commit 1232144f933b015759cb39f218157b92f57b6a4b)

3 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>
(cherry picked from commit 0d4c67f2fd03aea9f65ade736e60f807d9da832e)

Conflicts:
src/auth/cephx/CephxServiceHandler.cc: header include movement

3 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>
(cherry picked from commit 334c6e66714a3e4f2e41790ee4d21f3a3ee92d5e)

3 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>
(cherry picked from commit c37d1f44b64e0079c5c71232b6472a7841768d40)

3 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>
(cherry picked from commit 36345741b1dee9482e40aa9db847375dacc73107)

3 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>
(cherry picked from commit 2af51362afdd1da9f1195f3394716d09383a0c88)

3 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>
(cherry picked from commit 31c07fbbf3b8c911a51b41791d6b6265923acda2)

3 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>
(cherry picked from commit 3085da064b838b52c638a9121187d1341b591066)

3 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>
(cherry picked from commit c259448c46b5235f0aa220cddb5d7e14f469b147)

3 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>
(cherry picked from commit c73c75d34051cef09e9695dcf85a24a4d024faaf)

3 weeks agomsg/Dispatcher: simplify and optimize the `marrival` tree
Max Kellermann [Wed, 16 Oct 2024 10:51:04 +0000 (12:51 +0200)]
msg/Dispatcher: simplify and optimize the `marrival` tree

This replaces the two containers `marrival` and `marrival_map` which
needs lookups with one single `std::multiset` and eliminates all
lookups completely; only `add_arrival()` ever needs to walk the tree.

To do that, an iterator field is added to `class QueueItem` which is
later used to erase the `std::multiset` item.

This is not only simpler and faster, but also smaller: the resulting
binary is 2.5 kB smaller.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 9276d24355d3484312af097209481e0163dbd2ff)

3 weeks agomsg/async/AsyncConnection: move the writeCallback instead of copying it
Max Kellermann [Tue, 8 Oct 2024 12:52:13 +0000 (14:52 +0200)]
msg/async/AsyncConnection: move the writeCallback instead of copying it

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 425fc4d21d33a8f1e7b47e7698a8c5b97bba71b3)

3 weeks agomsg/async/AsyncConnection: do not wrap writeCallback in `std::optional`
Max Kellermann [Tue, 8 Oct 2024 12:50:02 +0000 (14:50 +0200)]
msg/async/AsyncConnection: do not wrap writeCallback in `std::optional`

Since `std::function` is nullable and as an `operator bool()`, we can
easily eliminate the `std::optional` overhead.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit c72dae9b6e4b37c508a3ebb1410172fb7c434e8a)

3 weeks agomsg/async/frames_v2: use zero-initialization instead of memset()
Max Kellermann [Fri, 4 Oct 2024 15:29:39 +0000 (17:29 +0200)]
msg/async/frames_v2: use zero-initialization instead of memset()

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 10a9914f848163a8fd74cdaa130cfb4d082cd45d)

3 weeks agomsg/async/Event: use zero-initialization instead of memset()
Max Kellermann [Fri, 4 Oct 2024 15:27:28 +0000 (17:27 +0200)]
msg/async/Event: use zero-initialization instead of memset()

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 7fcb8a8afaf5a61e525e8cbc01efae5b14f6cc4e)

3 weeks agomsg/Message: use zero-initialization instead of memset()
Max Kellermann [Fri, 4 Oct 2024 15:22:20 +0000 (17:22 +0200)]
msg/Message: use zero-initialization instead of memset()

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 62ebf16f71fa60fc01fb438c4316990da2239679)

3 weeks agomsg/async/ProtocolV2: eliminate redundant std::map lookups
Max Kellermann [Tue, 8 Oct 2024 10:41:45 +0000 (12:41 +0200)]
msg/async/ProtocolV2: eliminate redundant std::map lookups

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 6597d773611b6e74cacad5f2645ab6a8da99c634)

3 weeks agomsg/async/ProtocolV[12]: reverse the std::map sort order
Max Kellermann [Tue, 8 Oct 2024 10:48:03 +0000 (12:48 +0200)]
msg/async/ProtocolV[12]: reverse the std::map sort order

This allows eliminating one lookup in `_get_next_outgoing()` because
we can pass the iterator instead of the key to `erase()`.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 342a25b9df13319ff6cd661eab1c546229ce0e14)

3 weeks agomsg/async/ProtocolV[12]: use `auto`
Max Kellermann [Tue, 8 Oct 2024 08:57:36 +0000 (10:57 +0200)]
msg/async/ProtocolV[12]: use `auto`

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit 988705a49b58dfd78a8cc7c1a865343f925a8c53)

3 weeks agomsg/async/ProtocolV[12]: use range-based `for`
Max Kellermann [Tue, 8 Oct 2024 08:58:44 +0000 (10:58 +0200)]
msg/async/ProtocolV[12]: use range-based `for`

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit a14384478648dcb712ad55c83e55a2be736b43b3)

3 weeks agomsg/async/ProtocolV1: use zero-initialization instead of memset()
Max Kellermann [Fri, 4 Oct 2024 15:28:43 +0000 (17:28 +0200)]
msg/async/ProtocolV1: use zero-initialization instead of memset()

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
(cherry picked from commit cae1af38601df8fccd3d6b32714864bc4ada4334)

3 weeks agomsg/async: Encode message once features are set
Aishwarya Mathuria [Thu, 5 May 2022 03:02:51 +0000 (08:32 +0530)]
msg/async: Encode message once features are set

Modify send_message to check if features are set before trying to encode a
message.
If features are not set at this point, we will encode the message at a
later stage (in write_event) when the connection will be in ready state
which implies that the features will definitely be set.

Fixes: https://tracker.ceph.com/issues/52657
Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
(cherry picked from commit 7268211161ba5d2c47464c19fb25555ae194841d)
(cherry picked from commit 542de25001d89a23d370fe99c2958b8bc38af436)

3 weeks agoMerge pull request #62918 from rishabh-d-dave/wip-71018-squid
Christopher Hoffman [Fri, 10 Oct 2025 18:17:25 +0000 (14:17 -0400)]
Merge pull request #62918 from rishabh-d-dave/wip-71018-squid

squid: mgr/vol: add command to get snapshot path

3 weeks agoMerge pull request #63222 from rishabh-d-dave/wip-71276-squid
Christopher Hoffman [Fri, 10 Oct 2025 18:13:25 +0000 (14:13 -0400)]
Merge pull request #63222 from rishabh-d-dave/wip-71276-squid

squid: mgr/vol: make "snapshot getpath" cmd work with v1 and legacy

3 weeks agoMerge pull request #64205 from rishabh-d-dave/wip-71854-squid
Christopher Hoffman [Fri, 10 Oct 2025 18:09:53 +0000 (14:09 -0400)]
Merge pull request #64205 from rishabh-d-dave/wip-71854-squid

squid: mgr/vol: include group name in subvolume's pool namespace name

3 weeks agoMerge pull request #65838 from phlogistonjohn/jjm-rmc-backport-squid
Dan Mick [Thu, 9 Oct 2025 16:39:36 +0000 (09:39 -0700)]
Merge pull request #65838 from phlogistonjohn/jjm-rmc-backport-squid

squid: run-make-check.sh: handle sudo and command that may not run in container

3 weeks agoMerge pull request #65444 from NitzanMordhai/wip-72919-squid
NitzanMordhai [Thu, 9 Oct 2025 05:51:42 +0000 (08:51 +0300)]
Merge pull request #65444 from NitzanMordhai/wip-72919-squid

squid: suites/rados/cephadm: typo in ignore list for still running message

3 weeks agoMerge pull request #65844 from phlogistonjohn/jjm-bwc-backports-s
David Galloway [Thu, 9 Oct 2025 00:22:56 +0000 (20:22 -0400)]
Merge pull request #65844 from phlogistonjohn/jjm-bwc-backports-s

squid: sync build-with-container patches from main

3 weeks agoscript/build-with-container: improve error handling for invalid distros
John Mulligan [Wed, 8 Oct 2025 20:41:36 +0000 (16:41 -0400)]
script/build-with-container: improve error handling for invalid distros

Instead of throwing a long obnoxious traceback at the user if the value
supplied to -d/--distro is invalid do something nicer. For example:
```
$ ./src/script/build-with-container.py -d trixy  -e build
usage: build-with-container.py [-h] [--help-build-steps]
build-with-container.py: error: argument --distro/-d: unknown distro: 'trixy' not in centos10, centos10stream, centos8, centos9, centos9stream, rocky9, rockylinux9, rocky10, rockylinux10, fedora41, fc41, fedora42, fc42, fedora43, fc43, ubuntu20.04, ubuntu-focal, focal, ubuntu22.04, ubuntu-jammy, jammy, ubuntu24.04, ubuntu-noble, noble, debian12, debian-bookworm, bookworm, debian13, debian-trixie, trixie

```

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

3 weeks agoscript/build-with-container: add debian 13 (trixie)
John Mulligan [Wed, 8 Oct 2025 21:04:27 +0000 (17:04 -0400)]
script/build-with-container: add debian 13 (trixie)

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

3 weeks agoscript/build-with-container: add ubuntu 20.04 (focal)
John Mulligan [Wed, 8 Oct 2025 17:30:18 +0000 (13:30 -0400)]
script/build-with-container: add ubuntu 20.04 (focal)

Add ubuntu 20.04 (focal) to the available list of distro kinds.

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

3 weeks agoscript/build-with-container: add a pair of fedora distro versions
John Mulligan [Wed, 8 Oct 2025 14:28:30 +0000 (10:28 -0400)]
script/build-with-container: add a pair of fedora distro versions

Add fedora 42 and the soon-to-be-released fedora 43.

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

3 weeks agoscript/build-with-container: lightly organize the distro kind aliases
John Mulligan [Wed, 8 Oct 2025 14:26:58 +0000 (10:26 -0400)]
script/build-with-container: lightly organize the distro kind aliases

Do a tiny reorg of the distro kind aliases and container images to keep
the EL distros together and comment out each "section".

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

3 weeks agoscript/build-with-container: be consistent with naming in distro kinds
John Mulligan [Wed, 8 Oct 2025 14:23:25 +0000 (10:23 -0400)]
script/build-with-container: be consistent with naming in distro kinds

Update the DistroKind enum and related items so that the naming is
applied consistently. That is: the canonical (no pun indented) form
of the name is "<name><version>" and codenames, such as "jammy" or
"bookworm" are aliases. This matches the previously existing code.

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

3 weeks agosrc/script: add bookworm to build-with-container.py
Dan Mick [Tue, 7 Oct 2025 01:48:42 +0000 (18:48 -0700)]
src/script: add bookworm to build-with-container.py

..and its friend buildcontainer-setup.sh

Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 34b497c2f3652e7d30c7b7476b711fd9f1f4ecac)

3 weeks agobuild-with-container: ensure npm dir is set up before configure
John Mulligan [Thu, 28 Aug 2025 23:39:06 +0000 (19:39 -0400)]
build-with-container: ensure npm dir is set up before configure

When the npm cache path option is passed the npm cache dir is passed
to all container `run` commands, ensure the dir has been created
before the first container command (configure) is used.

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

3 weeks agorun-make-check.sh: handle sudo and command that may not run in container
John Mulligan [Tue, 18 Mar 2025 23:26:59 +0000 (19:26 -0400)]
run-make-check.sh: handle sudo and command that may not run in container

Work around a known failure that sudo is not expected to be present in
container images. Prepare to handle a failure to set a sysctl param.

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

3 weeks agoinstall-deps: extract SUDO variable logic into a reusable function
John Mulligan [Sat, 15 Mar 2025 16:44:00 +0000 (12:44 -0400)]
install-deps: extract SUDO variable logic into a reusable function

While the function is pretty simple and could be copy-pasted I
prefer to extract things into functions to indicate that the
logic is used/repeated elsewhere to ward off making changes to
one copy vs the other.

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

4 weeks agoMerge pull request #65462 from pdvian/wip-72853-squid
Yuri Weinstein [Mon, 6 Oct 2025 14:55:29 +0000 (07:55 -0700)]
Merge pull request #65462 from pdvian/wip-72853-squid

squid: mgr/DaemonState: Minimise time we hold the DaemonStateIndex lock

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 weeks agoMerge pull request #65214 from ifed01/wip-ifed-discard-threads-better-lifecycle-squi
Yuri Weinstein [Mon, 6 Oct 2025 14:52:59 +0000 (07:52 -0700)]
Merge pull request #65214 from ifed01/wip-ifed-discard-threads-better-lifecycle-squi

squid: blk/kernel: improve DiscardThread life cycle.

Reviewed-by: YiteGu <yitegu0@gmail.com>
4 weeks agoMerge pull request #65006 from mchangir/wip-72564-squid
Yuri Weinstein [Mon, 6 Oct 2025 14:51:59 +0000 (07:51 -0700)]
Merge pull request #65006 from mchangir/wip-72564-squid

squid: mgr: avoid explicit dropping of ref

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 weeks agoMerge pull request #65335 from abitdrag/wip-72817-squid
Ilya Dryomov [Sun, 5 Oct 2025 13:17:48 +0000 (15:17 +0200)]
Merge pull request #65335 from abitdrag/wip-72817-squid

squid: auth: msgr2 can return incorrect allowed_modes through AuthBadMethodFrame

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
4 weeks agoMerge pull request #64739 from VinayBhaskar-V/wip-72319-squid
Yuri Weinstein [Thu, 2 Oct 2025 17:27:31 +0000 (10:27 -0700)]
Merge pull request #64739 from VinayBhaskar-V/wip-72319-squid

squid: rbd-mirror: prevent image deletion if remote image is not primary

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 weeks agoMerge pull request #65665 from kchheda3/wip-73055-squid
Yuri Weinstein [Wed, 1 Oct 2025 18:31:45 +0000 (11:31 -0700)]
Merge pull request #65665 from kchheda3/wip-73055-squid

squid: rgw/account: bucket acls are not completely migrated once the user is migrated to an account

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 weeks agoMerge pull request #65709 from aaSharma14/wip-73293-squid
Aashish Sharma [Tue, 30 Sep 2025 05:15:24 +0000 (10:45 +0530)]
Merge pull request #65709 from aaSharma14/wip-73293-squid

squid: monitoring: fix MTU Mismatch alert rule and expr

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
5 weeks agoMerge pull request #65706 from rhcs-dashboard/wip-73274-squid
Pedro Gonzalez Gomez [Mon, 29 Sep 2025 11:52:15 +0000 (13:52 +0200)]
Merge pull request #65706 from rhcs-dashboard/wip-73274-squid

squid: mgr/dashboard: Blank entry for Storage Capacity in dashboard under Cluster > Expand Cluster > Review

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@ibm.com>
5 weeks agomonitoring: fix MTU Mismatch alert rule and expr
Aashish Sharma [Wed, 2 Jul 2025 11:05:14 +0000 (16:35 +0530)]
monitoring: fix MTU Mismatch alert rule and expr

Fixes: https://tracker.ceph.com/issues/73290
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit bee24dec441b9e6b263e4498c2ab333b0a60a52d)

Conflicts:
monitoring/ceph-mixin/prometheus_alerts.yml
monitoring/ceph-mixin/tests_alerts/test_alerts.yml
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-key-value/table-key-value.component.scss

5 weeks agorelease note: add note for change in format of name of pool...
Rishabh Dave [Tue, 3 Jun 2025 18:56:33 +0000 (00:26 +0530)]
release note: add note for change in format of name of pool...

namespace of CephFS volumes.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f350d9800024661eecdfd7da6d57fa0e0324d981)

5 weeks agomgr/dashboard: Blank entry for Storage Capacity in dashboard under Cluster > Expand...
Naman Munet [Wed, 24 Sep 2025 07:23:40 +0000 (12:53 +0530)]
mgr/dashboard: Blank entry for Storage Capacity in dashboard under Cluster > Expand Cluster > Review

https://tracker.ceph.com/issues/73220

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

5 weeks agoMerge pull request #64456 from cbodley/wip-72090-squid
Yuri Weinstein [Fri, 26 Sep 2025 16:08:49 +0000 (09:08 -0700)]
Merge pull request #64456 from cbodley/wip-72090-squid

squid: deb/mgr: remove deprecated distutils from ceph-mgr.requires

Reviewed-by: Nizamudeen A <nia@redhat.com>
5 weeks agoMerge pull request #65141 from mchangir/wip-70925-squid
Christopher Hoffman [Fri, 26 Sep 2025 16:07:55 +0000 (12:07 -0400)]
Merge pull request #65141 from mchangir/wip-70925-squid

squid: mds: fix heap-use-after-free in C_Flush_Journal

5 weeks agoMerge pull request #65620 from aaSharma14/wip-73167-squid
Aashish Sharma [Fri, 26 Sep 2025 14:07:55 +0000 (19:37 +0530)]
Merge pull request #65620 from aaSharma14/wip-73167-squid

squid: mgr/dashboard: fix zone update API forcing STANDARD storage class

Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 weeks agoMerge pull request #65671 from aaSharma14/wip-73231-squid
Aashish Sharma [Fri, 26 Sep 2025 05:11:59 +0000 (10:41 +0530)]
Merge pull request #65671 from aaSharma14/wip-73231-squid

squid: monitoring: fix "In" OSDs in Cluster-Advanced grafana panel. Also change units from decbytes to bytes wherever used in the panel

Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 weeks agorelease note: add a note for "snapshot getpath" command
Rishabh Dave [Mon, 7 Apr 2025 14:39:44 +0000 (20:09 +0530)]
release note: add a note for "snapshot getpath" command

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit a59b1fa431e2b546877c160beb5f67f2970776f0)

5 weeks agodoc/cephfs: add doc for "snapshot getpath" cmd
Rishabh Dave [Mon, 7 Apr 2025 14:36:33 +0000 (20:06 +0530)]
doc/cephfs: add doc for "snapshot getpath" cmd

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 9e40a5c8d7a5cd6e4c1929559c4c7e3411653de5)

5 weeks agoqa/cephfs: add tests for "subvolume snapshot getpath" cmd
Rishabh Dave [Mon, 7 Apr 2025 14:14:57 +0000 (19:44 +0530)]
qa/cephfs: add tests for "subvolume snapshot getpath" cmd

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 870cbf62d288ae09ea06a5da112ea62156336924)

5 weeks agomgr/vol: add command to get snapshot path
Rishabh Dave [Wed, 2 Apr 2025 15:25:32 +0000 (20:55 +0530)]
mgr/vol: add command to get snapshot path

Fixes: https://tracker.ceph.com/issues/70815
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 50d28992d99fcd67390815aa42f9da8ffaa82575)

Conflicts:
src/pybind/mgr/volumes/fs/volume.py
- Line where the original patch makes the change is slightly different
  in main compared to Squid branch, leading to conflict.

5 weeks agomonitoring/ceph_mixin: fix Cluster - Advanced OSD grafana panel
Aashish Sharma [Wed, 17 Sep 2025 06:58:16 +0000 (12:28 +0530)]
monitoring/ceph_mixin: fix Cluster - Advanced OSD grafana panel

1. Fixes the promql expr used to calculate "In" OSDs in
   ceph-cluster-advanced.json.
2. Fixes the color coding for the single state panels used in the OSDs
   grafana panel like "In", "Out" etc

Fixes: https://tracker.ceph.com/issues/72810
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 53a6856d603e0fe4ff31f76e19263a80359a9f1d)

5 weeks agoMerge pull request #65659 from ceph/wip-squid-noble
David Galloway [Wed, 24 Sep 2025 19:35:22 +0000 (15:35 -0400)]
Merge pull request #65659 from ceph/wip-squid-noble

squid: cmake: remove _FORTIFY_SOURCE define

5 weeks agoMerge pull request #64605 from cbodley/wip-72190-squid
Yuri Weinstein [Wed, 24 Sep 2025 18:42:50 +0000 (11:42 -0700)]
Merge pull request #64605 from cbodley/wip-72190-squid

squid: deb/cephadm: add explicit --home for cephadm user

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
5 weeks agorgw/account: bucket acls are not completely migrated once the user is migrated to...
kchheda3 [Wed, 3 Sep 2025 14:48:42 +0000 (10:48 -0400)]
rgw/account: bucket acls are not completely migrated once the user is migrated to an account

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

5 weeks agocmake: remove _FORTIFY_SOURCE define
Casey Bodley [Wed, 3 Sep 2025 17:22:30 +0000 (13:22 -0400)]
cmake: remove _FORTIFY_SOURCE define

according to `dpkg-buildflags`, ubuntu 24 raised this value to
`-D_FORTIFY_SOURCE=3` which causes `error: "_FORTIFY_SOURCE" redefined`
compilation failures because Ceph itself adds `-D_FORTIFY_SOURCE=2`

`_FORTIFY_SOURCE` is a hardening option. both our rpm and debian builds
already specify that via environment variables, so Ceph's cmake should
leave it alone

Fixes: https://tracker.ceph.com/issues/72361
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 66bec97b0dc90b91f5be586351f52082beb6374a)