SnapshottingInstanceVolume


 * Launchpad Entry: NovaSpec:snapshot-instance
 * Created: 2010-09-01
 * Contributors: JesseAndrews

Develop a feature to allow users to snapshot, using vdi on XenServer snapshots, and store the snapshot in OpenStack Swift with user's credentials.

Summary
Snapshotting the filesystem of an instance can allow recovery if anything bad happens. By implementing the OpenStack API for snapshotting an instance filesystem, we allow users to control their own destiny.

Release Note
A method has been added to OpenStack compute to create a snapshot of an instance.

Rationale
Rackspace/Slicehost parity

User stories
Before performing a major upgrade a user can snapshot their instance, which allows rollback if the upgrade goes wrong.

Assumptions

 * Xen VDI (priority 1) without quiesce
 * KVM's LVM (priority 2) with cow

Design
The code to create a snapshot is added to the compute node service.

When a snapshot is requested, the state of the snapshot is periodically monitored by the service to verify completion.

Implementation
The OpenStack API methods are /images


 * create snapshot
 * list snapshots
 * delete snapshot

Snapshots are created an them uploaded to Swift using the user's credentials.