Red Hat Bugzilla – Bug 789327
[RFE] Resume VM from s3 as a response for monitor/keyboard/mouse action
Last modified: 2013-02-21 02:07:50 EST
qemu patches are discussed & reviewed upstream at the moment. Plan is to send out qmp events on suspend and wakeup and also add a system_wakeup monitor command which can be used to kick the guest out of s3 state. libvirt needs to handle those for proper s3 support.
submitted qemu patches: monitor command: http://patchwork.ozlabs.org/patch/140404/ qmp events: http://patchwork.ozlabs.org/patch/140598/
v2 posted to upstream. http://www.redhat.com/archives/libvir-list/2012-March/msg00616.html
Per comment 11, move to POST.
The upstream pathches were commited march 23, 11 patches set a26a1969c37c865b18294c5717544c1dc90beb3c Add support for event tray moved of removable disks etc... Daniel
verify with: libvirt-0.10.0-0rc0.el6.x86_64 qemu-kvm-0.12.1.2-2.295.el6.x86_64 seabios-0.6.1.2-19.el6.x86_64 step: 1:prepare a guest with xml ...... <os> <type arch='x86_64' machine='rhel6.3.0'>hvm</type> <loader>/usr/share/seabios/bios-pm.bin</loader> <boot dev='hd'/> </os> ...... 2: start the guest , in guest run #pm-suspent or #echo mem > /sys/power/state the guest suspent successful #virsh list --all Id Name State ---------------------------------------------------- 15 tests3 pmsuspended 3:wake up the guest 1)use clicking keyboard , the guest wakeup w/o error 2)use clicking ps/2 mouse ,the guest wakeup w/o error 3)use monitor command, run in host: # virsh qemu-monitor-command tests3 '{"execute":"system_wakeup"}' {"return":{},"id":"libvirt-43"} the guest can wakeup w/o error. 4: use virsh command to into s3 install vdagent in guest os. add qemu-ga support in guest xml: <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/tests3.agent'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> in guest run #qemu-ga -d in host run: #virsh dompmsuspend $guest_name --target mem Domain tests3 successfully suspended #virsh domstate $guest_name pmsuspended wakeup guest: #virsh dompmwakeup $guest_name Domain tests3 successfully woken up verification passed.
Now, in pkg qemu-guest-agent-win32-0.12.1.2-2.346.el6.x86_64.rpm we can do the testing in windows guest based the windows guest agent supported commands list supported commands: "guest-info" "guest-ping" "guest-sync-delimited" "guest-sync" "guest-shutdown" (include shutdown,reboot,halt) "guest-suspend-disk" "guest-suspend-ram" Since there was a bug 888716 over there ,so the command "guest-susend-disk "not work well so far , besides,qemu agen didn't support "guest-suspend-mem" yet,so we can't test it untile the bug fixed and qemu agent support it
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