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

[1911590] RFE - Block VM creation with sata disk and ioThreadsPolicy settings

XMLWordPrintable

    • High
    • No

      Description of problem:
      Failed to add sata disk to VM which with virtio disk,
      CNV create the VM yaml file with ioThreadsPolicy: shared,
      but sata disk don't support iothread in libvirt.

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

      How reproducible:
      100%

      Steps to Reproduce:
      1. Login to web console, Project: openshift-cnv, Create a VM.
      Click "Virtualization" -> Virtual Machines
      -> Create: Virtual Machine with Wizard,
      Select a template: "Red Hat Enterprise Linux 8.0 + VM" -> Next,
      Boot source type: Import via URL (creates PVC) Import URL: http://s3-qe-cn-storage.usersys.redhat.com/libvirt-CI-resources/RHEL-8.3-x86_64-latest.qcow2
      Persitent Volume Claim size: 12 GiB
      Advanced:
      Storage class: manual Access mode: Single User(RWO) Click Next,
      Project: openshift-cnv Virtual Machine Name: rhel8-deep-anglerfish
      Flavor: Small 1 CPU| 2 GiB Memory Storage: 2 Disks
      Workload profile: server Boot source: Boot from disk ***
      Select: Start this virtual machine after creation
      Click "Customize virtual machine":
      -> Networking: Name: default, click "Next"
      -> Storage: "Next" -> Advanced: "Next"
      -> Review: "Create Virtual Machine

      2.Create the PV, check the PV is created, and Bound to PVC. The DV is 100.0% Succeeded.
      #oc create -f pv-dv-nfs-rhel.yaml

      3. Login to VM, check the interface, touch file in VM.

      4. On VM page, click "Disks" -> "Add Disk", add a sata disk.
      Add Disk: Source: Blank(create PVC); Name: disk-0;
      Size: 2 GiB; interface: sata; Type: Disk; Storage Class: manual;
      Volume Mode: Filesystem; Access Mode: RWO

      5. Create PV for new added disk: pv-disk-nfs-rhel.yaml, check the PV is created, and Bound to PVC. The DV is 100.0% Succeeded.

      1. oc create -f pv-disk-nfs-rhel.yaml

      6. Restart the VM, the VM is failed to start, get error:

      1. oc get vmi
        NAME AGE PHASE IP NODENAME
        rhel8-deep-anglerfish 3m4s Scheduled 10.131.0.48 intel-e52650-16-4.englab.nay.redhat.com
      1. oc describe vmi rhel8-deep-anglerfish
        ......
        Message: server error. command SyncVMI failed: "LibvirtError(Code=67, Domain=10, Message='unsupported configuration: IOThreads not available for bus sata target sda')"
        ......

      7. Check the VM is shutoff and the disk xml is as below:

      1. oc rsh virt-launcher-rhel8-deep-anglerfish-ptcqb
        sh-4.4# virsh list --all
        Id Name State
        ------------------------------------------------------
      • openshift-cnv_rhel8-deep-anglerfish shut off

      sh-4.4# virsh dumpxml openshift-cnv_rhel8-deep-anglerfish|grep disk -A 8
      <disk type='file' device='disk'>
      <driver name='qemu' type='raw' iothread='1'/>
      <source file='/var/run/kubevirt-ephemeral-disks/cloud-init-data/openshift-cnv/rhel8-deep-anglerfish/noCloud.iso'/>
      <target dev='vda' bus='virtio'/>
      <alias name='ua-cloudinitdisk'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </disk>
      <disk type='file' device='disk'>
      <driver name='qemu' type='raw' iothread='1'/>
      <source file='/var/run/kubevirt-private/vmi-disks/rootdisk/disk.img'/>
      <target dev='vdb' bus='virtio'/>
      <boot order='1'/>
      <alias name='ua-rootdisk'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </disk>
      <disk type='file' device='disk'>
      <driver name='qemu' type='raw' iothread='1'/>
      <source file='/var/run/kubevirt-private/vmi-disks/disk-0/disk.img'/>
      <target dev='sda' bus='sata'/>
      <alias name='ua-disk-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
      </disk>

      8. Check the VM yaml file. There is "ioThreadsPolicy: shared", thus the disk xml with iothread part, but the sata disk don't support iothread in libvirt.

      Actual results:
      In step6, failed to restart VM.

      Expected results:
      In step6, restart VM successfully.

      Additional info:

      • rhel8.yaml
      • describe_rhel8-deep-anglerfish
      • openshift-cnv_rhel8-deep-anglerfish.xml
      • pv-dv-nfs-rhel.yaml
      • pv-disk-nfs-rhel.yaml

              iholder@redhat.com Itamar Holder
              chhu@redhat.com Chenli Hu
              Israel Pinto Israel Pinto
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: