Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-44739

[vmware-vsphere-csi-driver] use specified storagePolicy which only exist on one vCenter provision volume failed in multi-VC clusters

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.18
    • Storage / Operators
    • None
    • None
    • Rejected
    • False
    • Hide

      None

      Show
      None

      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

              hekumar@redhat.com Hemant Kumar
              rhn-support-pewang Penghao Wang
              Wei Duan Wei Duan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: