Jump to: navigation, search

Difference between revisions of "Xenapi-live-migration"

(Tidy formatting)
Line 32: Line 32:
  
 
== Implementation ==
 
== Implementation ==
 
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
 
  
 
=== UI Changes ===
 
=== UI Changes ===

Revision as of 10:42, 8 June 2012

  • Launchpad Entry: NovaSpec:xenapi-live-migration
  • Created: 08 June 2012
  • Contributors: John Garbutt

Summary

We need to support live migration in the XenAPI driver.

This only deals with live migration using shared storage managed by the XenServer pool. It also does not work when using external ramdisk and kernel

Release Note

Added support for live migration

Rationale

Expose Live Migration using XenAPI, in a similar way to current LibVirt support.

User stories

User is running a VM (w

Assumptions

  • Host Aggregates allows you to create a XenServer pool.
  • Pool is using shared storage

Design

Make use of the XenAPI pool_migrate call to migrate VMs within a XenServer pool, when they are on shared storage.

Implementation

UI Changes

Same as libvirt

Code Changes

Big code changes are:

  • implement live-migration calls in XenAPI driver
  • refactor scheduler code so it only has checks common to XenAPI and LibVirt
  • above involves the driver making rpc calls to other drivers (just as in XenAPI layer when creating XenServer pools)
  • above involves introducing the rpc call "check_can_live_migrate" to replace the calls the scheduler would make to do things like "compare_cpu" and "check_shared_storage"

Migration

None.

Test/Demo Plan

  • Manual test of KVM to ensure no regression
  • Manual test with XenServer 6.0 to check XenAPI implementation
  • Defer tempest tests until using Xen Storage Motion

Unresolved issues

  • ramdisk + kernel
  • better error reporting
  • opened another blueprint for Xen Stroage Motion
  • will open another blueprint to look at migrate vs live-migrate