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

DataSources do not react properly when default virtualization storage class changes

XMLWordPrintable

    • Quality / Stability / Reliability
    • 8
    • False
    • Hide

      None

      Show
      None
    • False
    • CNV v4.18.0.rhel9-435
    • Release Notes
    • Hide
      DataSources will react properly when default virtualization storage class changes

      In previous versions, an admin would have to delete the old sources upon change of the default or a virt-default storage class.

      Reference to a virt--default storage class: https://docs.openshift.com/container-platform/4.17/virt/install/preparing-cluster-for-virt.html#storage-requirements_preparing-cluster-for-virt

      Starting 4.18, the controller performs this automatically: when you change the default storage class, old boot sources (DVs/PVCs or VolumeSnapshots) will be deleted, and re-imported using the new default storage class.

      If boot source images were stored as VolumeSnapshots, and you’ve unset both cluster default and virt-default storage class, the VolumeSnapshots will be cleaned up and new DVs will be created. However, they will not start importing unless you will set a default storage class.

      To avoid the undesired flip flop, you can explicitly specify the storageClassName in the dataImportCronTemplates section in HyperConverged resource.

      Reference to this part: https://issues.redhat.com/browse/CNV-45704
      Show
      DataSources will react properly when default virtualization storage class changes In previous versions, an admin would have to delete the old sources upon change of the default or a virt-default storage class. Reference to a virt--default storage class: https://docs.openshift.com/container-platform/4.17/virt/install/preparing-cluster-for-virt.html#storage-requirements_preparing-cluster-for-virt Starting 4.18, the controller performs this automatically: when you change the default storage class, old boot sources (DVs/PVCs or VolumeSnapshots) will be deleted, and re-imported using the new default storage class. If boot source images were stored as VolumeSnapshots, and you’ve unset both cluster default and virt-default storage class, the VolumeSnapshots will be cleaned up and new DVs will be created. However, they will not start importing unless you will set a default storage class. To avoid the undesired flip flop, you can explicitly specify the storageClassName in the dataImportCronTemplates section in HyperConverged resource. Reference to this part: https://issues.redhat.com/browse/CNV-45704
    • Enhancement
    • Proposed
    • Yes
    • CNV Storage 265
    • None

      Description of problem:

      When installing CNV on an AWS cluster, and the default storageclass is not provided by ODF (for example, gp3-csi), the initial CNV data sources will be created as gp3-csi PVCs, and will not be replaced by snapshots if the an ODF storageclass is later designated default storageclass. (Did not wait for the crons to re-run.)
      
      

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

      OCP 4.16.5
      OCP-Virt 4.16.3
      ODF 4.16.3
      

      How reproducible:

      100%
      

      Steps to Reproduce:

      1. Install an OCP cluster on AWS using openshift-install
      2. Install ODF operator. Wait for ODF to create storageclasses
      3. Install CNV operator
      
      

      Actual results:

      NAME                                         IMAGE REPOSITORY                                                                                  TAGS     UPDATED
      imagestream.image.openshift.io/rhel8-guest   image-registry.openshift-image-registry.svc:5000/openshift-virtualization-os-images/rhel8-guest   latest   2 hours ago
      imagestream.image.openshift.io/rhel9-guest   image-registry.openshift-image-registry.svc:5000/openshift-virtualization-os-images/rhel9-guest   latest   2 hours ago
      
      NAME                                                       FORMAT
      dataimportcron.cdi.kubevirt.io/centos-stream9-image-cron   snapshot
      dataimportcron.cdi.kubevirt.io/fedora-image-cron           snapshot
      dataimportcron.cdi.kubevirt.io/rhel8-image-cron            snapshot
      dataimportcron.cdi.kubevirt.io/rhel9-image-cron            snapshot
      
      NAME                                        AGE
      datasource.cdi.kubevirt.io/centos-stream8   93m
      datasource.cdi.kubevirt.io/centos-stream9   93m
      datasource.cdi.kubevirt.io/centos7          93m
      datasource.cdi.kubevirt.io/fedora           93m
      datasource.cdi.kubevirt.io/rhel7            93m
      datasource.cdi.kubevirt.io/rhel8            93m
      datasource.cdi.kubevirt.io/rhel9            93m
      datasource.cdi.kubevirt.io/win10            93m
      datasource.cdi.kubevirt.io/win11            93m
      datasource.cdi.kubevirt.io/win2k16          93m
      datasource.cdi.kubevirt.io/win2k19          93m
      datasource.cdi.kubevirt.io/win2k22          93m
      
      NAME                                                     PHASE       PROGRESS   RESTARTS   AGE
      datavolume.cdi.kubevirt.io/centos-stream9-0d8f400c1160   Succeeded   100.0%                93m
      datavolume.cdi.kubevirt.io/fedora-b476c72dcf47           Succeeded   100.0%                93m
      datavolume.cdi.kubevirt.io/rhel8-a4f11df886b2            Succeeded   100.0%                93m
      datavolume.cdi.kubevirt.io/rhel9-2dd40a239dc2            Succeeded   100.0%                93m
      
      NAME                          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
      centos-stream9-0d8f400c1160   Bound    pvc-308a7d90-4a5f-47ab-9046-df143dc6e7ec   30Gi       RWO            gp3-csi        <unset>                 94m
      fedora-b476c72dcf47           Bound    pvc-ff7876de-4f7c-422c-8889-8505ae989126   30Gi       RWO            gp3-csi        <unset>                 94m
      rhel8-a4f11df886b2            Bound    pvc-ef5a4e58-573d-442a-b889-d5a344583da5   30Gi       RWO            gp3-csi        <unset>                 94m
      rhel9-2dd40a239dc2            Bound    pvc-5fb4f197-dd62-4b8e-81e9-bb747c869029   30Gi       RWO            gp3-csi        <unset>                 94m
      
      NAME                                         PROVISIONER                             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
      gp2-csi                                      ebs.csi.aws.com                         Delete          WaitForFirstConsumer   true                   130m
      gp3-csi (default)                            ebs.csi.aws.com                         Delete          WaitForFirstConsumer   true                   130m
      ocs-storagecluster-ceph-rbd                  openshift-storage.rbd.csi.ceph.com      Delete          Immediate              true                   97m
      ocs-storagecluster-ceph-rbd-virtualization   openshift-storage.rbd.csi.ceph.com      Delete          Immediate              true                   94m
      ocs-storagecluster-ceph-rgw                  openshift-storage.ceph.rook.io/bucket   Delete          Immediate              false                  97m
      ocs-storagecluster-cephfs                    openshift-storage.cephfs.csi.ceph.com   Delete          Immediate              true                   97m
      openshift-storage.noobaa.io                  openshift-storage.noobaa.io/obc         Delete          Immediate              false                  97m
      

      Expected results:

      datasources are snapshots and show that they are ready to be consumed
      

      Additional info:

      
      

              akalenyu Alex Kalenyuk
              martjack@redhat.com Martin Jackson
              Jenia Peimer Jenia Peimer
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: