Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-41834

Add Infinidat-CSI to CDI's known provisioners

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • CNV Storage
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide
      • CDI PR merged to main to introduce Infinidat
        to known provisioners list
      • Bugs created to track all the way down to 4.12
      Show
      CDI PR merged to main to introduce Infinidat to known provisioners list Bugs created to track all the way down to 4.12
    • None
    • CNV-34312 - Storage Partner Integration
    • No
    • ---
    • ---
    • Storage Core Sprint 254

      We must handle NFS, iSCSI, and FC. It looks like we can use the storage_protocol field of the storage class parameters to differentiate. See the trident logic for how to do this.

      Please backport all the way back to 4.12.

      iSCSI storage class

      allowVolumeExpansion: true
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata: 
        annotations: 
          storageclass.kubernetes.io/is-default-class: "true"
        creationTimestamp: "2024-04-19T14:40:17Z"
        name: ibox-iscsi
        resourceVersion: "132289232"
        uid: 152a7b36-0c84-4225-8a05-3b3bab47fd78
      parameters: 
        csi.storage.k8s.io/controller-expand-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-expand-secret-namespace: infinidat-csi
        csi.storage.k8s.io/controller-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/fstype: ext4
        csi.storage.k8s.io/node-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/node-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/node-stage-secret-name: infinibox-creds
        csi.storage.k8s.io/node-stage-secret-namespace: infinidat-csi
        csi.storage.k8s.io/provisioner-secret-name: infinibox-creds
        csi.storage.k8s.io/provisioner-secret-namespace: infinidat-csi
        network_space: iSCSI
        pool_name: csitesting
        storage_protocol: iscsi
        unix_permissions: "777"
        useCHAP: none
      provisioner: infinibox-csi-driver
      reclaimPolicy: Delete
      volumeBindingMode: Immediate
      

      NFS Storage Class

      allowVolumeExpansion: true
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata: 
        creationTimestamp: "2024-04-25T15:14:40Z"
        name: ibox-nfs
        resourceVersion: "9235897"
        uid: fec08847-105e-4b9d-aca5-5c6cb0ce22fa
      mountOptions: 
      - vers=3
      - tcp
      - rsize=262144
      - wsize=262144
      parameters: 
        csi.storage.k8s.io/controller-expand-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-expand-secret-namespace: infinidat-csi
        csi.storage.k8s.io/controller-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/node-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/node-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/node-stage-secret-name: infinibox-creds
        csi.storage.k8s.io/node-stage-secret-namespace: infinidat-csi
        csi.storage.k8s.io/provisioner-secret-name: infinibox-creds
        csi.storage.k8s.io/provisioner-secret-namespace: infinidat-csi
        gid: "3000"
        network_space: NAS
        pool_name: csitesting
        storage_protocol: nfs
        uid: "3000"
      provisioner: infinibox-csi-driver
      reclaimPolicy: Delete
      volumeBindingMode: Immediate
      

      FibreChannel Storage Class:

      allowVolumeExpansion: true
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata: 
        creationTimestamp: "2024-05-17T16:34:55Z"
        name: ibox-fc
        resourceVersion: "220743238"
        uid: 43e31b4c-12a9-4a65-84bc-26d9d247696e
      parameters: 
        csi.storage.k8s.io/controller-expand-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-expand-secret-namespace: infinidat-csi
        csi.storage.k8s.io/controller-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/controller-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/fstype: ext4
        csi.storage.k8s.io/node-publish-secret-name: infinibox-creds
        csi.storage.k8s.io/node-publish-secret-namespace: infinidat-csi
        csi.storage.k8s.io/node-stage-secret-name: infinibox-creds
        csi.storage.k8s.io/node-stage-secret-namespace: infinidat-csi
        csi.storage.k8s.io/provisioner-secret-name: infinibox-creds
        csi.storage.k8s.io/provisioner-secret-namespace: infinidat-csi
        gid: "3000"
        pool_name: csitesting
        storage_protocol: fc
        uid: "3000"
      provisioner: infinibox-csi-driver
      reclaimPolicy: Delete
      volumeBindingMode: Immediate
      

      Clones: for our driver, it's probably better to use a CSI clone instead of snapshot restore

            akalenyu Alex Kalenyuk
            alitke@redhat.com Adam Litke
            Ying Cui Ying Cui
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: