Commit Graph
3904 Commits
Author SHA1 Message Date
Blaine Gardner 480b407bc2 csi: fix wrong use of daemon config for cephx status
Fix a wrong usage of the CephX daemon config that should be CephX CSI
config.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-08-27 14:36:54 -06:00
Travis Nielsen af548ef2f6 csi: always initialize driver names
The driver names were only being initialized in certain code paths
where the drivers were being started and stopped. However, another
code path relied on those names being set. Now, we initialize the
driver names every time the CSI params are initialized, instead of
initializing the names separately.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-27 11:06:49 -06:00
Travis Nielsen 79e067ec05 csi: generate default crush topology labels
The csi read affinity requires the crush topology labels
to be specified in the cephconnection CR. If they are
not specified by the user, rook can generate the default
topology labels instead of expecting them.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-25 11:55:00 -06:00
Blaine Gardner 6d84310db5 Merge pull request #16336 from parth-gr/fix-csi-priorkey
csi: fix the prior key count for csi key rotation
2025-08-20 10:07:34 -06:00
parth-gr 7b5d476887 csi: fix the prior key count for csi key rotation
fix the prior key count status for the csi
key rotation

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-08-20 20:40:52 +05:30
Blaine Gardner 37b6d41d04 Merge pull request #16346 from BlaineEXE/key-rotation-1.18-cleanup
CephX key rotation 1.18 cleanup
2025-08-19 14:55:05 -06:00
Praveen M 5fc4e15bb1 csi: update ceph-csi to v3.15.0
We have new release for Ceph-CSI v3.15.0 -
https://github.com/ceph/ceph-csi/releases/tag/v3.15.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2025-08-19 20:56:00 +05:30
subham rai dfff81761a Merge pull request #16320 from subhamkrai/ci-enable-csi-operator
csi: make csi-operator default deployment
2025-08-19 19:00:17 +05:30
subhamkraiandTravis Nielsen c57a47f774 ci: run csi-operator only in canary and upgrade suite
this commit add check to only run the csi-operator in
all the canary tests and upgrade suite only, other suite
like smoke and object will still test csi-driver.

Also, adding changes to make CI happy.

Signed-off-by: subhamkrai <srai@redhat.com>
Co-Authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2025-08-19 11:23:14 +05:30
Blaine Gardner a952b7511a core: allow cephx rotation for ceph 19.2.3 except mons
Allow Rook to rotate CephX keys for Ceph v19.2.3 and up with the
exception of Ceph mons. While v19.2.3 has the `ceph auth rotate` command
that Rook needs to perform key rotation, there is still ongoing work in
Ceph to change how the `mon.` key is tracked internally. Rook's mon key
rotation requires those currently-unreleased Ceph changes.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-08-18 16:50:11 -06:00
Travis Nielsen f7d2e208c8 Merge pull request #16313 from sp98/fs-mirror-key-rotation
core: rotate fs mirror daemon cephx key
2025-08-18 15:17:06 -06:00
Blaine Gardner 2fd9c9a88c core: finalize CephCluster CephX status handling
Cleanup up overall usage of CephX statuses in CephCluster.

Convert all CephX statuses to non-pointer types. There is no specific
need for pointer types, and keeping these as non-pointers means there is
not a risk of nil pointer exceptions in all the various Rook controllers
for upgraded clusters.

Move initialization of CephCluster CephX status items to
`preMonStartupActions()`. This helps resolve 2 issues:

1. 'Uninitialized' state was being set for external CephClusters where
   CephX statuses are not relevant.
2. 'Uninitialized' state was being set for upgraded clusters whose key
   status cannot be determined.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-08-18 14:53:08 -06:00
Travis Nielsen c23754fc11 Merge pull request #16329 from degorenko/fix-pool-remove
pool: fix cephblockpool remove when related pool is already removed
2025-08-15 13:45:34 -06:00
Denis Egorenko c9e0f89a8b pool: fix cephblockpool remove when related pool is already removed from cluster
When removeing CephBlockPool check first that related ceph pool is exist in cluster,
since it may be manually removed by mistake.

Related-Issue: #16328
Signed-off-by: Denis Egorenko <degorenko@mirantis.com>
2025-08-15 22:59:34 +04:00
Travis Nielsen 36a47ac01a Merge pull request #16176 from sp98/mon-key-rotation
mon: rotate cephx key
2025-08-15 11:06:31 -06:00
Madhu Rajanna a71cc27b72 core: implement client name override
There is a field in the CR spec to override
the name and the feature was not implement,
This commits adds the support to override the
cephclient name if ever required.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-08-15 09:50:32 -06:00
Madhu Rajanna 36c84aa43c core: skip Name validation
the CR cannot be created without a Name,
Removing the check as it never gets executed.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-08-15 09:42:16 -06:00
Travis Nielsen d6b91b9409 Merge pull request #16275 from anshuman-agarwala/secret-removal
operator: Removed legacy secret deletion code in rbd
2025-08-14 14:06:34 -06:00
Santosh Pillai 5df485cbb3 Merge pull request #16293 from degorenko/fix-cleanup-job
operator: mount udev to cleanup job and disable udev sync
2025-08-14 18:39:24 +05:30
Santosh Pillai 8df6b8d0d0 core: rotate fs mirror daemon cephx key
Rotate fs mirror daemon cephx keys based on the cephXconfig in the
cephcluster spec and also update the fs mirror status with the latest
cephxStatus

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-08-14 16:16:51 +05:30
Santosh Pillai fe42fe102f mon: rotate keys
rotate mon daemon keys and update the cephx status for mons in the
cephcluster resource.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-08-14 11:16:39 +05:30
Oded Viner 7f0be04773 csi: remove inline panic handler from CreateDefaultClientProfile
remove inline defer that catches and logs panics since it is already handled by pr#16150

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-08-13 19:01:32 +03:00
Travis Nielsen 47d01f8812 Merge pull request #16304 from Madhu-1/update-csi-op-0.4.0
csi: update the csi-operator API
2025-08-13 09:07:12 -06:00
Travis Nielsen 1deec3a396 Merge pull request #16290 from parth-gr/fix-mirror-status
rbdmirror: fix status check for rbd rn mirroring
2025-08-13 08:15:39 -06:00
parth-gr 11b3d7e16e rbdmirror: fix status check for rbd rn mirroring
if the blockpool mirroring is disabled and status check
is not removed, currently rn cr still watches for the status

Add a check if the pool or rados mirroring is disabled then dont
watch for status

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-08-13 13:33:05 +05:30
Madhu Rajanna 3d024ce3c7 csi: update the csi-operator API
updating the csi operator API version
to latest version.

Adding the cephFS and RBD controllerPublish
secret that are required for the fencing
operation that is supported by ceph-csi
with csi-operator.

Updated the storageclass to include the
secrets incase if user wants to override
the defaults in the clientProfile for
new PVC's.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-08-13 09:30:50 +02:00
Denis Egorenko 09622a8b8d operator: mount udev to cleanup job and disable udev sync
Mount /run/udev inside cluster cleanup jobs and disable udev sync
with DM_DISABLE_UDEV.

