From 0d5715445796ab3e5bd14d9e329816619ff081ff Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 20 May 2025 14:13:49 +0200 Subject: [PATCH] csi: update Kubernetes CSI sidecar images to current versions The Kubernetes CSI sidecars have had several releases that were not included in deployments by Rook yet, update them to the versions that are available today: - csi-attacher:v4.8.1 - csi-provisioner:v5.2.0 - csi-resizer:v1.13.2 - csi-snapshotter:v8.2.1 This change is important, because Ceph-CSI will implement the new Controller.GetSnapshot CSI procedure. A bug in csi-lib-utils causes a panic when a ControllerCapability is provided, but not (yet) known to the CSI sidecars. The updated sidecars consume a version of csi-lib-utils with a fix for that panic. See-also: kubernetes-csi/csi-lib-utils#188 Signed-off-by: Niels de Vos (cherry picked from commit a168c400083ec3586d869c39933156ed89d4d1e5) --- Documentation/Helm-Charts/operator-chart.md | 8 ++++---- .../Storage-Configuration/Ceph-CSI/custom-images.md | 8 ++++---- deploy/charts/rook-ceph/values.yaml | 8 ++++---- deploy/examples/images.txt | 8 ++++---- deploy/examples/operator-openshift.yaml | 8 ++++---- deploy/examples/operator.yaml | 8 ++++---- pkg/operator/ceph/csi/spec.go | 8 ++++---- tests/framework/utils/snapshot.go | 2 +- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Documentation/Helm-Charts/operator-chart.md b/Documentation/Helm-Charts/operator-chart.md index 64afdc653..09cb920d5 100644 --- a/Documentation/Helm-Charts/operator-chart.md +++ b/Documentation/Helm-Charts/operator-chart.md @@ -50,7 +50,7 @@ The following table lists the configurable parameters of the rook-operator chart | `containerSecurityContext` | Set the container security context for the operator | `{"capabilities":{"drop":["ALL"]},"runAsGroup":2016,"runAsNonRoot":true,"runAsUser":2016}` | | `crds.enabled` | Whether the helm chart should create and update the CRDs. If false, the CRDs must be managed independently with deploy/examples/crds.yaml. **WARNING** Only set during first deployment. If later disabled the cluster may be DESTROYED. If the CRDs are deleted in this case, see [the disaster recovery guide](https://rook.io/docs/rook/latest/Troubleshooting/disaster-recovery/#restoring-crds-after-deletion) to restore them. | `true` | | `csi.attacher.repository` | Kubernetes CSI Attacher image repository | `"registry.k8s.io/sig-storage/csi-attacher"` | -| `csi.attacher.tag` | Attacher image tag | `"v4.8.0"` | +| `csi.attacher.tag` | Attacher image tag | `"v4.8.1"` | | `csi.cephFSAttachRequired` | Whether to skip any attach operation altogether for CephFS PVCs. See more details [here](https://kubernetes-csi.github.io/docs/skip-attach.html#skip-attach-with-csi-driver-object). If cephFSAttachRequired is set to false it skips the volume attachments and makes the creation of pods using the CephFS PVC fast. **WARNING** It's highly discouraged to use this for CephFS RWO volumes. Refer to this [issue](https://github.com/kubernetes/kubernetes/issues/103305) for more details. | `true` | | `csi.cephFSFSGroupPolicy` | Policy for modifying a volume's ownership or permissions when the CephFS PVC is being mounted. supported values are documented at https://kubernetes-csi.github.io/docs/support-fsgroup.html | `"File"` | | `csi.cephFSKernelMountOptions` | Set CephFS Kernel mount options to use https://docs.ceph.com/en/latest/man/8/mount.ceph/#options. Set to "ms_mode=secure" when connections.encrypted is enabled in CephCluster CR | `nil` | @@ -110,7 +110,7 @@ The following table lists the configurable parameters of the rook-operator chart | `csi.pluginPriorityClassName` | PriorityClassName to be set on csi driver plugin pods | `"system-node-critical"` | | `csi.pluginTolerations` | Array of tolerations in YAML format which will be added to CephCSI plugin DaemonSet | `nil` | | `csi.provisioner.repository` | Kubernetes CSI provisioner image repository | `"registry.k8s.io/sig-storage/csi-provisioner"` | -| `csi.provisioner.tag` | Provisioner image tag | `"v5.1.0"` | +| `csi.provisioner.tag` | Provisioner image tag | `"v5.2.0"` | | `csi.provisionerNodeAffinity` | The node labels for affinity of the CSI provisioner deployment [^1] | `nil` | | `csi.provisionerPriorityClassName` | PriorityClassName to be set on csi driver provisioner pods | `"system-cluster-critical"` | | `csi.provisionerReplicas` | Set replicas for csi provisioner deployment | `2` | @@ -124,14 +124,14 @@ The following table lists the configurable parameters of the rook-operator chart | `csi.registrar.repository` | Kubernetes CSI registrar image repository | `"registry.k8s.io/sig-storage/csi-node-driver-registrar"` | | `csi.registrar.tag` | Registrar image tag | `"v2.13.0"` | | `csi.resizer.repository` | Kubernetes CSI resizer image repository | `"registry.k8s.io/sig-storage/csi-resizer"` | -| `csi.resizer.tag` | Resizer image tag | `"v1.13.1"` | +| `csi.resizer.tag` | Resizer image tag | `"v1.13.2"` | | `csi.serviceMonitor.enabled` | Enable ServiceMonitor for Ceph CSI drivers | `false` | | `csi.serviceMonitor.interval` | Service monitor scrape interval | `"10s"` | | `csi.serviceMonitor.labels` | ServiceMonitor additional labels | `{}` | | `csi.serviceMonitor.namespace` | Use a different namespace for the ServiceMonitor | `nil` | | `csi.sidecarLogLevel` | Set logging level for Kubernetes-csi sidecar containers. Supported values from 0 to 5. 0 for general useful logs (the default), 5 for trace level verbosity. | `0` | | `csi.snapshotter.repository` | Kubernetes CSI snapshotter image repository | `"registry.k8s.io/sig-storage/csi-snapshotter"` | -| `csi.snapshotter.tag` | Snapshotter image tag | `"v8.2.0"` | +| `csi.snapshotter.tag` | Snapshotter image tag | `"v8.2.1"` | | `csi.topology.domainLabels` | domainLabels define which node labels to use as domains for CSI nodeplugins to advertise their domains | `nil` | | `csi.topology.enabled` | Enable topology based provisioning | `false` | | `currentNamespaceOnly` | Whether the operator should watch cluster CRD in its own namespace or not | `false` | diff --git a/Documentation/Storage-Configuration/Ceph-CSI/custom-images.md b/Documentation/Storage-Configuration/Ceph-CSI/custom-images.md index 955f22aeb..72058188e 100644 --- a/Documentation/Storage-Configuration/Ceph-CSI/custom-images.md +++ b/Documentation/Storage-Configuration/Ceph-CSI/custom-images.md @@ -20,10 +20,10 @@ The default upstream images are included below, which you can change to your des ```yaml ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.14.0" ROOK_CSI_REGISTRAR_IMAGE: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0" -ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.1.0" -ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.0" -ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.1" -ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0" +ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.2.0" +ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.1" +ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.2" +ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1" ROOK_CSIADDONS_IMAGE: "quay.io/csiaddons/k8s-sidecar:v0.12.0" ``` diff --git a/deploy/charts/rook-ceph/values.yaml b/deploy/charts/rook-ceph/values.yaml index a097eb4e5..b3c3105a3 100644 --- a/deploy/charts/rook-ceph/values.yaml +++ b/deploy/charts/rook-ceph/values.yaml @@ -501,25 +501,25 @@ csi: # -- Kubernetes CSI provisioner image repository repository: registry.k8s.io/sig-storage/csi-provisioner # -- Provisioner image tag - tag: v5.1.0 + tag: v5.2.0 snapshotter: # -- Kubernetes CSI snapshotter image repository repository: registry.k8s.io/sig-storage/csi-snapshotter # -- Snapshotter image tag - tag: v8.2.0 + tag: v8.2.1 attacher: # -- Kubernetes CSI Attacher image repository repository: registry.k8s.io/sig-storage/csi-attacher # -- Attacher image tag - tag: v4.8.0 + tag: v4.8.1 resizer: # -- Kubernetes CSI resizer image repository repository: registry.k8s.io/sig-storage/csi-resizer # -- Resizer image tag - tag: v1.13.1 + tag: v1.13.2 # -- Image pull policy imagePullPolicy: IfNotPresent diff --git a/deploy/examples/images.txt b/deploy/examples/images.txt index da7f132a8..b6939cadd 100644 --- a/deploy/examples/images.txt +++ b/deploy/examples/images.txt @@ -4,8 +4,8 @@ quay.io/ceph/cosi:v0.1.2 quay.io/cephcsi/cephcsi:v3.14.0 quay.io/csiaddons/k8s-sidecar:v0.12.0 - registry.k8s.io/sig-storage/csi-attacher:v4.8.0 + registry.k8s.io/sig-storage/csi-attacher:v4.8.1 registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 - registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 - registry.k8s.io/sig-storage/csi-resizer:v1.13.1 - registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 + registry.k8s.io/sig-storage/csi-provisioner:v5.2.0 + registry.k8s.io/sig-storage/csi-resizer:v1.13.2 + registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1 diff --git a/deploy/examples/operator-openshift.yaml b/deploy/examples/operator-openshift.yaml index 509c13fa4..ef5173468 100644 --- a/deploy/examples/operator-openshift.yaml +++ b/deploy/examples/operator-openshift.yaml @@ -191,10 +191,10 @@ data: # these images to the desired release of the CSI driver. # ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.14.0" # ROOK_CSI_REGISTRAR_IMAGE: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0" - # ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.1" - # ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.1.0" - # ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0" - # ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.0" + # ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.2" + # ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.2.0" + # ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1" + # ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.1" # (Optional) set user created priorityclassName for csi plugin pods. CSI_PLUGIN_PRIORITY_CLASSNAME: "system-node-critical" diff --git a/deploy/examples/operator.yaml b/deploy/examples/operator.yaml index d3fa39948..80f3d26ae 100644 --- a/deploy/examples/operator.yaml +++ b/deploy/examples/operator.yaml @@ -121,10 +121,10 @@ data: # these images to the desired release of the CSI driver. # ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.14.0" # ROOK_CSI_REGISTRAR_IMAGE: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0" - # ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.1" - # ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.1.0" - # ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0" - # ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.0" + # ROOK_CSI_RESIZER_IMAGE: "registry.k8s.io/sig-storage/csi-resizer:v1.13.2" + # ROOK_CSI_PROVISIONER_IMAGE: "registry.k8s.io/sig-storage/csi-provisioner:v5.2.0" + # ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1" + # ROOK_CSI_ATTACHER_IMAGE: "registry.k8s.io/sig-storage/csi-attacher:v4.8.1" # To indicate the image pull policy to be applied to all the containers in the csi driver pods. # ROOK_CSI_IMAGE_PULL_POLICY: "IfNotPresent" diff --git a/pkg/operator/ceph/csi/spec.go b/pkg/operator/ceph/csi/spec.go index e7d4c979f..84a3cef1e 100644 --- a/pkg/operator/ceph/csi/spec.go +++ b/pkg/operator/ceph/csi/spec.go @@ -134,10 +134,10 @@ var ( // image names DefaultCSIPluginImage = "quay.io/cephcsi/cephcsi:v3.14.0" DefaultRegistrarImage = "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0" - DefaultProvisionerImage = "registry.k8s.io/sig-storage/csi-provisioner:v5.1.0" - DefaultAttacherImage = "registry.k8s.io/sig-storage/csi-attacher:v4.8.0" - DefaultSnapshotterImage = "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0" - DefaultResizerImage = "registry.k8s.io/sig-storage/csi-resizer:v1.13.1" + DefaultProvisionerImage = "registry.k8s.io/sig-storage/csi-provisioner:v5.2.0" + DefaultAttacherImage = "registry.k8s.io/sig-storage/csi-attacher:v4.8.1" + DefaultSnapshotterImage = "registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1" + DefaultResizerImage = "registry.k8s.io/sig-storage/csi-resizer:v1.13.2" DefaultCSIAddonsImage = "quay.io/csiaddons/k8s-sidecar:v0.12.0" // image pull policy diff --git a/tests/framework/utils/snapshot.go b/tests/framework/utils/snapshot.go index 00f4a6f10..2196ace52 100644 --- a/tests/framework/utils/snapshot.go +++ b/tests/framework/utils/snapshot.go @@ -27,7 +27,7 @@ import ( const ( // snapshotterVersion from which the snapshotcontroller and CRD will be // installed - snapshotterVersion = "v8.2.0" + snapshotterVersion = "v8.2.1" repoURL = "https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter" rbacPath = "deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml" controllerPath = "deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml"