Jump to: navigation, search

Difference between revisions of "Kvm-Pause-Suspend"

m (Text replace - "__NOTOC__" to "")
m (Summary: typos)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
* '''Launchpad Entry''': [[NovaSpec]]:foo or [[SwiftSpec]]:foo
+
* '''Launchpad Entry''': NovaSpec:foo or SwiftSpec:foo
 
* '''Created''':
 
* '''Created''':
 
* '''Contributors''':  
 
* '''Contributors''':  
Line 7: Line 7:
 
Enabling KVM to pausing instance and suspending instance.
 
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>)
 
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".
+
In other words, pause is similar to "sleep" and suspend is similar to "hybernation".
  
 
== Release Note ==
 
== Release Note ==

Latest revision as of 18:57, 21 April 2015

  • Launchpad Entry: NovaSpec:foo or SwiftSpec:foo
  • Created:
  • Contributors:

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 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.

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.