Commit Graph
980 Commits
Author SHA1 Message Date
Travis Nielsen 62a9debceb core: update all docs and examples to v20.2.1
With the default version now being v20.2.1, also update
all of the examples, documentation, and default CI to run
with that version

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-28 14:09:17 -06:00
Asish Kumar 24a35e4e74 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>
2026-04-24 23:57:40 +05:30
Elias Carter 5a065948e2 doc: fix out of date references to default PgHealthyRegex
Signed-off-by: Elias Carter <elias@dropbox.com>
2026-04-20 09:39:25 -07:00
Alexander Degenhart 17b98da89e csi: add 'CSIMetadataRadosNamespace' parameter to CephFilesystemSubVolumeGroup
This parameter is written to .spec.cephFS.radosNamespace of the generated
ClientProfile.

The parameter is called 'CSIMetadataRadosNamespace' to clarify that it is used
for CSI metadata and unrelated to the actual CephFS (meta)data.

Context:

The ceph-csi CephFS plugin stores additional metadata related to PV(C)s
in RADOS objects in the metadata pool of the CephFS.
By default those objects are stored in the 'csi' RADOS namespace.

For a multi-tenant CephFS setup (that is used by multiple K8s Clusters/
ceph-csi drivers) segregating those additional objects into separate RADOS
namespaces is desireable so the clusters can not modify the metadata of other
clusters (enforced by appropriate ceph client capabilities).

'ceph-csi' implemented this via the `cephFS.radosNamespace` config option for
cluster entries in the `ceph-csi-config` ConfigMap with https://github.com/ceph/ceph-csi/pull/4661.

The `ceph-csi-operator` added support for that config entry by adding
'radosNamespace' to the 'CephFsConfigSpec' of the 'ClientProfile' with
https://github.com/ceph/ceph-csi-operator/pull/165.

Signed-off-by: Alexander Degenhart <degenhart@fim.uni-passau.de>
2026-04-16 00:31:29 +02:00
Travis Nielsen 8dabe11973 Merge pull request #17324 from gonzolino/rook-ceph-mgr-role-secondary
mgr: Add missing RBAC role for ceph-mgr in secondary clusters
2026-04-08 11:43:21 -06:00
Travis Nielsen abacf2e367 Merge pull request #16836 from subhamkrai/update-use-tentacnle
build: use ceph tentacle v20 as default version
2026-04-08 11:20:11 -06:00
Santosh Pillai 700220bfed Merge pull request #17262 from mateenali66/add-cleanup-job-example
deploy/examples: add standalone cleanup-job.yaml
2026-04-08 22:44:47 +05:30
Daniel Gonzalez 6e8bb63705 manifest: add missing rook-ceph-mgr role to secondary cluster
Fixes: https://github.com/rook/rook/issues/17323

Signed-off-by: Daniel Gonzalez <daniel@gonzalez-nothnagel.de>
2026-04-08 15:43:11 +02:00
subhamkrai 6285afc0a4 build: use ceph tentacle v20 as default version
let's use ceph tentacle as default version in deployment

Signed-off-by: subhamkrai <srai@redhat.com>
2026-04-08 15:39:17 +05:30
Travis Nielsen cc626020ba Merge pull request #17250 from sp98/implement-cosuser-accounts
rgw: add accountRef to CephObjectStoreUser CR
2026-04-02 15:56:30 -06:00
Mateen Anjum e3b4217458 manifest: add standalone cleanup-job.yaml example
Add a standalone Job manifest mirroring the cleanup logic the operator
executes via cleanUpJobTemplateSpec when a CephCluster is deleted with
cleanupPolicy enabled.

Useful when the operator-managed cleanup did not run (e.g. force-deleted
cluster) or a node needs manual cleanup outside normal operator flow.

Secrets (ROOK_MON_SECRET, ROOK_CLUSTER_FSID) are sourced from the
rook-ceph-mon secret via secretKeyRef. Namespace is injected via the
Downward API. Only dataDirHostPath and node hostname need manual input.

Closes #17255

Signed-off-by: Mateen Anjum <mateenali66@gmail.com>
2026-04-02 09:50:11 -04:00
Tarun Gupta Akirala 9803964d03 cosi: update default sidecar image version
Encountered this bug in current image kubernetes-sigs/container-object-storage-interface#173
which is fixed in recent release via kubernetes-sigs/container-object-storage-interface#197

