Bug 2208838 - [4.13]Missing StorageProfile defaults for customer utilized CSI provisioners
Summary: [4.13]Missing StorageProfile defaults for customer utilized CSI provisioners
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Storage
Version: 4.12.0
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
: 4.13.1
Assignee: Arnon Gilboa
QA Contact: Yan Du
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-21 12:04 UTC by Arnon Gilboa
Modified: 2023-06-20 13:41 UTC (History)
2 users (show)

Fixed In Version: v4.13.1.rhel9-21
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2208836
Environment:
Last Closed: 2023-06-20 13:41:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github kubevirt containerized-data-importer pull 2720 0 None Merged [release-v1.56] Add Dell EMC, HPE & Hitachi to known provisioners 2023-05-24 13:18:32 UTC
Red Hat Issue Tracker CNV-28943 0 None None None 2023-05-21 12:04:48 UTC
Red Hat Product Errata RHEA-2023:3686 0 None None None 2023-06-20 13:41:15 UTC

Description Arnon Gilboa 2023-05-21 12:04:18 UTC
+++ This bug was initially created as a clone of Bug #2208836 +++

StorageProfiles ease the burden of selecting the optimal PVC parameters (AccessMode and VolumeMode) for known CSI provisioners. As we encounter new provisioners we should determine the correct values and update our internal table in CDI so that our customers will get a better out of the box experience. Having a correct storage profile can also make VM provisioning order of magnitude faster (host copy vs. CSI clones). Several customer support cases have already arisen because the OCP certified provisioner had an empty or incorrect admin provided storage profile.

Version-Release number of selected component (if applicable):
OpenShift Virtualization 4.12.0

How reproducible:
100%

Steps to Reproduce:
Create DV with storage class which has no StorageProfile defaults (e.g. HPE provisioner csi.hpe.com)

Actual results:
Empty StorgaeProfile is created

Expected results:
StorgaeProfile with default AccessMode and VolumeMode should be created

Additional info:

Comment 1 Yan Du 2023-06-01 08:42:06 UTC
Test on CNV-v4.13.1.rhel9-79, default AccessMode and VolumeMode is defined in hpe StorageProfile

$ oc get sc hpe-standard
NAME                     PROVISIONER   RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
hpe-standard (default)   csi.hpe.com   Delete          Immediate           true                   33s
 
$ oc get sc hpe-standard -o yaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  creationTimestamp: "2023-06-01T07:52:32Z"
  name: hpe-standard
  resourceVersion: "1567524"
  uid: 533649eb-5a80-4fcf-b173-b4c00e015a08
parameters:
  accessProtocol: iscsi
  allowOverrides: description,limitIops,performancePolicy
  csi.storage.k8s.io/controller-expand-secret-name: custom-secret
  csi.storage.k8s.io/controller-expand-secret-namespace: hpe-storage
  csi.storage.k8s.io/controller-publish-secret-name: custom-secret
  csi.storage.k8s.io/controller-publish-secret-namespace: hpe-storage
  csi.storage.k8s.io/fstype: xfs
  csi.storage.k8s.io/node-publish-secret-name: custom-secret
  csi.storage.k8s.io/node-publish-secret-namespace: hpe-storage
  csi.storage.k8s.io/node-stage-secret-name: custom-secret
  csi.storage.k8s.io/node-stage-secret-namespace: hpe-storage
  csi.storage.k8s.io/provisioner-secret-name: custom-secret
  csi.storage.k8s.io/provisioner-secret-namespace: hpe-storage
  description: Volume from HPE CSI Driver
  limitIops: "76800"
  performancePolicy: SQL Server
provisioner: csi.hpe.com
reclaimPolicy: Delete
volumeBindingMode: Immediate

$ oc get storageprofile hpe-standard -o yaml
apiVersion: cdi.kubevirt.io/v1beta1
kind: StorageProfile
metadata:
  creationTimestamp: "2023-06-01T07:52:32Z"
  generation: 1
  labels:
    app: containerized-data-importer
    app.kubernetes.io/component: storage
    app.kubernetes.io/managed-by: cdi-controller
    app.kubernetes.io/part-of: hyperconverged-cluster
    app.kubernetes.io/version: 4.13.1
    cdi.kubevirt.io: ""
  name: hpe-standard
  ownerReferences:
  - apiVersion: cdi.kubevirt.io/v1beta1
    blockOwnerDeletion: true
    controller: true
    kind: CDI
    name: cdi-kubevirt-hyperconverged
    uid: 53c07262-a118-40cf-9ffa-4ba449bb8b68
  resourceVersion: "1567527"
  uid: 8e333633-db54-4ab8-bce2-a1ec6d4f7788
spec: {}
status:
  claimPropertySets:
  - accessModes:
    - ReadWriteOnce
    volumeMode: Block
  - accessModes:
    - ReadWriteOnce
    volumeMode: Filesystem
  provisioner: csi.hpe.com
  storageClass: hpe-standard

Comment 7 errata-xmlrpc 2023-06-20 13:41:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Virtualization 4.13.1 Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2023:3686


Note You need to log in before you can comment on or make changes to this bug.