Files
my-rook-config/PendingReleaseNotes.md
T
Asish Kumar 0b3605dd84 pool: clean up unused crush rules
Clean up stale CRUSH rules after the Ceph mgr starts so rules left behind by pool failure-domain or device-class changes do not accumulate indefinitely.

The cleanup is guarded by a package-level RWMutex. Pool create and update paths hold the read lock while creating and assigning CRUSH rules, while cluster-wide cleanup holds the write lock before listing pools and deleting unused rules. This keeps pool reconciles parallel with each other while preventing cleanup from deleting a rule that another reconcile has just created but not yet attached to a pool.

Keep direct pool-delete cleanup for the pool's current CRUSH rule, make the cluster-wide cleanup best-effort across all unused rules, and add an operator-level ROOK_DELETE_UNUSED_CRUSH_RULES setting for clusters that need to leave unused custom rules in place.

Document the operator and Helm settings, regenerate the Helm chart docs, and add a pending release note for the default cleanup behavior.

Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
(cherry picked from commit 24a35e4e74)
2026-04-24 22:32:15 +00:00

1.0 KiB

v1.20 Pending Release Notes

Breaking Changes

  • The minimum supported Kubernetes version is v1.31.

Features

  • RGW Account support: Added CephObjectStoreAccount CRD for managing RGW accounts, and accountRef field in CephObjectStoreUser to associate users with accounts. This feature is experimental and currently only supported with the Ceph main branch image (quay.ceph.io/ceph-ci/ceph:main). See the Object Store Accounts documentation for more details.
  • SSE-S3 with Vault Agent: Added support for server-side encryption with SSE-S3 using HashiCorp Vault Agent authentication. See the CephObjectStore Security Settings for more details.
  • Unused CRUSH rule cleanup: Rook now deletes unused CRUSH rules by default after the Ceph mgr starts. Set ROOK_DELETE_UNUSED_CRUSH_RULES to false in the operator config to disable this cleanup.