From f54b026267729cc483e807e08c8ae99ae88e4f32 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 22 May 2026 07:48:49 +0000 Subject: [PATCH 1/2] chore(deps): update registry.k8s.io/csi-vsphere/driver docker tag to v3.7.1 --- class/defaults.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/class/defaults.yml b/class/defaults.yml index 8baac6a..9a5f35b 100644 --- a/class/defaults.yml +++ b/class/defaults.yml @@ -37,7 +37,7 @@ parameters: driver: registry: registry.k8s.io repository: csi-vsphere/driver - tag: v3.7.0 + tag: v3.7.1 syncer: registry: registry.k8s.io repository: csi-vsphere/syncer From 29493cec1cf5484a3dbcd1321a27ec7f87fa6d4c Mon Sep 17 00:00:00 2001 From: Robin Scherrer Date: Fri, 22 May 2026 09:53:57 +0200 Subject: [PATCH 2/2] sync --- class/defaults.yml | 3 +- .../ROOT/pages/references/parameters.adoc | 10 ++-- scripts/sync-vsphere-csi-release.mjs | 47 +++++++++++++++---- .../10_feature-states-configmap.yaml | 1 + .../vsphere-csi/13_controller-deployment.yaml | 4 +- .../vsphere-csi/14_node-daemonset.yaml | 2 +- .../10_feature-states-configmap.yaml | 1 + .../vsphere-csi/13_controller-deployment.yaml | 4 +- .../vsphere-csi/14_node-daemonset.yaml | 2 +- 9 files changed, 54 insertions(+), 20 deletions(-) diff --git a/class/defaults.yml b/class/defaults.yml index 9a5f35b..20678ba 100644 --- a/class/defaults.yml +++ b/class/defaults.yml @@ -24,6 +24,7 @@ parameters: feature_states: trigger-csi-fullsync: "false" pv-to-backingdiskobjectid-mapping: "false" + high-pv-node-density: "false" images: csi_attacher: @@ -41,7 +42,7 @@ parameters: syncer: registry: registry.k8s.io repository: csi-vsphere/syncer - tag: v3.7.0 + tag: v3.7.1 liveness_probe: registry: registry.k8s.io repository: sig-storage/livenessprobe diff --git a/docs/modules/ROOT/pages/references/parameters.adoc b/docs/modules/ROOT/pages/references/parameters.adoc index 70f5075..71849de 100644 --- a/docs/modules/ROOT/pages/references/parameters.adoc +++ b/docs/modules/ROOT/pages/references/parameters.adoc @@ -239,7 +239,7 @@ If set, renders `volumeBindingMode`. [horizontal] type:: dictionary -default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.0/manifests/vanilla/vsphere-csi-driver.yaml[Upstream v3.6.1 defaults], excluding the Windows daemon set +default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.1/manifests/vanilla/vsphere-csi-driver.yaml[Upstream v3.7.1 defaults], excluding the Windows daemon set The feature state switches rendered into the driver `ConfigMap`. @@ -249,7 +249,7 @@ The feature state switches rendered into the driver `ConfigMap`. type:: dictionary Container images for the controller sidecars, node sidecars, CSI driver, and syncer. -Defaults follow the upstream v3.7.0 Linux deployment manifest. +Defaults follow the upstream v3.7.1 Linux deployment manifest. == `controller` @@ -328,7 +328,7 @@ Optional extra node selector for the controller deployment. [horizontal] type:: dictionary -default:: https://raw.githubusercontent.com/kubernetes-sigs/vsphere-csi-driver/v3.7.0/manifests/vanilla/vsphere-csi-driver.yaml[Upstream v3.6.1 control-plane node affinity] +default:: https://raw.githubusercontent.com/kubernetes-sigs/vsphere-csi-driver/v3.7.1/manifests/vanilla/vsphere-csi-driver.yaml[Upstream v3.7.1 control-plane node affinity] Node affinity for the controller deployment. By default this matches upstream and allows any of the common control-plane labels. @@ -337,7 +337,7 @@ By default this matches upstream and allows any of the common control-plane labe [horizontal] type:: list -default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.0/manifests/vanilla/vsphere-csi-driver.yaml[Upstream control-plane tolerations] +default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.1/manifests/vanilla/vsphere-csi-driver.yaml[Upstream control-plane tolerations] Tolerations for the controller deployment. @@ -418,7 +418,7 @@ Node selector for the Linux node DaemonSet. [horizontal] type:: list -default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.0/manifests/vanilla/vsphere-csi-driver.yaml[Upstream node tolerations] +default:: https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/v3.7.1/manifests/vanilla/vsphere-csi-driver.yaml[Upstream node tolerations] Tolerations for the Linux node DaemonSet. diff --git a/scripts/sync-vsphere-csi-release.mjs b/scripts/sync-vsphere-csi-release.mjs index b152a27..1b93a6c 100644 --- a/scripts/sync-vsphere-csi-release.mjs +++ b/scripts/sync-vsphere-csi-release.mjs @@ -93,19 +93,42 @@ function extractManifestImage(manifestText, containerName) { } function extractFeatureStates(manifestText) { - const match = manifestText.match( - /apiVersion:\s+v1\ndata:\n((?: ".*": ".*"\n)+)kind:\s+ConfigMap\nmetadata:\n name:\s+internal-feature-states\.csi\.vsphere\.vmware\.com\n namespace:\s+vmware-system-csi/m - ); + const configMapDoc = manifestText + .split(/^---\s*$/m) + .find( + (doc) => + doc.includes('kind: ConfigMap') && + doc.includes('name: internal-feature-states.csi.vsphere.vmware.com') && + doc.includes('namespace: vmware-system-csi') + ); - if (!match) { + if (!configMapDoc) { throw new Error('Unable to find internal feature states ConfigMap in upstream manifest'); } - return match[1] - .trimEnd() - .split('\n') + const lines = configMapDoc.split('\n'); + const dataIndex = lines.findIndex((line) => line === 'data:'); + + if (dataIndex === -1) { + throw new Error('Unable to find data section in internal feature states ConfigMap'); + } + + const stateLines = []; + for (const line of lines.slice(dataIndex + 1)) { + if (!line.startsWith(' ')) { + break; + } + + if (line.trim() === '') { + continue; + } + + stateLines.push(line); + } + + return stateLines .map((line) => { - const stateMatch = line.match(/^ "([^"]+)": "([^"]+)"$/); + const stateMatch = line.match(/^ "([^"]+)": "([^"]+)"(?:\s+#.*)?$/); if (!stateMatch) { throw new Error(`Unable to parse feature state line: ${line}`); } @@ -208,6 +231,14 @@ function rewriteDocs(docsText, releaseTag) { .replace( /Defaults follow the upstream v[0-9.]+ Linux deployment manifest\./, `Defaults follow the upstream ${releaseTag} Linux deployment manifest.` + ) + .replace( + /\[Upstream v[0-9.]+ defaults\]/g, + `[Upstream ${releaseTag} defaults]` + ) + .replace( + /\[Upstream v[0-9.]+ control-plane node affinity\]/g, + `[Upstream ${releaseTag} control-plane node affinity]` ); } diff --git a/tests/golden/defaults/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml b/tests/golden/defaults/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml index 0ce7bc8..d76ea05 100644 --- a/tests/golden/defaults/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml +++ b/tests/golden/defaults/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml @@ -1,5 +1,6 @@ apiVersion: v1 data: + high-pv-node-density: 'false' pv-to-backingdiskobjectid-mapping: 'false' trigger-csi-fullsync: 'false' kind: ConfigMap diff --git a/tests/golden/defaults/vsphere-csi/vsphere-csi/13_controller-deployment.yaml b/tests/golden/defaults/vsphere-csi/vsphere-csi/13_controller-deployment.yaml index ff67252..675aef7 100644 --- a/tests/golden/defaults/vsphere-csi/vsphere-csi/13_controller-deployment.yaml +++ b/tests/golden/defaults/vsphere-csi/vsphere-csi/13_controller-deployment.yaml @@ -105,7 +105,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/csi-vsphere/driver:v3.7.0 + image: registry.k8s.io/csi-vsphere/driver:v3.7.1 imagePullPolicy: Always livenessProbe: failureThreshold: 3 @@ -164,7 +164,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/csi-vsphere/syncer:v3.7.0 + image: registry.k8s.io/csi-vsphere/syncer:v3.7.1 imagePullPolicy: Always name: vsphere-syncer ports: diff --git a/tests/golden/defaults/vsphere-csi/vsphere-csi/14_node-daemonset.yaml b/tests/golden/defaults/vsphere-csi/vsphere-csi/14_node-daemonset.yaml index c37c2dc..d61a976 100644 --- a/tests/golden/defaults/vsphere-csi/vsphere-csi/14_node-daemonset.yaml +++ b/tests/golden/defaults/vsphere-csi/vsphere-csi/14_node-daemonset.yaml @@ -63,7 +63,7 @@ spec: fieldPath: metadata.namespace - name: NODEGETINFO_WATCH_TIMEOUT_MINUTES value: '1' - image: registry.k8s.io/csi-vsphere/driver:v3.7.0 + image: registry.k8s.io/csi-vsphere/driver:v3.7.1 imagePullPolicy: Always livenessProbe: failureThreshold: 3 diff --git a/tests/golden/openshift/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml b/tests/golden/openshift/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml index 0ce7bc8..d76ea05 100644 --- a/tests/golden/openshift/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml +++ b/tests/golden/openshift/vsphere-csi/vsphere-csi/10_feature-states-configmap.yaml @@ -1,5 +1,6 @@ apiVersion: v1 data: + high-pv-node-density: 'false' pv-to-backingdiskobjectid-mapping: 'false' trigger-csi-fullsync: 'false' kind: ConfigMap diff --git a/tests/golden/openshift/vsphere-csi/vsphere-csi/13_controller-deployment.yaml b/tests/golden/openshift/vsphere-csi/vsphere-csi/13_controller-deployment.yaml index ff67252..675aef7 100644 --- a/tests/golden/openshift/vsphere-csi/vsphere-csi/13_controller-deployment.yaml +++ b/tests/golden/openshift/vsphere-csi/vsphere-csi/13_controller-deployment.yaml @@ -105,7 +105,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/csi-vsphere/driver:v3.7.0 + image: registry.k8s.io/csi-vsphere/driver:v3.7.1 imagePullPolicy: Always livenessProbe: failureThreshold: 3 @@ -164,7 +164,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/csi-vsphere/syncer:v3.7.0 + image: registry.k8s.io/csi-vsphere/syncer:v3.7.1 imagePullPolicy: Always name: vsphere-syncer ports: diff --git a/tests/golden/openshift/vsphere-csi/vsphere-csi/14_node-daemonset.yaml b/tests/golden/openshift/vsphere-csi/vsphere-csi/14_node-daemonset.yaml index c37c2dc..d61a976 100644 --- a/tests/golden/openshift/vsphere-csi/vsphere-csi/14_node-daemonset.yaml +++ b/tests/golden/openshift/vsphere-csi/vsphere-csi/14_node-daemonset.yaml @@ -63,7 +63,7 @@ spec: fieldPath: metadata.namespace - name: NODEGETINFO_WATCH_TIMEOUT_MINUTES value: '1' - image: registry.k8s.io/csi-vsphere/driver:v3.7.0 + image: registry.k8s.io/csi-vsphere/driver:v3.7.1 imagePullPolicy: Always livenessProbe: failureThreshold: 3