Signed-off-by: Tarun Gupta Akirala <tarun.akirala@nutanix.com>
2026-03-31 14:23:20 -07:00
Santosh 3798b00b39 rgw: add accountRef to CephObjectStoreUser CR
Adds AccountRef to the CephObjectStoreUser CR. This helps associate the
user with a RGW account

Signed-off-by: Santosh <sapillai@redhat.com>
2026-03-31 12:47:51 +05:30
Blaine Gardner 3dfc3caf93 Merge pull request #17238 from majiayu000/fix/issue-17235-objectstore-service-labels
ceph: add labels support to CephObjectStore RGW service
2026-03-30 10:37:19 -06:00
subhamkrai 833be6bc76 mon: add floating mon api changes and implementation
for tnf, adding initial api changes and implementation for floating mon.
The current pr follow embeded yaml approach for creating floating mon
deploymen instead of configmap approach.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-03-30 15:45:16 +05:30
majiayu000 ac6ec79865 object: add labels field to CephObjectStore RGW service spec
Allow users to configure custom labels on CephObjectStore RGW services
by adding a Labels field to the RGWServiceSpec, following the existing
pattern used for Annotations. This enables use cases such as service
mesh integration and monitoring discovery that require specific labels
on Kubernetes services.

Fixes: #17235
Signed-off-by: majiayu000 <1835304752@qq.com>
2026-03-28 17:46:28 +08:00
Niels de Vos 02ed13afa0 nvmeof: update the ceph-csi-operator example to deploy Ceph-CSI/NVMe-oF
There is no need to manually deploy Ceph-CSI/NVMe-oF anymore, the YAMLs
can be removed as the example operator.yaml includes the options now.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2026-03-24 12:18:45 +01:00
Niels de Vos 5930866833 csi: update ceph-csi-operator CRDs to v0.6.0
The latest release of ceph-csi-operator is able to deploy
Ceph-CSI/NVMe-oF.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2026-03-24 12:18:45 +01:00
Santosh fad2f6d793 rgw: create account root user
This PR creates the account root user by default when
CephObjectStoreAccount CR is created  and skips it if
`spec.rootuser.skipCreate` is true.

Signed-off-by: Santosh <sapillai@redhat.com>
2026-03-20 10:45:28 +05:30
Santosh Pillai 7a0afce65f Merge pull request #17041 from sp98/rgw-account-controller
rgw: controller for account management
2026-03-13 21:37:02 +05:30
Niraj Yadav c5613a3320 csi: update ceph-csi image to v3.16.2
This patch updates the ceph-csi image version
to v3.16.2

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
2026-03-13 15:35:34 +05:30
Santosh c4ec7faee5 rgw: controller for account management
PR only focuses on account creation, deletion and update.

