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

[2109407] [4.11] Cloned VM's snapshot restore fails if the source VM disk is deleted

XMLWordPrintable

    • Storage Core Sprint 223, Storage Core Sprint 225, Storage Core Sprint 226, Storage Core Sprint 228
    • High

      +++ This bug was initially created as a clone of Bug #2104479 +++

      Description of problem:

      [1] Created a new VM and is having below PVC:

      rhel8-tory-koala Bound pvc-6bafb6a3-e418-4860-91b2-f80af872a11f 30Gi RWX ocs-external-storagecluster-ceph-rbd 24s

      [2] Created a clone from this VM:

      rhel8-tory-koala-clone-rhel8-tory-koala-1m97p Bound pvc-90e296b3-20ba-40d4-b0b7-5d9769ae2657 30Gi RWX ocs-external-storagecluster-ceph-rbd 4s

      [3] Created a snapshot on the cloned VM:

      NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE
      vmsnapshot-70be6e17-b80d-46fb-a544-c52f6ee76a61-volume-rhel8-tory-koala true rhel8-tory-koala-clone-rhel8-tory-koala-1m97p 30Gi ocs-external-storagecluster-rbdplugin-snapclass snapcontent-4ce6eab1-62b0-42f1-bd72-f4a0a2d63dae 19s 20s

      [4] Deleted the VM and disk in [1].

      [5] Tried to restore the snapshot. Restoration failed with the error below:

      ~~~
      Error creating DataVolume restore-558e00db-857b-415d-8f37-bd7369194419-rhel8-tory-koala: admission webhook "datavolume-validate.cdi.kubevirt.io" denied the request: Source PVC default/rhel8-tory-koala not found
      ~~~

      It is looking for PVC in [1] instead of PVC of the cloned VM.

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

      kubevirt-hyperconverged-operator.v4.10.2

      How reproducible:
      100 %

      Steps to Reproduce:

      Please refer above.

      Actual results:

      Cloned VM's snapshot restore fails if the source VM disk is deleted.

      Expected results:

      Snapshot restore should work.

      Additional info:

      — Additional comment from on 2022-07-14 14:17:39 UTC —

      Hi @nashok@redhat.com I will really appreciate the yamls of the original VM, and of the cloned VM. Also an explanation of the process of the VM clone that was done in this case. Thanks

      — Additional comment from nijin ashok on 2022-07-18 12:58:59 UTC —

      Attaching the yamls of VMs.

      The VM clone was done from the OpenShift console using "clone" option.

      Looks like the issue is because the VirtualMachineSnapshotContent of cloned VM refers to the source VM PVC instead of cloned PVC.

      ~~~
      yq -y '.spec.source.virtualMachine.spec.dataVolumeTemplates' /tmp/vmsnapshot-content-53237ca8-7ca8-4894-ab85-0ba132a968e0.yaml

      • metadata:
        creationTimestamp: null
        name: rhel8-resident-heron-clone-rhel8-resident-heron-2vald
        spec:
        source:
        pvc:
        name: rhel8-resident-heron <<<<
        namespace: nijin-cnv
        storage:
        accessModes:
      • ReadWriteMany
        resources:
        requests:
        storage: 30Gi
        storageClassName: ocs-external-storagecluster-ceph-rbd
        volumeMode: Block
        ~~~

      The restore works if I manually edit this and changed it to cloned PVC.

      — Additional comment from nijin ashok on 2022-07-18 13:00:20 UTC —

            skagan@redhat.com Shelly Kagan
            yadu1@redhat.com Yan Du
            Dalia Frank Dalia Frank
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: