Difference between revisions of "Kvm-Pause-Suspend"
Clark Boylan (talk | contribs) |
m (Text replace - "__NOTOC__" to "") |
||
Line 1: | Line 1: | ||
− | + | ||
* '''Launchpad Entry''': [[NovaSpec]]:foo or [[SwiftSpec]]:foo | * '''Launchpad Entry''': [[NovaSpec]]:foo or [[SwiftSpec]]:foo | ||
* '''Created''': | * '''Created''': |
Revision as of 23:29, 17 February 2013
Contents
Summary
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 word, 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.
Rationale
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.
Assumptions
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".
Design
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.
Implementation
In LibvirtConnection class, pause(), unpause(), suspend(), resume() will be implemented(currently, those methods just throws NotImplementationError()).
UI Changes
None
Code Changes
None
Migration
None
Test/Demo Plan
This need not be added or completed until the specification is nearing beta.
Unresolved issues
None
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.