Allow a volume to be rolled back to its snapshot

Registered by Steven Tan

It makes sense to be able to revert a volume to a previously taken snapshot.

The roll-back function can be used to revert a volume to a previous snapshot, restoring the volume to the state at the time the snapshot was taken. The function supports roll-back to any previously taken snapshot on the volume (we will call it the roll-back snapshot in this document to distinguish it from other snapshots).

The roll-back process will overwrite the existing volume with data from the rollback snapshot; all other snapshots taken after the rollback snapshot will be deleted.

Note
The volume that for the roll-back must be detached if it is attached to a Nova VM.

---
This is essentially what LVM, ZFS and most other systems support. So I think a general requirement will be better to have broader support among storage systems.

There is a corresponding modification in Horizon that allows this rollback function to be triggered through the dashboard volume management action. The action allows a volume to revert to a selected snapshot. The rollback action will trigger a popup that allows the user to select a previously taken snapshot for the rollback process.

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Low
Drafter:
ProphetStor Team
Direction:
Approved
Assignee:
Rick Chen
Definition:
Obsolete
Series goal:
Accepted for future
Implementation:
Needs Code Review
Milestone target:
milestone icon next
Started by
Steven Tan
Completed by
Sean McGinnis

Related branches

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.

Merged the related Horizon blueprint into this.

---
John,

Code has been submitted. Please review and advise further actions.

Thanks,
Steve

----
Hi Steven,

We'll need to add some more detail to this bp, like "what happens to the snapshot after the revert", how to deal with this in terms of in-use volumes etc etc

Also, let me know if you're still planning to work on this or if somebody else should pick it up.

Thanks,
John

Given that this hasn't been stated and I haven't heard anybody talking about it or had any communications with anybody working on it I'm going to defer it to J. Given that FFE is coming up in a little over a week and there's been no updates whatsoever I think it's fallen to the bottom of the priority list at this point.

Gerrit topic: https://review.openstack.org/#q,topic:bp/cinder-volume-rollback-snapshot,n,z

<jgriffith>
This has become a bit of a mess, the listed items being abandoned, incorrect tags in the commit messages. I think we need to abandon anything remaining on this and start fresh in Juno. I made a number of comments in one of the patches that I'll reiterate from one of your patches (https://review.openstack.org/#/c/73131/)

The correct way to do this would be a base patch that implements the ref implementation and the needed modifications to the API, Manager and base driver, then a follow up for your specific backend device.

<steveisoft>
We need the ability to enforce that only snapshots derived from the volume can be used as candidates for restore. What happens if the snapshot is converted to a volume, can this be used to restore the original volume? I hope not.

To Steven Tan and Rick:
 Do you still work on this bp?
 If not, could you please assign it to me? I am interested in this bp.
 Looking forward to your feedback.
---- ling-yun 2014-07-01

To Ling-Yun:
How can I assign it to you? If you have interested in this bp, you should implement it ans submit with new branch in gerrit.

Addressed by: https://review.openstack.org/104233
    Allow a volume to be rolled back to its snapshot

python-cinderclient
Addressed by: https://review.openstack.org/#/c/104127/

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.