Commit Graph
1187 Commits
Author SHA1 Message Date
subhamkrai ec3953ea34 csi: update csi-operator to v1.0.0
This commit update the csi-operator to latest v1.0.0.
we need to manually patch the csi drivers with the new serviceAccount
name that are being creating based on the latest ceph-csi-operator
release v1.0.0 where serviceAccount are being separate from csi-operator
chart.

co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 06452991bf)
2026-05-21 15:22:41 -06:00
Oded Viner 81e10ad5bf security: remove net_raw from operator-openshift.yaml scc
net_raw is listed in the rook-ceph scc allowedcapabilities
but no daemon uses it — all pods explicitly drop net_raw.
remove it to align with the go scc helper and helm charts.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 572527d476)
2026-05-14 17:09:43 +00:00
subhamkrai 536909a58b pool: add stripe_unit with erasure-code-profile set
this commit adds flag stripe_unit for the command
ceph osd erasure-code-profile set [flags]. This key
increase perfomance for ec pool. The default value
is 4kib/4096 bytes.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 9fb0582dd6)
2026-05-14 16:38:55 +00:00
subhamkrai a9d29bdec6 csi: move csi management to admin
Going forward, admin will manage the csi operator
CR's and rook will only manage Ceph Connection cr
and client Profile cr.

The old csi driver is completely removed from Rook
and can no longer be used starting in Rook v1.20.

The upgrade guide will contain the needed transition steps
for managing the csi operator settings.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 4eefad42e8)
2026-05-12 12:49:21 -10:00
Travis Nielsen 97926f1dc9 Merge pull request #17470 from rook/mergify/bp/release-1.20/pr-17464
core: add default ResourceRequirements for cmd-reporter (backport #17464)
2026-05-12 12:47:37 -10:00
mergify[bot] e51203798d Merge pull request #17513 from rook/mergify/bp/release-1.20/pr-17474
core: Declare concurrent cluster reconciles stable (backport #17474)
2026-05-12 10:38:37 +00:00
Travis Nielsen 4182fe67a1 core: declare stable concurrent cluster reconciles
The ROOK_RECONCILE_CONCURRENT_CLUSTERS feature was implemented
in v1.19. This feature has been stable, with no related issues
reported. The feature is tested in the CI with no known
stability issues. Let's declare this feature as stable.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 45ec32e513)
2026-05-11 22:50:18 +00:00
Oded Viner 67520301ac nvmeof: add sys_admin to scc allowedcapabilities for gateway pods
the nvmeof gateway requires privileged containers with
sys_admin capability. the rook-ceph scc only allowed mknod,
causing pod creation to fail on openshift with:
"unable to validate against any security context constraint"

add sys_admin to allowedcapabilities in the helm chart sccs
and the go scc helper. this does not affect other daemons
(osd, rgw, mgr, mon) since they do not request sys_admin.

the operator-openshift.yaml example already includes
sys_admin, so this aligns the helm charts to match.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit f8c1c99cb4)
2026-05-11 22:04:16 +00:00
Prabhala Tara Aasrita 46d62209db helm: add ROOK_CEPH_MON_RUN_AS_ROOT to chart values
Added monRunAsRoot chart value to support the ROOK_CEPH_MON_RUN_AS_ROOT environment variable in the operator ConfigMap.

Fixes #17452

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
(cherry picked from commit e6ad74087e)
2026-05-07 15:46:35 +00:00
subhamkrai 3445e2be3a rgw: add option for tls and cipher in objectstore
this commit add option in the ceph objecstore CR
to configure TLS profile and TLS ciphersuite for
rgw beast.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 01ef98c1e3)
2026-05-06 17:13:59 +00:00
Joshua Hoblitt ffbb449b82 core: add default ResourceRequirements for cmd-reporter
The cmd-reporter ResourceRequirements are used by the
`rook-ceph-detect-version` pod.  Setting a default ResourceRequirement
is useful in and of itself while always allowing the `values.yaml` serve
double duty as a configuration example.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 64cf1df920)
2026-04-30 17:34:49 +00:00
Travis Nielsen 82e9c4de51 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>
(cherry picked from commit 62a9debceb)
2026-04-28 22:24:53 +00:00
Travis Nielsen 03b9b8b1b0 Merge pull request #17427 from rook/mergify/bp/release-1.20/pr-17282
pool: clean up unused crush rules (backport #17282)
2026-04-27 13:32:01 -06:00
Oded Viner 1332e79115 security: grant scc to rook-ceph-nvmeof service account
the rook-ceph-nvmeof service account is not listed in the
securitycontextconstraints users, causing cephnvmeofgateway
pods to fail on openshift. add the service account to the
scc in the helm charts, go scc builder, and test namespace
substitution.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 7f3e2ace27)
2026-04-27 15:50:44 +00:00
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
Elias Carter 6e978043d7 doc: fix out of date references to default PgHealthyRegex
Signed-off-by: Elias Carter <elias@dropbox.com>
(cherry picked from commit 5a065948e2)
2026-04-20 17:53:03 +00:00
Michael Adam 407d152879 build: set the release version to v1.20.0-beta.0
For the new 1.20 branch, update the examples and docs
to the v1.20.0-beta.0 tag.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-17 17:21:34 +02:00
Travis Nielsen d3dd9f77dc Merge pull request #17352 from taraasrita10/setenv_rook_unreachablenode
helm: set ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS from chart values
2026-04-17 08:22:32 -06: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
Prabhala Tara Aasrita dcb501de56 helm: set ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS from chart values
Previously the unreachable node toleration on the operator pod was hardcoded to 5 seconds in the Helm chart and the ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS env var was notset up at all. This change reads both from .Values.unreachableNodeTolerationSeconds (defaulting to 5).

Fixes #17303

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
2026-04-14 21:25:04 +05:30
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
Travis Nielsen ed7daa61e6 helm: update csi operator to v0.6.0
With the release of the ceph csi operator v0.6.0,
update the helm chart dependency that was missed when
the csi-operator.yaml manifest was updated.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-03-24 16:07:40 -06: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
Mathieu Parent 1e4e31fa79 helm: allow annotations and labels for CephCluster
The helm chart will allow setting annotations and labels
in the CephCluster CR via the helm settings in values.yaml
named cephClusterMetadata.

Signed-off-by: Mathieu Parent <mathieu.parent@insee.fr>
2026-02-26 23:19:31 +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