Cloned from launchpad blueprint https://blueprints.launchpad.net/cinder/+spec/delete-snapshot-taskflow. Description: Refactor the delete_snapshot api/manager code to use Taskflow (https://wiki.openstack.org/wiki/TaskFlow). Split delete_snapshot api/manager code into tasks that rollback/recover from failures during DB operations of delete_snapshot and during Quota operations of delete_snapshot. Delete snapshot using taskflow pseudo code Cinder-api tasks: class api_delete_snapshot: def execute: check_volume_status update db status def revert: revert updated DB class api_rpc_request: def execute: rpc cast to delete_snapshot Cinder-manger tasks: class volume_delete_snapshot: def execute: driver.delete_snapshot def revert: update db in case of failure class volume_update_metadata: def execute: update_volume_glance_metadata def revert: quota revert class volume_update_quota: def execute: reserve_quota for delete_snapshot class volume_commit_quota: def execute: commit quota for delete_snapshot Specification URL (additional information): None
*** Bug 1016231 has been marked as a duplicate of this bug. ***