-
Bug
-
Resolution: Done-Errata
-
None
-
0.42
-
False
-
False
-
CLOSED
-
Undefined
-
---
-
---
-
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.
- oc create -f pv-disk-nfs-rhel.yaml
6. Restart the VM, the VM is failed to start, get error:
- 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
- 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:
- 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
- external trackers