]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
rbd: implement create_volume_from_snapshot
authorJosh Durgin <josh.durgin@inktank.com>
Mon, 13 Aug 2012 22:13:06 +0000 (15:13 -0700)
committerJosh Durgin <josh.durgin@inktank.com>
Tue, 14 Aug 2012 15:17:45 +0000 (08:17 -0700)
commitff45e32b97a7b87a611715ba61f0ebab5185edc3
tree12ec748c2405b48c785b3d3f7ceda7a8433af767
parent66afa15568f5077da2376a4129ef04a1e06cc64a
rbd: implement create_volume_from_snapshot

In an upcoming release, rbd will support creating volumes from
snapshots ('cloning'). To clone a snapshot, it must first be
'protected', which means it cannot be deleted until it is unprotected.
A snapshot can only be unprotected if no clones depend on it. Thus,
translate a failure to unprotect into a SnapshotIsBusy exception.

Also check for remaining snapshots before deleting a volume,
and raise VolumeIsBusy if any exist. While we're here, tidy up
the shell arguments to be more readable.

This is backwards compatible since it does not use the new features
unless they are available in the installed version of rbd.

Change-Id: If4105e7af7ba33f09a15103b53ad675aceb2ebb4
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
cinder/volume/driver.py