Bug 1168849
Summary: | libvirt rejects virtio-scsi options when model is not specified | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Hu Jianwei <jiahu> |
Component: | libvirt | Assignee: | Ján Tomko <jtomko> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | CC: | dyuan, honzhang, lhuang, mzhan, rbalakri |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-1.2.13-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-19 05:56:46 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Hu Jianwei
2014-11-28 08:57:16 UTC
Upstream patch: commit 52a166f493970f0eb2b9c96ac3544904564e209b Author: Ján Tomko <jtomko> CommitDate: 2015-02-25 10:04:58 +0100 Assign default SCSI controller model before checking attribute validity If the qemu binary on x86 does not support lsi SCSI controller, but it supports virtio-scsi, we reject the virtio-specific attributes for no reason. Move the default controller assignment before the check. https://bugzilla.redhat.com/show_bug.cgi?id=1168849 git describe: v1.2.13-rc1-8-g52a166f Verified as below: [root@localhost ~]# rpm -q libvirt qemu-kvm-rhev libvirt-1.2.14-1.el7.x86_64 qemu-kvm-rhev-2.2.0-8.el7.x86_64 <1> No model element [root@localhost ~]# virsh dumpxml r71| grep "<controller type='scsi' index='0'>" -b4 1095- <source file='/var/lib/libvirt/images/r71_gpt.img'/> 1154- <target dev='sda' bus='usb'/> 1190- <address type='usb' bus='0' port='5'/> 1235- </disk> 1247: <controller type='scsi' index='0'> 1286- <driver queues='5'/> 1313- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 1395- </controller> 1413- <controller type='usb' index='0' model='ich9-ehci1'> [root@localhost ~]# virsh start r71 Domain r71 started [root@localhost ~]# ps aux | grep r71 | grep num_queues=5 qemu 12223 96.9 2.3 1694976 183540 ? Sl 11:18 0:17 /usr/libexec/qemu-kvm -name r71 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu SandyBridge -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/r71_VARS.fd,if=pflash,format=raw,unit=1 -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 1cc0e9e3-8383-42a8-a77d-9dbfa7d10fd7 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/r71.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device virtio-scsi-pci,id=scsi0,num_queues=5,... <2> when model = "auto": [root@localhost ~]# virsh dumpxml r71| grep "<controller type='scsi' index='0'" -b4 1095- <source file='/var/lib/libvirt/images/r71_gpt.img'/> 1154- <target dev='sda' bus='usb'/> 1190- <address type='usb' bus='0' port='5'/> 1235- </disk> 1247: <controller type='scsi' index='0' model='auto'> 1299- <driver queues='5'/> 1326- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 1408- </controller> 1426- <controller type='usb' index='0' model='ich9-ehci1'> [root@localhost ~]# virsh start r71 Domain r71 started [root@localhost ~]# /usr/libexec/qemu-kvm -device -h^C [root@localhost ~]# virsh dumpxml r71| grep "<controller type='scsi' index='0'" -b4 1247- <target dev='sda' bus='usb'/> 1283- <alias name='usb-disk0'/> 1315- <address type='usb' bus='0' port='5'/> 1360- </disk> 1372: <controller type='scsi' index='0' model='auto'> 1424- <driver queues='5'/> 1451- <alias name='scsi0'/> 1479- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 1561- </controller> [root@localhost ~]# ps aux | grep r71 | grep num_queues=5 qemu 12415 102 2.3 1694976 183700 ? Sl 11:22 0:17 /usr/libexec/qemu-kvm -name r71 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu SandyBridge -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/r71_VARS.fd,if=pflash,format=raw,unit=1 -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 1cc0e9e3-8383-42a8-a77d-9dbfa7d10fd7 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/r71.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device virtio-scsi-pci,id=scsi0,num_queues=5,... <3> When model = "virtio-scsi": [root@localhost ~]# virsh dumpxml r71| grep "<controller type='scsi' index='0'" -b4 1095- <source file='/var/lib/libvirt/images/r71_gpt.img'/> 1154- <target dev='sda' bus='usb'/> 1190- <address type='usb' bus='0' port='5'/> 1235- </disk> 1247: <controller type='scsi' index='0' model='virtio-scsi'> 1306- <driver queues='5'/> 1333- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 1415- </controller> 1433- <controller type='usb' index='0' model='ich9-ehci1'> [root@localhost ~]# virsh start r71 Domain r71 started [root@localhost ~]# ps aux | grep r71 | grep num_queues=5 qemu 12520 99.6 1.1 1694976 93232 ? Sl 11:24 0:08 /usr/libexec/qemu-kvm -name r71 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu SandyBridge -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/r71_VARS.fd,if=pflash,format=raw,unit=1 -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 1cc0e9e3-8383-42a8-a77d-9dbfa7d10fd7 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/r71.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device virtio-scsi-pci,id=scsi0,num_queues=5,... We can get expected results, moved to Verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2202.html |