Bug 1041679

Summary: [RFE][cinder]: Add a "flat_volume" api to break dependency between a volume created from a snapshot and its parent snapshot
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/cinder/+spec/add-flat-volume-api
Whiteboard: upstream_milestone_none upstream_status_good-progress upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:18:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 18:37:01 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/cinder/+spec/add-flat-volume-api.

Description:

For some backends  such like ceph and nexenta , they use CoW/Layering mechanism for cloning, that introduce a dependency between child volume and its parent snapshot/volumes. I want to add a flat_volume api extenssion(include api extension and also a dummy implementation in volume/driver.py), that willing to allow user to flat the child volume , thus remove the dependency.
Currently ,with such dependency, user cannot delete the parent volume/snapshot unless they deleted all child volumes cloned from them.This may not make sense for some use cases such like a tenant admin want to delete a base volume image,but there are still some running VMs using the child volumes.
With the flat_volume api(and also its implementation in backend driver), it allow such use case.

Specification URL (additional information):

None