[openstack-dev] Proposal for instance-level snapshots in Nova
jbernard at tuxion.com
Tue Jan 14 22:13:48 UTC 2014
* Christopher Yeoh <cbkyeoh at gmail.com> wrote:
> 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 , blueprint is here .
> > 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.
Thanks for mentioning this. If the consensus is to leave createImage as
it is and use a different API call, then createBackup looks like
a really nice fit.
More information about the OpenStack-dev