Bug 636347
| Summary: | libvirt-0.8.4 fails to start VMs after upgrade | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | Eric Blake <eblake> | |
| Component: | libvirt | Assignee: | Eric Blake <eblake> | |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | low | |||
| Version: | 5.6 | CC: | berrange, crobinso, eblake, jdenemar, llim, merlin.linux, virt-maint, weizhan, xen-maint | |
| Target Milestone: | rc | |||
| Target Release: | 5.6 | |||
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | libvirt-0.8.2-6.el5 | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | 635857 | |||
| : | 636349 (view as bug list) | Environment: | ||
| Last Closed: | 2011-01-13 23:16:21 UTC | Type: | --- | |
| 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: | 635857 | |||
| Bug Blocks: | 636349 | |||
|
Description
Eric Blake
2010-09-21 23:32:04 UTC
This shouldn't affect RHEL since our kernels support hotpluggable CPUs but it's an easy fix and makes libvirt run correctly if someone decides to configure their own kernel. yeah, that sounds a good idea to have this backported in the 5.6 tree, Daniel Patch posted at http://post-office.corp.redhat.com/archives/rhvirt-patches/2010-September/msg00597.html Fix built in libvirt-0.8.2-6.el5 You can probably test this by faking the sysfs files arrangement eric mentions in the initial description eg mkdir /tmp/fakesysfs cd /tmp/fakesysfs echo "0-7" > online mount --bind /tmp/fakesysfs /sys/devices/system/cpu After this /sys/devices/system/cpu should contain one file called 'online' as per the bug description Thanks for the idea Daniel. I can confirm that a bind-mount can be used to fake the removal of the hotplug files that libvirt looks for. But you may also need to do:
mkdir -p /tmp/fakesysfs/cpu{0,1,2,3,4,5,6,7}
before the bind mount to make sure the cpu<N> directories are present but empty in the fake tree.
Thanks Daniel and Eric. It can be verified on rhel5.6-x86_64-kvm steps: 1. #cp /sys/devices/system/cpu/ /tmp/fakesysfs/ 2. in /tmp/fakesysfs/cpu<N> remove 'online' file 3. #echo "0-7" > online 4. #mount --bind /tmp/fakesysfs /sys/devices/system/cpu 5 run #virsh start vm There is no error information. The vm can be start successfully. # rpm -qa libvirt libvirt-0.8.2-9.el5 # uname -r 2.6.18-228.el5 # rpm -qa |grep kvm kmod-kvm-83-205.el5 kvm-83-205.el5 kvm-qemu-img-83-205.el5 An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2011-0060.html |