[openstack-dev] Proposal for instance-level snapshots in Nova

Christopher Yeoh cbkyeoh at gmail.com
Tue Jan 7 02:59:32 UTC 2014

On Tue, Jan 7, 2014 at 7:50 AM, Jon Bernard <jbernard at tuxion.com> wrote:

> Hello all,
> I would like to propose instance-level snapshots as a feature for
> inclusion in Nova.  An initial draft of the more official proposal is
> here [1], blueprint is here [2].
> In a nutshell, this feature will take the existing create-image
> functionality a few steps further by providing the ability to take
> a snapshot of a running instance that includes all of its attached
> volumes.  A coordinated snapshot of multiple volumes for backup
> purposes.  The snapshot operation should occur while the instance is in
> a paused and quiesced state so that each volume snapshot is both
> consistent within itself and with respect to its sibling snapshots.
> I still have some open questions on a few topics:
> * API changes, two different approaches come to mind:
>   1. Nova already has a command `createImage` for creating an image of an
>      existing instance.  This command could be extended to take an
>      additional parameter `all-volumes` that signals the underlying code
>      to capture all attached volumes in addition to the root volume.  The
>      semantic here is important, `createImage` is used to create
>      a template image stored in Glance for later reuse.  If the primary
>      intent of this new feature is for backup only, then it may not be
>      wise to overlap the two operations in this way.  On the other hand,
>      this approach would introduce the least amount of change to the
>      existing API, requiring only modification of an existing command
>      instead of the addition of an entirely new one.
>   2. If the feature's primary use is for backup purposes, then a new API
>      call may be a better approach, and leave `createImage` untouched.
>      This new call could be called `createBackup` and take as a parameter
>      the name of the instance.  Although it introduces a new member to the
>      API reference, it would allow this feature to evolve without
>      introducing regressions in any existing calls.  These two calls could
>      share code at some point in the future.

Note there already is a createBackup/create_backup API call implemented in
the admin_actions
extension (in V3 API it is being separated into its own extension
It doesn't do the all volumes snapshot that you want though. There's a
small window (basically end of icehouse) to make an incompatible change in
the V3 API if that would be the best way to do it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140107/c163e9c1/attachment.html>

More information about the OpenStack-dev mailing list