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

[2237418] Cloned VM stuck in "WaitingForVolumeBinding" if the source VM have hotplug disk and SC binding mode is WaitForFirstConsumer

XMLWordPrintable

    • CNV Virtualization Sprint 243, CNV Virtualization Sprint 245, CNV Virtualization Sprint 246, CNV Virtualization Sprint 247, CNV Virtualization Sprint 248
    • High
    • No

      Description of problem:

      The storageClass got volumeBindingMode as WaitForFirstConsumer:

      ~~~
      oc get sc ceph-dup
      NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
      ceph-dup openshift-storage.rbd.csi.ceph.com Delete WaitForFirstConsumer true 94m
      ~~~

      The source VM got hotplug volume:

      ~~~

      1. oc get vm rhel8-xv62h6xonijl663c-clone -o yaml |yq '.spec.template.spec.volumes'
      • dataVolume:
        name: rhel8-xv62h6xonijl663c-volume-clone
        name: rootdisk
      • cloudInitNoCloud:
        userData: |-
        #cloud-config
        user: cloud-user
        password: ylb7-w1em-no0h
        chpasswd: { expire: False }

        name: cloudinitdisk

      • dataVolume:
        hotpluggable: true <===
        name: rhel8-xv62h6xonijl663c-disk-loyal-llama-volume-clone
        name: disk-loyal-llama
        ~~~

      A VM cloned from this VM will end up in `WaitingForVolumeBinding` status:

      ~~~

      1. oc get vm rhel8-xv62h6xonijl663c-clone
        NAME AGE STATUS READY
        rhel8-xv62h6xonijl663c-clone 50m WaitingForVolumeBinding False
        ~~~

      The clone of hotplug volume's DV is in WaitForFirstConsumer and PVC is in pending:

      ~~~

      1. oc get dv
        NAME PHASE PROGRESS RESTARTS AGE
        rhel8-xv62h6xonijl663c-disk-loyal-llama-volume-clone WaitForFirstConsumer N/A 52m
      1. oc get pvc rhel8-xv62h6xonijl663c-disk-loyal-llama-volume-clone
        NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
        rhel8-xv62h6xonijl663c-disk-loyal-llama-volume-clone Pending ceph-dup 52m
        ~~~

      The temporary virt-launcher pod that will be created for WaitForFirstConsumer DVs will not bound hotplug volumes since the hotplug volumes will not be part of virt-launcher pod.

      ~~~

      1. oc get pod virt-launcher-rhel8-xv62h6xonijl663c-clone-n78wb
        NAME READY STATUS RESTARTS AGE
        virt-launcher-rhel8-xv62h6xonijl663c-clone-n78wb 0/1 Completed 0 64m
        ~~~

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

      OpenShift Virtualization 4.13.3

      How reproducible:

      100 %

      Steps to Reproduce:

      1. Create a VM with a disk in a Storage class that has a binding mode as WaitForFirstConsumer.
      2. Hotplug a disk to the VM.
      3. Shutdown and clone the VM.
      4. Start the cloned VM. It will not start and will be stuck in WaitingForVolumeBinding and DV of hotplug volume in WaitForFirstConsumer.

      Actual results:

      Cloned VM stuck in "WaitingForVolumeBinding" if the source VM have hotplug disk and SC binding mode is WaitForFirstConsumer.

      Expected results:

      Additional info:

      Git Pull Request: https://github.com/kubevirt/kubevirt/pull/10888 closed

              ffossemo@redhat.com Federico Fossemo
              rhn-support-nashok Nijin Ashok
              Vasiliy Sibirskiy Vasiliy Sibirskiy
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: