Jump to: navigation, search

Nova/EucalyptusMigrationSpec

< Nova
Revision as of 23:57, 17 November 2010 by SorenHansen (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
  • Launchpad Entry: NovaSpec:bexar-eucalyptus-migration
  • Created: 2010-11-17
  • Contributors: SorenHansen

Summary

Provide a migration path from Eucalyptus to Nova

Release Note

We added a tool that lets you import users, images, volumes, etc. from an existing Eucalyptus installation into Nova, making it easy to migrate.

Rationale

I'm guessing there's some number of Eucalyptus installations out there. They may have already spent a lot of time setting up users, uploaded lots of images, etc. Removing that obstacle for migration seems like a really good thing to do.

User stories

Dave runs Eucalyptus now, but wants to test out Nova to see how it compares. He plays around with Nova for a little bit, decides it's awesome and wants to switch. He fires up nova-import-from-eucalyptus, points it at his Eucalyptus installation which proceeds to migrate all his settings over. Once it's done, he stops Eucalyptus, starts Nova, and none of the users notice the difference.

Implementation

The data that needs migrating is:

  • Users
  • Volumes
  • Images
  • Image metadata
  • Elastic IP's
  • Security Groups
  • Keypairs
  • Fixed IP's
  • Instances (only if we attempt a live migration)

A lot of this (everything except users, we think) can be extracted using the EC2 API with admin privileges from Eucalyptus. We'll have to put them in the database directly (since going through the API to write this will assign new ID's to everything).

The project concept is unique to Nova, so the migration process should just add a project for each user.

Images may not already have been assembled by Eucalyptus (this doesn't happen until it's requested the first time). It is believed this will happen when it's fetched using a plain HTTP GET.

We also need to support the network models that Eucalyptus supports:

  • System
  • Managed
  • Managed-novlan
  • Static

See the docs at http://open.eucalyptus.com/wiki/EucalyptusNetworkConfiguration_v2.0