-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.18
-
None
-
None
-
Rejected
-
False
-
Description of problem:
[vmware-vsphere-csi-driver] use specified storagePolicy which only exist on one vCenter without allowedTopologies setting provision volume failed in multi-VC clusters
Version-Release number of selected component (if applicable):
4.18.0-0.nightly-2024-11-14-011426
How reproducible:
Always
Steps to Reproduce:
1. Create a multi vCenter configuration Openshift cluster on vSphere. 2. Use specified storagePolicy which only exist on one vCenter without allowedTopologies setting provision volume failed in multi-VC clusters. --- allowVolumeExpansion: true apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nested-nfs-wfc parameters: storagepolicyname: nested-nfs provisioner: csi.vsphere.vmware.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer --- 3. Use the nested-nfs-wfc create pvc and pod consume the pvc.
Actual results:
In step 3: pvcs maybe stuck provisioned failed at Errors encountered: [Storage policy name "nested-nfs" not found in VC caused by randomly picked one VC to provision the volume -> $ oc describe pvc mypvc-w Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal WaitForFirstConsumer <invalid> persistentvolume-controller waiting for first consumer to be created before binding Normal Provisioning <invalid> (x8 over <invalid>) csi.vsphere.vmware.com_vmware-vsphere-csi-driver-controller-7756c44777-28rf8_30d06c2f-afeb-46cd-b8e3-52e57e456b21 External provisioner is provisioning volume for claim "my-storage/mypvc-w" Warning ProvisioningFailed <invalid> (x8 over <invalid>) csi.vsphere.vmware.com_vmware-vsphere-csi-driver-controller-7756c44777-28rf8_30d06c2f-afeb-46cd-b8e3-52e57e456b21 failed to provision volume with StorageClass "nested-nfs-wfc": rpc error: code = Internal desc = failed to create volume. Errors encountered: [Storage policy name "nested-nfs" not found in VC "vcenter.devqe.ibmc.devcluster.openshift.com"] Normal ExternalProvisioning <invalid> (x10 over <invalid>) persistentvolume-controller Waiting for a volume to be created either by the external provisioner 'csi.vsphere.vmware.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.
Expected results:
In step 3: pvc should provision succeed, and pod could become Running.
Additional info:
If customers want to create different storageclasses, they must specify specific topology in storageclass. Suggested configuration should be -> --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nested-nfs-topology parameters: storagepolicyname: nested-nfs provisioner: csi.vsphere.vmware.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true allowedTopologies: - matchLabelExpressions: - key: topology.csi.vmware.com/k8s-zone values: - us-west-1a - key: topology.csi.vmware.com/k8s-region values: - us-west-1