Related-Issue: rook#16292
Signed-off-by: Denis Egorenko <degorenko@mirantis.com>
2025-08-12 22:46:27 +04:00
Travis Nielsen 3ea967df70 Merge pull request #16294 from nixpanic/csi-addons/v0.13.0
csi: update Kubernetes CSI-Addons sidecar to version 0.13.0
2025-08-12 11:26:27 -06:00
Niels de Vos 17d53ed16b csi: update Kubernetes CSI-Addons sidecar to version 0.13.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2025-08-12 17:56:37 +02:00
Madhu Rajanna cb89f351ed csi: update cephfs user and key in secret
cephCSI already deprecated the adminID and
adminKey keys in the secrets and to be backward
compatible it still supports the adminID and
adminKey but it logs the warning, updating the
secrets created by Rook to use userID and userKey
instead of adminID and adminKey.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-08-12 09:53:55 +02:00
Blaine Gardner 59ca78229d Merge pull request #16075 from sp98/mirror-key-rotation
rbd mirror peer key rotation
2025-08-11 10:54:20 -06:00
Santosh Pillai ee0b137d75 core: rotate rbd mirror peer key
rotate the client.rbd-mirror-peer key based on the cephxconfig.
Also update the cephxStatus in the cephcluster as well as the
mirrored cephblockpool.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-08-11 21:53:14 +05:30
Madhu Rajanna 1ff3f07ac5 csi: use cluster namespace for cephConn
CephConnection CR is created with the
kubernetes namespace name as its the
unique name in the entire cluster.
This PR removes unwanted input
parameters and adjust the namespace
name for the cephConnection CR.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-08-11 07:38:27 +02:00
Anshuman 79b24564ef operator: removed legacy secret deletion code in rbd
Signed-off-by: Anshuman <anshuman@ibm.com>
2025-08-08 21:56:06 +05:30
Blaine Gardner 517f519c23 Merge pull request #16227 from sp98/mirror-daemon-key-rotation
core: rotate mirror daemon keys
2025-08-08 09:45:48 -06:00
Santosh Pillai d0fbf6c424 core: rotate mirror daemon keys
rotate RBD mirror daemon keys, add secret resource version to the mirror
deployment and update the mirror resource status after the key is
rotated

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-08-08 10:23:49 +05:30
Travis Nielsen 134e27e353 csi: create cephconnection cr with cluster namespace name
The cephconnection CR expects to be created with the name of
the namespace where the cephcluster CR is found, so the CSI
driver can find the cluster when provisioning the volume.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-07 12:22:17 -06:00
Travis Nielsen 27e56cf44f Merge pull request #16249 from travisn/failover-mon-immediate
mon: Failover mon immediately if node not exist
2025-08-07 10:39:52 -06:00
Blaine Gardner 9be45d949b Merge pull request #16069 from OdedViner/default_realm
object: mark realm as default to avoid zone creation
2025-08-07 10:33:11 -06:00
Travis Nielsen 8b4d3b19cf mon: failover mon immediately if node not exist
During mon failover, if a mon is assigned to a node
but the node does not exist, the mon should be failed
over immediately instead of waiting for a 10 or 20
minute timeout. If the node does not exist, the mon pod
will be in a pending state until the failover is finally
triggered, and no point in waiting that long if the
node is gone.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-07 10:06:57 -06:00
Travis Nielsen 6ec3455796 Merge pull request #16244 from CL0Pinette/cross-namespace-data-source-feature-gate
csi: add CrossNamespaceVolumeDataSource feature gate
2025-08-07 09:00:55 -06:00
CL0Pinette b63c222d17 csi: add CrossNamespaceVolumeDataSource feature gate
This enables configuring the CrossNamespaceVolumeDataSource feature gate

Signed-off-by: CL0Pinette <me@cl0pinette.fr>
2025-08-07 14:28:33 +02:00
Oded Viner 182cd211ca object: mark realm as default to avoid zone creation
add defaultRealm field to cephobjectstore to allow rook to mark the
created realm as default. this prevents ceph from auto-creating a
"default" zonegroup and zone when the default is not explicitly set.
affects only non-multisite setups.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-08-07 14:48:21 +03:00
Travis Nielsen 35ceaae995 Merge pull request #16017 from OdedViner/validate_unique_topology
osd: validate node topology to prevent invalid crush map hierarchy
2025-08-05 07:57:52 -06:00
Oded Viner 973f8a3a35 osd: validate node topology to prevent invalid crush map hierarchy
add a validation check to fail osd deployment when topology labels
like rack or chassis are duplicated across parent domains
(e.g., zones). this prevents invalid crush map hierarchies
(dfbugs-2610).

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-08-05 12:47:11 +03:00
Travis Nielsen 6c867120c4 Merge pull request #16052 from jhoblitt/maint/simplify-cephobjectstoreuser-deletion-logic
object: simplify CephObjectStoreUser deletion logic
2025-08-04 12:14:05 -06:00
Joshua Hoblitt 80da084732 object: simplify obc storageclass lookup
obc was using an internal exponential backup for the lookup of the sc.
This is somewhat of an anti-pattern when using controller-runtime as it
implements retrying logic. If the sc doesn't exist, the reconcile
attempt should fail immediately and controller-runtime will handle the
back-off policy.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-08-01 13:20:38 -07:00
Joshua Hoblitt 1163133aec object: simplify CephObjectStoreUser deletion logic
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-08-01 12:41:10 -07:00
Joshua Hoblitt fbc60608ed object: fix bucket policy in sync detection
A typo was causing the operator to attempt to sync bucket policy when
the state was already in sync. This resulted in the operator carrying
out unnecessary work and logging activity with no user visible change
resulting.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-08-01 11:18:08 -07:00
Travis Nielsen 4d0834f605 Merge pull request #16210 from parth-gr/cephx-exporter
exporter: automate rotate exporter cephx keys
2025-08-01 10:09:39 -06:00