Jump to: navigation, search


Revision as of 18:57, 21 April 2015 by Jdloft (talk | contribs) (Summary: typos)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
  • Launchpad Entry: NovaSpec:foo or SwiftSpec:foo
  • Created:
  • Contributors:


Enabling KVM to pausing instance and suspending instance. The difference between "pause" and "suspend" is that "Suspend stores the state of VM on disk while pause stores it in memory (RAM)" (quoted from <http://forums.citrix.com/thread.jspa?messageID=1375993>) In other words, pause is similar to "sleep" and suspend is similar to "hybernation".

Release Note

Some methods will be added to Openstack compute to pause/suspend instances.

end-use impact of this change

Nothing specific. This feature is already implemented for xenserver, and all implementation for KVM has been done.


This feature has already implemented for xenserver, but not KVM.

User stories

1. User can use "suspend" on annual maintenance day. Instead of terminating instances, "suspend" can be used for reducing risks having a problem on restarting his system. 2. instance which is not frequently used can be "suspend". Admins can save physical server's resource. 3. User can use "pause" when they want to get backup of instances, and instance is writing data to disks, backup may fails, then he may wish instance would stop while backup has been done.


Xenserver "pause" and "suspend" might not be exactly same as KVM's, but, "pause" in xenserver is similar to "suspend" in KVM, also, "suspend" in xenserver is similar to "save" in KVM. So "suspend" in KVM will be implemented as "pause", and "save" in KVM will be implemented as "suspend".


The code to do pause/suspend to driver layer(nova.virt.libvirt_conn.LibvirtConnection). Any inevitable operation except driver layer have already been implemented since works for xenserver has already been finished.


In LibvirtConnection class, pause(), unpause(), suspend(), resume() will be implemented(currently, those methods just throws NotImplementationError()).

UI Changes


Code Changes




Test/Demo Plan

This need not be added or completed until the specification is nearing beta.

Unresolved issues


BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.