CSI 3.4 deployment to OpenShift 4.16.39 failed across multiple nodes. PVCs remained Pending, and CSI components failed to register. Logs showed plugin registration failures and missing CRDs:
“failed to get CsiNodeTopology for the node… no matches for kind ‘CSINodeTopology’ in version ‘cns.vmware.com/v1alpha1’”
This resulted in the CSI node and controller pods crashlooping or failing to register with the kubelet, and dynamic provisioning was unavailable.
VMware vCenter Server
CSI driver version 3.4.0 is not compatible with Kubernetes 1.29.x. According to VMware CSI release notes, CSI 3.4.0 requires Kubernetes 1.30 or later. Deploying it on 1.29.x clusters results in CRD mismatches, registration errors, and incompatibilities with newer components like CSINodeTopology and the topology sidecar containers.
The CSI driver was downgraded to version 3.3.1, which is compatible with Kubernetes 1.29. The following steps were taken:
Following the downgrade, CSI controller and node pods registered successfully. PVCs bound properly, and volume provisioning resumed. The cluster regained full CSI functionality without requiring upgrades to Kubernetes.