Signed-off-by: Santosh <sapillai@redhat.com>
2026-03-13 11:21:46 +05:30
Travis Nielsen f244f47eea Merge pull request #17102 from cobaltcore-dev/pr2-new-pools
rgw: support new RGW pools in shared pools zone json config
2026-03-11 16:13:07 -06:00
Artem Torubarov 91086e5803 rgw: fix integration test to detect new zone pools
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-03-11 16:39:53 +01:00
Artem Torubarov 3c0bfd8572 rgw: integration test to check new pools in zone.json
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-03-09 15:11:28 +01:00
Blaine Gardner 129b0f9524 Merge pull request #17116 from OdedViner/rgw_mon_param
exporter: add configurable port for ceph exporter
2026-03-05 10:11:10 -07:00
Artem Torubarov 845293c3cd rgw: not update shared pools if prev pool is not empty
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-03-04 14:36:38 +01:00
Travis Nielsen f1d2cf7a2b Merge pull request #17119 from iPraveenParihar/upgrade-sidecar-versions
deploy: update CSI sidecars to latest versions available
2026-02-26 10:50:49 -07:00
Travis Nielsen 74a502b3cb Merge pull request #17101 from cobaltcore-dev/pr1-race-condition-fix
rgw: force objectStore controller to wait until zone and sharedPools are
2026-02-26 10:49:27 -07:00
Artem Torubarov a7f176b366 rgw: skip non-raw commands on object deletion path when pools not exists
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-02-26 09:48:15 +01:00
Praveen M 6b55092abf csi: update CSI sidecars to latest versions available
Updated the following csi sidecars to their latest available versions:
- csi-attacher: v4.11.0
- csi-snapshotter: v8.5.0
- csi-resizer: v2.1.0
- csi-provisioner: v6.1.1
- csi-node-driver-registrar: v2.16.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-02-26 10:25:49 +05:30
Oded Viner c2a2fc4241 exporter: add configurable port for ceph exporter
the ceph exporter port was hardcoded to 9926, preventing
co-location of exporters from different ceph clusters on
the same node. add a port field to cephexporterspec so
users can override it via spec.monitoring.exporter.port.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-02-25 16:06:02 +02:00
subhamkrai 3f0b92a1cc csi: add comment for alternative namespace
when cluster is deployed in namespace other than rook-ceph,
csi-operator.yaml should also follow similar approach on how
rook operator.yaml and other yaml are updated to deploy in
alternate namespace using the comment `# namesapce: operator`.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-25 11:40:26 +05:30
Artem Torubarov b47d2c2f79 rgw: force objectStore controller to wait until zone and sharedPools are ready
Fixes race condition for rgw multisite deployments caused by ObjectStore
and Zone controllers calling period commit concurrently. See: https://github.com/rook/rook/issues/17013

Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-02-24 11:43:57 +01:00
Oded Viner 2ebb5d968a nvmeof: add nvmeof minikube canary test without csi operator
adds a new nvmeof minikube canary job for ceph v20.
the test deploys rook with csi operator disabled for nvmeof flow.
it validates pvc and pod io, gateway restart, and data persistence.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-02-18 13:22:50 +02:00
Joshua Hoblitt 3ef0c90ef8 object: add ObjectStoreUserSpec.OpMask field
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-02-10 15:10:28 -07:00
Praveen M 1ad4c04f14 csi: update ceph-csi image to 3.16.1
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-02-10 20:11:44 +05:30
subhamkrai 08344f39f6 build: update deprecated api GetEventRecorderFor
with controller runtime latest version vO.23.0, golangci lint
is complaining about deprecated api deprecated.
This commit updates the api and adds the requried rbacs

Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-09 21:48:02 +05:30
Travis Nielsen 002f33898a Merge pull request #17019 from OdedViner/nvmeof_provisioner_images
nvmeof: update expansion fields and sidecar images
2026-02-06 07:14:24 -07:00
Oded Viner 83c0b98418 nvmeof: update expansion fields and sidecar images
add expand secrets and set volume expansion in examples
update provisioner and resizer images to canary

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-02-05 20:41:52 +02:00
Travis Nielsen a1845efffb Merge pull request #17029 from subhamkrai/update-csi-operator
csi: update ceph csi operator to 0.5
2026-02-05 11:14:35 -07:00
subhamkrai 3f3917cbd1 csi: update ceph csi operator to 0.5
this commit update the ceph-csi-operator
to latest 0.5 release

Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-05 23:12:23 +05:30
subham rai fa4557a93b Merge pull request #16922 from subhamkrai/remove-fencing-obsolete-code
csi: remove automated node fencing code
2026-02-05 13:22:07 +05:30
Joshua Hoblitt 3a15255583 nfs: add CephNFS.spec.server.{image,imagePullPolicy} fields
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-01-29 13:18:05 -07:00
Tobias Florek db814dcd4b security: remove nodes/proxy rbac grants
It has only been used by the flex driver which is long gone.

This removes the nodes/proxy RBAC grant from the helm chart, the example
YAMl and the security design docs.

Signed-off-by: Tobias Florek <me@ibotty.net>
2026-01-28 08:16:19 +01:00
subhamkrai 20f350a71a csi: remove automated node fencing code
since node fencing is disabled in rook for sometime
and this feature is implemented in csi. So, this
commits remove obsolete code related to node loss

Signed-off-by: subhamkrai <srai@redhat.com>
2026-01-22 15:19:12 +05:30
Travis Nielsen 219710f25d Merge pull request #16689 from OdedViner/nmveof_new2
nvmeof: add nvme-of gateway crd support
2026-01-20 08:38:29 -07:00
Oded Viner 88a9bf5c7f nvmeof: add nvme-of gateway crd support
adds CephNVMeOFGateway crd for managing ceph nvme-of gateways.
supports configurable instances, placement, resources,
and networking options.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-01-20 13:19:18 +02:00
Praveen M 8ebf07bbfe csi: update csi-addons to v0.14.0
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-16 11:50:18 +05:30
Praveen M 31c7592d03 csi: update external sidecar images
Below sidecars are updated with latest available versions

csi-attacher: v4.10.0
csi-snapshotter: v8.4.0
csi-resizer: v2.0.0
csi-provisioner: v6.0.0
csi-node-driver-registrar: v2.15.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-14 14:47:11 +05:30