Red Hat Bugzilla – Bug 1004602
error message need be improved for q35 guest with wrong controller
Last modified: 2016-11-03 14:06:42 EDT
Description of problem: error message need be improved for q35 guest with pci-root controller, and for other machines guest with pcie-root controller Version-Release number of selected component (if applicable): qemu-kvm-1.5.3-2.el7.x86_64 libvirt-1.1.1-3.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. define a guest will machine='q35'. 2. edit guest xml: from "<controller type='pci' index='0' model='pcie-root'/> " to "<controller type='pci' index='0' model='pci-root'/> " and save. 3. edit guest xml: from "machine='pc-q35-rhel7.0.0'" to "machine='pc'" and save. Actual results: 2. # virsh edit test1 error: XML error: PCI bus is not compatible with the device at 0000:00:02.0. Device requires a PCI Express slot, which is not provided by bus 0000:00 Failed. Try again? [y,n,f,?]: 3. # virsh edit test1 error: internal error: PCI bus is not compatible with the device at 0000:00:01.0. Device requires a standard PCI slot, which is not provided by bus 0000:00 Failed. Try again? [y,n,f,?] Expected results: 2. # virsh edit test1 error: XML error: A q35 machinetype shouldn't have a pci-root controller. Failed. Try again? [y,n,f,?]: 3. # virsh edit test1 error: XML error: A not q35 machinetype shouldn't have a pcie-root controller. Failed. Try again? [y,n,f,?]: Additional info:
hi Jaroslav The bug has had rhel-7.2.0+ flag, so it will be fixed with a new build in rhel7.2 , right? thanks.
Moving to 7.3 due to lack of capacity.
patch posted upstream: https://www.redhat.com/archives/libvir-list/2016-April/msg01530.html
Pushed upstream and in release 1.3.5: commit e5aecc2f800e8e14edd561dc5af4f763f040d842 Author: Laine Stump <laine@laine.org> Date: Tue Apr 19 17:05:54 2016 -0400 conf: log error when incorrect PCI root controller is added to domain
Verified on libvirt-2.0.0-5.el7.x86_64 1. Edit a q35 domain's pcie-root to pci-root # virsh edit q35 ... <type arch='x86_64' machine='pc-q35-rhel7.3.0'>hvm</type> ... <controller type='pci' index='0' model='pci-root'/> ... error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pci-root' was found instead Failed. Try again? [y,n,i,f,?]: # virsh edit q35 ... <type arch='x86_64' machine='pc-q35-rhel7.0.0'>hvm</type> ... <controller type='pci' index='0' model='pci-root'/> ... error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pci-root' was found instead Failed. Try again? [y,n,i,f,?]: 2. Edit a PC type domain's pci-root to pcie-root: ... <type arch='x86_64' machine='pc-i440fx-rhel7.3.0'>hvm</type> ... <controller type='pci' index='0' model='pcie-root'/> ... error: XML error: The PCI controller with index='0' must be model='pci-root' for this machine type, but model='pcie-root' was found instead Failed. Try again? [y,n,i,f,?]:
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/RHSA-2016-2577.html