dell / csm

Dell Container Storage Modules (CSM)
Apache License 2.0
71 stars 15 forks source link

[BUG]: Wrong storage protocol used when multiple PowerStore arrays are defined in secret #1539

Closed santhoshatdell closed 3 weeks ago

santhoshatdell commented 3 weeks ago

Bug Description

Having defined two PowerStore arrays in the secret with different blockProtocol, the wrong protocol is selected during PVC creation. When the first array is set to NVMeTCP and the second to ISCSI the pvc, even when the storage class explicitly refers to the first one, attempt to connect to the volume via iSCSI which is not working since only NVMe host definitions have been created on the array. None of the appliances is set as "default".

Logs

{"level":"info","msg":"/csi.v1.Node/NodeStageVolume: REP 0009: rpc error: code = Internal desc = unable to find device after multiple discovery attempts: discovery complete but devices not found","time":"2024-09-25T11:54:28.889578221Z"}

Screenshots

No response

Additional Environment Information

No response

Steps to Reproduce

  1. Environment preparation

    • 2 PowerStore arrays in secret. First one with NVMeTCP and second one with iSCSI
    • No running pods, pvc, pv
    • Remove any existing host definitions for worker nodes on both
  2. Verify host definitions have been created with specified protocol on both the arrays.

  3. Create workload which uses NVMeTCP storage class oc create -f workload_nvmetcp.yaml

  4. Verify pods, pvc and pv are created oc get pod,pvc,pv -n

Result: pods are not being created as the CSI driver attempts to use iSCSI instead of NVMeTCP

Expected Behavior

CSI driver should attempt to use the block protocol that was specified for that PowerStore array.

CSM Driver(s)

csi-powerstore v2.11.1

Installation Type

No response

Container Storage Modules Enabled

None

Container Orchestrator

OpenShift 4.15.25

Operating System

Unknown