After deploying CSI 3.4 on OpenShift 4.16.39, PersistentVolumeClaims remained in Pending state. CSI controller logs showed configuration parsing errors, and no volumes were visible in vCenter. One key error was:
“error while reading config file: unknown escape sequence”
Additionally, provisioning attempts failed with:
“failed to provision volume with StorageClass “vmware-csi-sc”: rpc error: code = Internal desc = failed to get shared datastors in kubernetes cluster: Error: NoPermission”
VMware vCenter Server
The root cause was malformed input in the vsphere-config-secret. Specifically:
Multiple changes were made to correct the configuration and permissions:
Following these fixes, CSI controller and node pods entered Running state. PVCs were successfully bound, and the corresponding volumes were visible in vCenter. Dynamic provisioning worked as expected, and CSI driver initialization completed without further error.