Bug 1325085
Summary: | libvirt doesn't recognize arm/aarch64 versioned virt-* machinetypes as capable of multiple PCI buses, names them all "pci" | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Richard W.M. Jones <rjones> | ||||||
Component: | libvirt | Assignee: | Libvirt Maintainers <libvirt-maint> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 24 | CC: | agedosier, berrange, clalancette, dennis, itamar, jforbes, jtomko, kparal, laine, libvirt-maint, pwhalen, robatino, veillard, virt-maint | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | armv7hl | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | AcceptedBlocker | ||||||||
Fixed In Version: | libvirt-1.3.3-2.fc24 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2016-04-19 20:30:34 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: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 910269, 1230433 | ||||||||
Attachments: |
|
Description
Richard W.M. Jones
2016-04-08 07:35:00 UTC
Created attachment 1145040 [details]
build.log
Created attachment 1145041 [details]
root.log
libvirt is not ready for versioned "virt" machine types. "virt-2.6" does not match the condition in virQEMUCapsHasPCIMultiBus: http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_capabilities.c;h=5d09dc8f3e2;hb=6e244c65#l2177 2173 if (ARCH_IS_ARM(def->os.arch)) { 2174 /* If 'virt' supports PCI, it supports multibus. 2175 * No extra conditions here for simplicity. 2176 */ 2177 if (STREQ(def->os.machine, "virt")) 2178 return true; 2179 } so it assigns the same "pci" alias to all pci controllers: http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_alias.c;h=ade2033e273c8;hb=6e244c659fb0045#l123 129 if (controller->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) { 130 if (!virQEMUCapsHasPCIMultiBus(qemuCaps, domainDef)) { 131 /* qemus that don't support multiple PCI buses have 132 * hardcoded the name of their single PCI controller as 133 * "pci". 134 */ 135 return VIR_STRDUP(controller->info.alias, "pci"); Proposed upstream patch: https://www.redhat.com/archives/libvir-list/2016-April/msg00327.html Should be fixed by: commit f06ca25d235433f9139cbfb3d5d9eae7409156b9 Author: Ján Tomko <jtomko> CommitDate: 2016-04-08 14:15:51 +0200 qemu: support virt-2.6 machine type on arm Some places already check for "virt-" prefix as well as plain "virt". virQEMUCapsHasPCIMultiBus did not, resulting in multiple PCI devices having assigned the same unnumbered "pci" alias. Add a test for the "virt-2.6" machine type which also omits the <model type='virtio'/> in <interface>, to check if qemuDomainDefaultNetModel works too. https://bugzilla.redhat.com/show_bug.cgi?id=1325085 git describe: v1.3.3-36-gf06ca25 *** Bug 1327289 has been marked as a duplicate of this bug. *** proposing as a Fedora 24 Beta blocker https://fedoraproject.org/wiki/Fedora_24_Beta_Release_Criteria#Virtualization_requirements this prevents virtualisation from working libvirt-1.3.3-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-9efb51303d Also affects aarch64: qemu-system-aarch64-2.6.0-0.1.rc1.fc24.aarch64 libvirt-1.3.3-1.fc24.aarch64 Original error from libvirt: internal error: process exited while connecting to monitor: qemu-system-aarch64: -device pci-bridge,chassis_nr=2,id=pci,bus=pci,addr=0x1: Duplicate ID 'pci' for device [code=1 int1=-1] libvirt-1.3.3-2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-9efb51303d Discussed at today's blocker review meeting [1]. Voted as AcceptedBlocker (Beta) - as described, the bug is a violation of "The release must be able host virtual guest instances of the same release." on ARM (a primary arch). [1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2016-04-18 On aarch64, libvirt-1.3.3-2.fc24.aarch64 fixes the problem. Still testing on armv7hl. Looks like I can't test armv7 (because of bug 1315895). confirmed, libvirt-1.3.3-2.fc24.armv7hl also working libvirt-1.3.3-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. |