Bug 1210159
Summary: | domcapabilities failes for --arch ppc64le --emulatorbin /usr/bin/qemu-system-ppc64 | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | David Gibson <dgibson> |
Component: | libvirt | Assignee: | Michal Privoznik <mprivozn> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.2 | CC: | abologna, agedosier, berrange, clalancette, crobinso, dgibson, dyuan, dzheng, extras-qa, gsun, hannsj_uhl, itamar, jforbes, jtomko, laine, libvirt-maint, mprivozn, mzhan, rbalakri, veillard, virt-maint, weizhan |
Target Milestone: | rc | Keywords: | Upstream |
Target Release: | --- | ||
Hardware: | ppc64le | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | libvirt-1.2.15-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 1209948 | Environment: | |
Last Closed: | 2015-11-19 06:27:36 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: | 1209948 | ||
Bug Blocks: | 1201513, 1204970 |
Description
David Gibson
2015-04-09 04:26:49 UTC
I've pushed patch upstream: commit 0af9325e6a06fd4478d4eebfcd92dfe7e2ec570c Author: Michal Privoznik <mprivozn> AuthorDate: Wed Apr 8 16:59:36 2015 +0200 Commit: Michal Privoznik <mprivozn> CommitDate: Fri Apr 17 17:00:15 2015 +0200 domcaps: Check for architecture more wisely https://bugzilla.redhat.com/show_bug.cgi?id=1209948 So we have this bug. The virConnectGetDomainCapabilities() API performs a couple of checks before it produces any result. One of the checks is if the architecture requested by user can be run by the binary (again user provided). However, the check is pretty dumb. It merely compares if the default binary architecture matches the one provided by user. However, a qemu binary can run multiple architectures. For instance: qemu-system-ppc64 can run: ppc, ppcle, ppc64, ppc64le and ppcemb. The default is ppc64, so if user requested something else, like ppc64le, the check would have failed without obvious reason. Signed-off-by: Michal Privoznik <mprivozn> v1.2.14-221-g0af9325 Test on below packages: libvirt-1.2.17-2.el7.ppc64le kernel-3.10.0-292.el7.ppc64le qemu-kvm-rhev-2.3.0-9.el7.ppc64le # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm <domainCapabilities> <path>/usr/libexec/qemu-kvm</path> <domain>qemu</domain> <machine>pseries-rhel7.2.0</machine> <arch>ppc64le</arch> ===>ppc64le is default <vcpu max='255'/> <os supported='yes'> <loader supported='yes'> <enum name='type'> <value>rom</value> <value>pflash</value> </enum> <enum name='readonly'> <value>yes</value> <value>no</value> </enum> </loader> </os> <devices> <disk supported='yes'> <enum name='diskDevice'> <value>disk</value> <value>cdrom</value> <value>floppy</value> <value>lun</value> </enum> <enum name='bus'> <value>ide</value> <value>fdc</value> <value>scsi</value> <value>virtio</value> <value>usb</value> </enum> </disk> <hostdev supported='yes'> <enum name='mode'> <value>subsystem</value> </enum> <enum name='startupPolicy'> <value>default</value> <value>mandatory</value> <value>requisite</value> <value>optional</value> </enum> <enum name='subsysType'> <value>usb</value> <value>pci</value> <value>scsi</value> </enum> <enum name='capsType'/> <enum name='pciBackend'> <value>default</value> <value>vfio</value> </enum> </hostdev> </devices> </domainCapabilities> # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm --arch ppcemb <machine>pseries-rhel7.2.0</machine> <arch>ppcemb</arch> # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm --arch ppc64 <path>/usr/libexec/qemu-kvm</path> <domain>qemu</domain> <machine>pseries-rhel7.2.0</machine> <arch>ppc64</arch> # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm --arch ppc64le <path>/usr/libexec/qemu-kvm</path> <domain>qemu</domain> <machine>pseries-rhel7.2.0</machine> <arch>ppc64le</arch> # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm --arch ppcle <path>/usr/libexec/qemu-kvm</path> <domain>qemu</domain> <machine>pseries-rhel7.2.0</machine> <arch>ppcle</arch> # virsh domcapabilities --emulatorbin /usr/libexec/qemu-kvm --arch ppc <path>/usr/libexec/qemu-kvm</path> <domain>qemu</domain> <machine>pseries-rhel7.2.0</machine> <arch>ppc</arch> All above are pass. 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 |