Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1004602

Summary: error message need be improved for q35 guest with wrong controller
Product: Red Hat Enterprise Linux 7 Reporter: EricLee <bili>
Component: libvirtAssignee: Laine Stump <laine>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.0CC: dyuan, hhan, jsuchane, juzhang, laine, mzhan, rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-2.0.0-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:06:42 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 EricLee 2013-09-05 02:42:57 UTC
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:

Comment 6 hongming 2015-07-14 06:23:00 UTC
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.

Comment 8 Laine Stump 2015-08-10 05:40:12 UTC
Moving to 7.3 due to lack of capacity.

Comment 10 Laine Stump 2016-04-21 19:06:47 UTC
patch posted upstream:

https://www.redhat.com/archives/libvir-list/2016-April/msg01530.html

Comment 11 Laine Stump 2016-06-29 18:28:04 UTC
Pushed upstream and in release 1.3.5:

commit e5aecc2f800e8e14edd561dc5af4f763f040d842
Author: Laine Stump <laine>
Date:   Tue Apr 19 17:05:54 2016 -0400

    conf: log error when incorrect PCI root controller is added to domain

Comment 13 Han Han 2016-08-18 07:35:50 UTC
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,?]:

Comment 15 errata-xmlrpc 2016-11-03 18:06:42 UTC
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