From Fedora Project Wiki

(Add known bugs)
(Note about virt-manager qemu-ga default)
 
(2 intermediate revisions by 2 users not shown)
Line 13: Line 13:
== Initiating suspend/hibernate from inside the guest ==
== Initiating suspend/hibernate from inside the guest ==


There are a couple known bugs here:
Known bugs:
* virt-manager will backtrace trying to show guests in the 'suspended' state [https://bugzilla.redhat.com/show_bug.cgi?id=871237 bug 871237]
* Closing a graphical window triggers a guest resume [https://bugzilla.redhat.com/show_bug.cgi?id=871240 bug 871240]
* Closing a graphical window triggers a guest resume [https://bugzilla.redhat.com/show_bug.cgi?id=871240 bug 871240]


# Start a VM, connect to the graphical console with virt-manager
# Start a VM, connect to the graphical console with virt-manager
Line 30: Line 28:


== Initiating suspend/hibernate from the host ==
== Initiating suspend/hibernate from the host ==
 
{{admon/note | qemu-guest-agent should be created by default | A Fedora 20+ VM created on a Fedora 20+ host will configure qemu guest agent support automatically. If using anything older, please see: http://wiki.libvirt.org/page/Qemu_guest_agent}}
# Start a VM, connect to the graphical console with virt-manager
# Start the VM, connect to the graphical console with virt-manager.
# From the host machine, as root, suspend the guest with virsh: <br><pre># virsh dompmsuspend --target mem</pre>
# Verify the agent is running with (you should see some output): <br><pre>ps axwww | grep "qemu-ga"</pre>
# From the host machine, as root, suspend the guest with virsh: <br><pre># virsh dompmsuspend f18 --target mem</pre>
# Watch virsh until the VM is listed as 'suspended': <br><pre># virsh list --all</pre>
# Watch virsh until the VM is listed as 'suspended': <br><pre># virsh list --all</pre>
# Wake the guest up with virsh: <br><pre># virsh dompmwakeup</pre>
# Wake the guest up with virsh: <br><pre># virsh dompmwakeup f18</pre>
# Using the graphical console, verify the guest appeared to resume correctly
# Using the graphical console, verify the guest appeared to resume correctly
# From the host machine, as root, hibernate the guest with virsh: <br><pre># virsh dompmsuspend --target disk</pre>
# From the host machine, as root, hibernate the guest with virsh: <br><pre># virsh dompmsuspend f18 --target disk</pre>
# Watch virsh until the VM is listed as shutoff: <br><pre># virsh list --all</pre>
# Watch virsh until the VM is listed as shutoff: <br><pre># virsh list --all</pre>
# Wake the guest up with virsh: <br><pre># virsh dompmwakeup</pre>
# Start the quest again
# Verify that the VM resumes right where it left off
# Verify that the VM resumes right where it left off



Latest revision as of 21:30, 7 October 2013

Description

Suspend and Hibernate a VM. Verify it resumes as expected. For more details, see:

http://fedoraproject.org/wiki/Features/Virt_Guest_Suspend_Hibernate

Setup

Nothing beyond the initial test day setup (basically a function F18 VM).

How to test

Initiating suspend/hibernate from inside the guest

Known bugs:

  • Closing a graphical window triggers a guest resume bug 871240
  1. Start a VM, connect to the graphical console with virt-manager
  2. From inside the guest, as root, run:
    # pm-suspend
  3. Verify the state changes to 'suspended' in the main virt-manager window
  4. Click inside the black VM guest console, and press any key on the keyboard
  5. Verify the VM resumes right where it left off.
  6. From inside the guest, as root, run:
    # pm-hibernate
  7. Verify the guest appears to shutdown in the main virt-manager window
  8. Start the guest again
  9. Verify that the VM resumes right where it left off


Initiating suspend/hibernate from the host

Note.png
qemu-guest-agent should be created by default
A Fedora 20+ VM created on a Fedora 20+ host will configure qemu guest agent support automatically. If using anything older, please see: http://wiki.libvirt.org/page/Qemu_guest_agent
  1. Start the VM, connect to the graphical console with virt-manager.
  2. Verify the agent is running with (you should see some output):
    ps axwww | grep "qemu-ga"
  3. From the host machine, as root, suspend the guest with virsh:
    # virsh dompmsuspend f18 --target mem
  4. Watch virsh until the VM is listed as 'suspended':
    # virsh list --all
  5. Wake the guest up with virsh:
    # virsh dompmwakeup f18
  6. Using the graphical console, verify the guest appeared to resume correctly
  7. From the host machine, as root, hibernate the guest with virsh:
    # virsh dompmsuspend f18 --target disk
  8. Watch virsh until the VM is listed as shutoff:
    # virsh list --all
  9. Start the quest again
  10. Verify that the VM resumes right where it left off

Expected Results

No obvious errors encountered, guests seem to be functioning as normal after resuming.