Bug 884713
Summary: | Add support for qemu-kvm's BALLOON_CHANGE event to avoid using monitor in virDomainGetXMLDesc | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Chris Pelland <cpelland> |
Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | urgent | Docs Contact: | |
Priority: | high | ||
Version: | 6.3 | CC: | abaron, acathrow, areis, bazulay, berrange, bsarathy, cpelland, dallan, dron, dyasny, dyuan, hateya, iheim, jdenemar, juzhang, libvirt-maint, lpeer, michen, mjenner, mkenneth, mzhan, pm-eus, rwu, sluo, virt-maint, whuang, xfu, ykaul, zpeng |
Target Milestone: | rc | Keywords: | ZStream |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.9.10-21.el6_3.7 | Doc Type: | Bug Fix |
Doc Text: |
Whenever the virDomainGetXMLDesc() function was executed on a domain that was unresponsive, the call also became unresponsive. With this update, QEMU sends the BALLOON_CHANGE event when memory usage on a domain changes so that virDomainGetXMLDesc() no longer has to query an unresponsive domain. As a result, virDomainGetXMLDesc() calls no longer hang in the described scenario.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2012-12-19 09:43:41 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: | 884650 | ||
Bug Blocks: |
Description
Chris Pelland
2012-12-06 15:46:45 UTC
Hi, Jiri I try to verify this bug , but I do not know the exactly steps,I do the following step ,can you give me some suggestions to verify this bug ? my env: libvirt-0.9.10-21.el6_3.7.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.balloon2.x86_64 (https://bugzilla.redhat.com/show_bug.cgi?id=881732#c36 ) vdsm-4.9.6-44.0.el6_3.x86_64 1) start a guest 2) check "BALLOON_CHANGE" event # virsh qemu-monitor-command n2 '{"execute": "query-events"}' {"return":[{"name":"BALLOON_CHANGE"},{"name":"WAKEUP"},{"name":"SUSPEND"},{"name":"__com.redhat_SPICE_DISCONNECTED"},{"name":"__com.redhat_SPICE_INITIALIZED"},{"name":"BLOCK_JOB_CANCELLED"},{"name":"BLOCK_JOB_COMPLETED"},{"name":"DEVICE_TRAY_MOVED"},{"name":"SPICE_DISCONNECTED"},{"name":"SPICE_INITIALIZED"},{"name":"SPICE_CONNECTED"},{"name":"WATCHDOG"},{"name":"RTC_CHANGE"},{"name":"BLOCK_IO_ERROR"},{"name":"VNC_DISCONNECTED"},{"name":"VNC_INITIALIZED"},{"name":"VNC_CONNECTED"},{"name":"RESUME"},{"name":"STOP"},{"name":"POWERDOWN"},{"name":"RESET"},{"name":"SHUTDOWN"}],"id":"libvirt-39"} but if I do the steps in bug 881732 the host vdsm is still stuck . Wenlong To test this bug, you don't even need vdsm. Just follow the steps below: 1. virsh start DOM 2. virsh setmem DOM MEMORY 3. kill -STOP DOM_QEMU_PROCESS 4. virsh dumpxml DOM 5. kill -CONT DOM_QEMU_PROCESS With unfixed libvirt, virsh dumpxml would block until step 5 is done. The fixed version will return domain XML immediately even if the qemu process is stopped and not responding. (In reply to comment #8) > To test this bug, you don't even need vdsm. Just follow the steps below: > > 1. virsh start DOM > 2. virsh setmem DOM MEMORY > 3. kill -STOP DOM_QEMU_PROCESS > 4. virsh dumpxml DOM > 5. kill -CONT DOM_QEMU_PROCESS > > With unfixed libvirt, virsh dumpxml would block until step 5 is done. The > fixed version will return domain XML immediately even if the qemu process is > stopped and not responding. Thanks for your help ! Verify this bug: libvirt-0.9.10-21.el6_3.7.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.balloon2.x86_64 1) start a guest virsh list Id Name State ---------------------------------------------------- 10 n2 running 2) virsh setmem DOM MEMORY #virsh setmem n2 800M 3)kill -STOP DOM_QEMU_PROCESS 4) virsh dumpxml n2 (no block) <domain type='kvm' id='10'> <name>n2</name> <uuid>25f3ac88-0cc8-4025-bfc0-b09d5aac28eb</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>819200</currentMemory> <vcpu placement='static'>1</vcpu> <cputune> <shares>1020</shares> </cputune> <sysinfo type='smbios'> <system> ..... 5) kill -CONT DOM_QEMU_PROCESS I reproduce this bug with : libvirt-0.9.10-21.el6_3.6.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.8.x86_64 and libvirt-0.9.10-21.el6_3.6.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.balloon2.x86_64 then verify it with comment 9 I can reproduce this bug with: libvirt-0.9.10-21.el6_3.6.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.10.x86_64 then verify this bug with: libvirt-0.9.10-21.el6_3.7.x86_64 qemu-kvm-rhev-0.12.1.2-2.295.el6_3.10.x86_64 steps as comment 9 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/RHBA-2012-1595.html |