| Summary: | Non detection of qemu TCG mode support within a RHEL VM | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Pádraig Brady <pbrady> |
| Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.3 | CC: | acathrow, berrange, dallan, dyasny, dyuan, jdenemar, mzhan, rwu, whuang, zpeng |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-0.10.0-0rc0.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-02-21 07:11:49 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: | |
|
Description
Pádraig Brady
2012-04-18 10:43:25 UTC
I'm somewhat conflicted about this BZ, as unaccelerated qemu isn't supported in RHEL, so that would make this not a bug. OTOH, I'm personally in favor of allowing unaccelerated qemu, for exactly the situation you're in, so I'm not inclined to close this BZ too quickly. Fixed upstream as v0.9.13-66-g8e6fb68:
commit 8e6fb68f1ff224cdf1a4ed929fa92332fe533dec
Author: Jiri Denemark <jdenemar>
Date: Fri Jul 13 16:30:55 2012 +0200
qemu: Fix probing for guest capabilities
Even though qemu-kvm binaries can be used in TCG mode, libvirt would
only detect them if /dev/kvm was available. Thus, one would need to make
a /usr/bin/qemu symlink to be able to use TCG mode with qemu-kvm in an
environment without KVM support.
And even though QEMU is able to make use of KVM, libvirt would not
advertise KVM support unless there was a qemu-kvm symlink available.
This patch fixes both issues.
Steps to reproduce:
1. modprobe -r kvm_intel # or kvm_amd on AMD host
2. modprobe -r kvm
3. virsh capabilities
With unfixed libvirt, the capabilities XML won't contain any <guest> element, while fixed libvirt will correctly report /usr/libexec/qemu-kvm is usable for creating qemu domains.
The second issue can be reproduced with
0. make sure kvm_intel is properly loaded, i.e., undo steps 1 and 2 from the
first test
1. mv /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64
2. virsh capabilities
Fixed version will report /usr/bin/qemu-system-x86_64 is usable for kvm domains. Unfixed version will only list qemu domain type. In other words, only fixed libvirt will put the following elements into capabilities XML:
<domain type='kvm'>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
</domain>
Hi Jiri:
Very thanks for your help!
I can reproduce this with libvirt-0.9.13-3.el6.x86_64.
verify with libvirt-0.10.0-0rc0.el6.x86_64
step:
first point:
1: modprobe -r kvm_intel
2: modprobe -r kvm
3: virsh capabilities
......
<guest>
<os_type>hvm</os_type>
<arch name='i686'>
<wordsize>32</wordsize>
<emulator>/usr/libexec/qemu-kvm</emulator>
<machine>rhel6.3.0</machine>
......
<guest>
<os_type>hvm</os_type>
<arch name='x86_64'>
<wordsize>64</wordsize>
<emulator>/usr/libexec/qemu-kvm</emulator>
......
second point:
1:make sure kvm module loaded
# lsmod | grep kvm
kvm_intel 52890 0
kvm 314931 1 kvm_intel
2:# mv /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64
3: virsh capabilities
.......
<domain type='kvm'>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
</domain>
.......
verification passed.
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. http://rhn.redhat.com/errata/RHSA-2013-0276.html |