diff --git a/build.env b/build.env index 136e54b89..1d7c372d7 100644 --- a/build.env +++ b/build.env @@ -30,7 +30,7 @@ GOLANGCI_VERSION=v1.57.2 # external snapshotter version # Refer: https://github.com/kubernetes-csi/external-snapshotter/releases -SNAPSHOT_VERSION=v7.0.2 +SNAPSHOT_VERSION=v8.0.1 # "go test" configuration # set to stdout or html to enable coverage reporting, disabled by default @@ -54,10 +54,10 @@ ROOK_VERSION=v1.12.1 ROOK_CEPH_CLUSTER_IMAGE=quay.io/ceph/ceph:v18 # CSI sidecar version -CSI_ATTACHER_VERSION=v4.5.1 -CSI_SNAPSHOTTER_VERSION=v7.0.2 -CSI_RESIZER_VERSION=v1.10.1 -CSI_PROVISIONER_VERSION=v4.0.1 +CSI_ATTACHER_VERSION=v4.6.1 +CSI_SNAPSHOTTER_VERSION=v8.0.1 +CSI_RESIZER_VERSION=v1.11.1 +CSI_PROVISIONER_VERSION=v5.0.1 CSI_NODE_DRIVER_REGISTRAR_VERSION=v2.10.1 # e2e settings diff --git a/charts/ceph-csi-cephfs/README.md b/charts/ceph-csi-cephfs/README.md index 4ec879e1f..5958d1a67 100644 --- a/charts/ceph-csi-cephfs/README.md +++ b/charts/ceph-csi-cephfs/README.md @@ -146,17 +146,17 @@ charts and their default values. | `provisioner.imagePullSecrets` | Specifies imagePullSecrets for containers | `[]` | | `provisioner.profiling.enabled` | Specifies whether profiling should be enabled | `false` | | `provisioner.provisioner.image.repository` | Specifies the csi-provisioner image repository URL | `registry.k8s.io/sig-storage/csi-provisioner` | -| `provisioner.provisioner.image.tag` | Specifies image tag | `v4.0.1` | +| `provisioner.provisioner.image.tag` | Specifies image tag | `v5.0.1` | | `provisioner.provisioner.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.provisioner.image.extraArgs` | Specifies extra arguments for the provisioner sidecar | `[]` | | `provisioner.resizer.image.repository` | Specifies the csi-resizer image repository URL | `registry.k8s.io/sig-storage/csi-resizer` | -| `provisioner.resizer.image.tag` | Specifies image tag | `v1.10.1` | +| `provisioner.resizer.image.tag` | Specifies image tag | `v1.11.1` | | `provisioner.resizer.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.resizer.image.extraArgs` | Specifies extra arguments for the resizer sidecar | `[]` | | `provisioner.resizer.name` | Specifies the name of csi-resizer sidecar | `resizer` | | `provisioner.resizer.enabled` | Specifies whether resizer sidecar is enabled | `true` | | `provisioner.snapshotter.image.repository` | Specifies the csi-snapshotter image repository URL | `registry.k8s.io/sig-storage/csi-snapshotter` | -| `provisioner.snapshotter.image.tag` | Specifies image tag | `v7.0.2` | +| `provisioner.snapshotter.image.tag` | Specifies image tag | `v8.0.1` | | `provisioner.snapshotter.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.snapshotter.image.extraArgs` | Specifies extra arguments for the snapshotter sidecar | `[]` | | `provisioner.snapshotter.args.enableVolumeGroupSnapshots` | enables the creation of volume group snapshots | `false` | diff --git a/charts/ceph-csi-cephfs/values.yaml b/charts/ceph-csi-cephfs/values.yaml index d0eaaadc8..3626dd17e 100644 --- a/charts/ceph-csi-cephfs/values.yaml +++ b/charts/ceph-csi-cephfs/values.yaml @@ -204,7 +204,7 @@ provisioner: provisioner: image: repository: registry.k8s.io/sig-storage/csi-provisioner - tag: v4.0.1 + tag: v5.0.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -219,7 +219,7 @@ provisioner: enabled: true image: repository: registry.k8s.io/sig-storage/csi-resizer - tag: v1.10.1 + tag: v1.11.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -229,7 +229,7 @@ provisioner: snapshotter: image: repository: registry.k8s.io/sig-storage/csi-snapshotter - tag: v7.0.2 + tag: v8.0.1 pullPolicy: IfNotPresent resources: {} ## For further options, check diff --git a/charts/ceph-csi-rbd/README.md b/charts/ceph-csi-rbd/README.md index f0f45df82..7caddbf66 100644 --- a/charts/ceph-csi-rbd/README.md +++ b/charts/ceph-csi-rbd/README.md @@ -152,7 +152,7 @@ charts and their default values. | `provisioner.imagePullSecrets` | Specifies imagePullSecrets for containers | `[]` | | `provisioner.profiling.enabled` | Specifies whether profiling should be enabled | `false` | | `provisioner.provisioner.image.repository` | Specifies the csi-provisioner image repository URL | `registry.k8s.io/sig-storage/csi-provisioner` | -| `provisioner.provisioner.image.tag` | Specifies image tag | `v4.0.1` | +| `provisioner.provisioner.image.tag` | Specifies image tag | `v5.0.1` | | `provisioner.provisioner.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.provisioner.image.extraArgs` | Specifies extra arguments for the provisioner sidecar | `[]` | | `provisioner.podSecurityContext` | Specifies pod-level security context. | `{}` | @@ -164,13 +164,13 @@ charts and their default values. | `provisioner.attacher.name` | Specifies the name of csi-attacher sidecar | `attacher` | | `provisioner.attacher.enabled` | Specifies whether attacher sidecar is enabled | `true` | | `provisioner.resizer.image.repository` | Specifies the csi-resizer image repository URL | `registry.k8s.io/sig-storage/csi-resizer` | -| `provisioner.resizer.image.tag` | Specifies image tag | `v1.10.1` | +| `provisioner.resizer.image.tag` | Specifies image tag | `v1.11.1` | | `provisioner.resizer.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.resizer.image.extraArgs` | Specifies extra arguments for the resizer sidecar | `[]` | | `provisioner.resizer.name` | Specifies the name of csi-resizer sidecar | `resizer` | | `provisioner.resizer.enabled` | Specifies whether resizer sidecar is enabled | `true` | | `provisioner.snapshotter.image.repository` | Specifies the csi-snapshotter image repository URL | `registry.k8s.io/sig-storage/csi-snapshotter` | -| `provisioner.snapshotter.image.tag` | Specifies image tag | `v7.0.2` | +| `provisioner.snapshotter.image.tag` | Specifies image tag | `v8.0.1` | | `provisioner.snapshotter.image.pullPolicy` | Specifies pull policy | `IfNotPresent` | | `provisioner.snapshotter.image.extraArgs` | Specifies extra arguments for the snapshotter sidecar | `[]` | | `provisioner.nodeSelector` | Specifies the node selector for provisioner deployment | `{}` | diff --git a/charts/ceph-csi-rbd/templates/nodeplugin-daemonset.yaml b/charts/ceph-csi-rbd/templates/nodeplugin-daemonset.yaml index a511f67aa..93eef0fc9 100644 --- a/charts/ceph-csi-rbd/templates/nodeplugin-daemonset.yaml +++ b/charts/ceph-csi-rbd/templates/nodeplugin-daemonset.yaml @@ -57,7 +57,7 @@ spec: - "--csi-addons-endpoint=$(CSI_ADDONS_ENDPOINT)" - "--v={{ .Values.logLevel }}" - "--drivername=$(DRIVER_NAME)" -{{- if .Values.topology.enabled }} +{{- if .Values.topology.domainLabels }} - "--domainlabels={{ .Values.topology.domainLabels | join "," }}" {{- end }} {{- if .Values.nodeplugin.profiling.enabled }} diff --git a/charts/ceph-csi-rbd/templates/provisioner-clusterrole.yaml b/charts/ceph-csi-rbd/templates/provisioner-clusterrole.yaml index 8d42e215a..ad79fd707 100644 --- a/charts/ceph-csi-rbd/templates/provisioner-clusterrole.yaml +++ b/charts/ceph-csi-rbd/templates/provisioner-clusterrole.yaml @@ -81,7 +81,7 @@ rules: resources: ["persistentvolumeclaims/status"] verbs: ["update", "patch"] {{- end }} -{{- if .Values.topology.enabled }} +{{- if .Values.topology.domainLabels }} - apiGroups: [""] resources: ["nodes"] verbs: ["get", "list","watch"] diff --git a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml index a922bd2ac..638a8ebe2 100644 --- a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml +++ b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml @@ -145,9 +145,6 @@ spec: - "--extra-create-metadata=true" - "--feature-gates=HonorPVReclaimPolicy=true" - "--prevent-volume-mode-conversion=true" -{{- if .Values.topology.enabled }} - - "--feature-gates=Topology=true" -{{- end }} {{- range .Values.provisioner.provisioner.extraArgs }} - "--{{ . }}" {{- end }} diff --git a/charts/ceph-csi-rbd/values.yaml b/charts/ceph-csi-rbd/values.yaml index 40a0a5eea..b5fe75833 100644 --- a/charts/ceph-csi-rbd/values.yaml +++ b/charts/ceph-csi-rbd/values.yaml @@ -243,7 +243,7 @@ provisioner: provisioner: image: repository: registry.k8s.io/sig-storage/csi-provisioner - tag: v4.0.1 + tag: v5.0.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -258,7 +258,7 @@ provisioner: enabled: true image: repository: registry.k8s.io/sig-storage/csi-attacher - tag: v4.5.1 + tag: v4.6.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -270,7 +270,7 @@ provisioner: enabled: true image: repository: registry.k8s.io/sig-storage/csi-resizer - tag: v1.10.1 + tag: v1.11.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -280,7 +280,7 @@ provisioner: snapshotter: image: repository: registry.k8s.io/sig-storage/csi-snapshotter - tag: v7.0.2 + tag: v8.0.1 pullPolicy: IfNotPresent resources: {} ## For further options, check @@ -300,9 +300,6 @@ provisioner: podSecurityContext: {} topology: - # Specifies whether topology based provisioning support should - # be exposed by CSI - enabled: false # domainLabels define which node labels to use as domains # for CSI nodeplugins to advertise their domains # NOTE: the value here serves as an example and needs to be diff --git a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml index 911e6f89b..6685b16cf 100644 --- a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml +++ b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml @@ -92,14 +92,13 @@ spec: - name: ceph-csi-encryption-kms-config mountPath: /etc/ceph-csi-encryption-kms-config/ - name: csi-provisioner - image: registry.k8s.io/sig-storage/csi-provisioner:v4.0.1 + image: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" - "--timeout=150s" - "--leader-election=true" - "--retry-interval-start=500ms" - - "--feature-gates=Topology=false" - "--feature-gates=HonorPVReclaimPolicy=true" - "--prevent-volume-mode-conversion=true" - "--extra-create-metadata=true" @@ -111,7 +110,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: registry.k8s.io/sig-storage/csi-resizer:v1.10.1 + image: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" @@ -128,7 +127,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-snapshotter - image: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.2 + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" diff --git a/deploy/nfs/kubernetes/csi-nfsplugin-provisioner.yaml b/deploy/nfs/kubernetes/csi-nfsplugin-provisioner.yaml index 47c974d1f..37e0fc4ba 100644 --- a/deploy/nfs/kubernetes/csi-nfsplugin-provisioner.yaml +++ b/deploy/nfs/kubernetes/csi-nfsplugin-provisioner.yaml @@ -73,7 +73,7 @@ spec: - name: keys-tmp-dir mountPath: /tmp/csi/keys - name: csi-provisioner - image: registry.k8s.io/sig-storage/csi-provisioner:v4.0.1 + image: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" @@ -90,7 +90,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: registry.k8s.io/sig-storage/csi-resizer:v1.10.1 + image: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" @@ -107,7 +107,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-snapshotter - image: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.2 + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" diff --git a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml index 9f8081f0d..77e44da8d 100644 --- a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml +++ b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml @@ -104,15 +104,13 @@ spec: mountPath: /run/secrets/tokens readOnly: true - name: csi-provisioner - image: registry.k8s.io/sig-storage/csi-provisioner:v4.0.1 + image: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" - "--timeout=150s" - "--retry-interval-start=500ms" - "--leader-election=true" - # set it to true to use topology based provisioning - - "--feature-gates=Topology=false" - "--feature-gates=HonorPVReclaimPolicy=true" - "--prevent-volume-mode-conversion=true" # if fstype is not specified in storageclass, ext4 is default @@ -126,7 +124,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-snapshotter - image: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.2 + image: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" @@ -142,7 +140,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-attacher - image: registry.k8s.io/sig-storage/csi-attacher:v4.5.1 + image: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 args: - "--v=1" - "--csi-address=$(ADDRESS)" @@ -157,7 +155,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: registry.k8s.io/sig-storage/csi-resizer:v1.10.1 + image: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 args: - "--csi-address=$(ADDRESS)" - "--v=1" diff --git a/e2e/deployment.go b/e2e/deployment.go index 1e7de8f7b..15e6ce885 100644 --- a/e2e/deployment.go +++ b/e2e/deployment.go @@ -240,9 +240,6 @@ type yamlResourceNamespaced struct { // set the number of replicas in a Deployment to 1. oneReplica bool - // enable topology support (for RBD) - enableTopology bool - // enable read affinity support (for RBD) enableReadAffinity bool } @@ -257,10 +254,6 @@ func (yrn *yamlResourceNamespaced) Do(action kubectlAction) error { data = oneReplicaDeployYaml(data) } - if yrn.enableTopology { - data = enableTopologyInTemplate(data) - } - if yrn.domainLabel != "" { data = addTopologyDomainsToDSYaml(data, yrn.domainLabel) } diff --git a/e2e/rbd.go b/e2e/rbd.go index 5b73dbadc..c44a6441a 100644 --- a/e2e/rbd.go +++ b/e2e/rbd.go @@ -156,10 +156,9 @@ func createORDeleteRbdResources(action kubectlAction) { }, // the provisioner itself &yamlResourceNamespaced{ - filename: rbdDirPath + rbdProvisioner, - namespace: cephCSINamespace, - oneReplica: true, - enableTopology: true, + filename: rbdDirPath + rbdProvisioner, + namespace: cephCSINamespace, + oneReplica: true, }, // dependencies for the node-plugin &yamlResourceNamespaced{ diff --git a/e2e/utils.go b/e2e/utils.go index e316363f8..f2cbcfc3a 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -823,10 +823,6 @@ func oneReplicaDeployYaml(template string) string { return re.ReplaceAllString(template, `$1 1`) } -func enableTopologyInTemplate(data string) string { - return strings.ReplaceAll(data, "--feature-gates=Topology=false", "--feature-gates=Topology=true") -} - func enableReadAffinityInTemplate(template string) string { return strings.ReplaceAll(template, "# - \"--enable-read-affinity=true\"", "- \"--enable-read-affinity=true\"") } diff --git a/internal/cephfs/identityserver.go b/internal/cephfs/identityserver.go index b2a041a32..2f49dfe38 100644 --- a/internal/cephfs/identityserver.go +++ b/internal/cephfs/identityserver.go @@ -51,13 +51,6 @@ func (is *IdentityServer) GetPluginCapabilities( }, }, }, - { - Type: &csi.PluginCapability_Service_{ - Service: &csi.PluginCapability_Service{ - Type: csi.PluginCapability_Service_VOLUME_ACCESSIBILITY_CONSTRAINTS, - }, - }, - }, { Type: &csi.PluginCapability_Service_{ Service: &csi.PluginCapability_Service{ diff --git a/scripts/install-helm.sh b/scripts/install-helm.sh index 536e6927c..429e633b1 100755 --- a/scripts/install-helm.sh +++ b/scripts/install-helm.sh @@ -190,7 +190,7 @@ install_cephcsi_helm_charts() { kubectl_retry delete cm ceph-config --namespace "${NAMESPACE}" # shellcheck disable=SC2086 - "${HELM}" install --namespace ${NAMESPACE} --set provisioner.fullnameOverride=csi-rbdplugin-provisioner --set nodeplugin.fullnameOverride=csi-rbdplugin --set configMapName=ceph-csi-config --set provisioner.replicaCount=1 --set-json='commonLabels={"app.kubernetes.io/name": "ceph-csi-rbd", "app.kubernetes.io/managed-by": "helm"}' ${SET_SC_TEMPLATE_VALUES} ${RBD_SECRET_TEMPLATE_VALUES} ${RBD_CHART_NAME} "${SCRIPT_DIR}"/../charts/ceph-csi-rbd --set topology.enabled=true --set topology.domainLabels="{${NODE_LABEL_REGION},${NODE_LABEL_ZONE}}" --set provisioner.maxSnapshotsOnImage=3 --set provisioner.minSnapshotsOnImage=2 ${READ_AFFINITY_VALUES} --set provisioner.snapshotter.args.enableVolumeGroupSnapshots=true + "${HELM}" install --namespace ${NAMESPACE} --set provisioner.fullnameOverride=csi-rbdplugin-provisioner --set nodeplugin.fullnameOverride=csi-rbdplugin --set configMapName=ceph-csi-config --set provisioner.replicaCount=1 --set-json='commonLabels={"app.kubernetes.io/name": "ceph-csi-rbd", "app.kubernetes.io/managed-by": "helm"}' ${SET_SC_TEMPLATE_VALUES} ${RBD_SECRET_TEMPLATE_VALUES} ${RBD_CHART_NAME} "${SCRIPT_DIR}"/../charts/ceph-csi-rbd --set topology.domainLabels="{${NODE_LABEL_REGION},${NODE_LABEL_ZONE}}" --set provisioner.maxSnapshotsOnImage=3 --set provisioner.minSnapshotsOnImage=2 ${READ_AFFINITY_VALUES} --set provisioner.snapshotter.args.enableVolumeGroupSnapshots=true check_deployment_status app=ceph-csi-rbd "${NAMESPACE}" check_daemonset_status app=ceph-csi-rbd "${NAMESPACE}"