pending-delete rollback ability

Registered by wangxiyuan

Glance support soft delete images with delayed_delete feature. If this feature is open, when users delete a image, the image will be in pending-delete status first. And then will be deleted by scrubber worker.

But obviously, there is no way to revert the pending-delete images. When use delayed_delete feature in Glance by the administrator, it usually means that people need to think/do more about the delete action and give them a chance to regret. So once the users want to revert the delete action, Glance should give them this kind of ability.

This bp will create a new API in Glance, which could be called like: v2/images/{images}/actions/revert. With this api, users can rollback the pending-delete image status to active.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
wangxiyuan
Direction:
Approved
Assignee:
wangxiyuan
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
wangxiyuan
Completed by
wangxiyuan

Related branches

Sprints

Whiteboard

I am against this in principle. The point of pending-delete is to allow asynchronous deletions, particularly for the swift backend, where image data must be broken into segments. Some experiments in Rackspace public cloud put the "sweet spot" for segments at about 256MB, and when the average image size is around 40GB, that's a lot of segments, and if you wait to return deletion success until all segments have been deleted, that's a long time. I think we should take a strong stance that deletion in Glance is final. Feel free to propose this as a spec in the glance-specs repo and the entire community can discuss this on the gerrit review of the spec.

Gerrit topic: https://review.openstack.org/#q,topic:bp/pending-delete-rollback,n,z

Addressed by: https://review.openstack.org/549695
    [WIP]Pending-delete rollback ability

Addressed by: https://review.openstack.org/550025
    Refactor scrubber functional test

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.