Add a "flat_volume" api to break dependency between a volume created from a snapshot and its parent snapshot
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.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Xiaoxi Chen
- Direction:
- Needs approval
- Assignee:
- Xiaoxi Chen
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Good progress
- Milestone target:
- None
- Started by
- Xiaoxi Chen
- Completed by
- Sean McGinnis
Related branches
Related bugs
Sprints
Whiteboard
(smcginnis): Marking obsolete as this has been sitting out there for a long time. If this is still needed, please submit a new bp.
Gerrit topic: https:/
Addressed by: https:/
Draft code for bp add-flat-volume-api blueprint add-flat-volume-api Change-
NetApp drivers have no need for dependencies between volumes and snapshots or volumes created from snapshots, so this would be a welcome addition.
Work Items
Dependency tree
* Blueprints in grey have been implemented.