Share snapshots with different tenant

Registered by Rushi Agrawal

Currently, Cinder volume snapshots are not share-able. This blueprint wants to make volume snapshots shareable, so that a tenant can be added to that snapshot, who then has the permission to create a volume out of that snapshot. Note that only the original tenant can delete the snapshot. The newly added tenants can only create a volume out of the snapshot, and can't change anything about the snapshot.

As can be seen, this functionality is not 'full ACL', but a subset of it, and hence easier to implement. An additional table will be needed to maintain an association between snapshot ID and the tenant IDs with whom the snapshot is shared which will have a foreign key to the 'snapshots' table.

The tenant should be able to find out which volumes are owned by him/her, and which are shared to him/her. We can do it in two ways: 1: In 'list snapshots' API, also provide additional field specifying owner=true or false. 2: Create another API, say 'list shared snapshots'

Note that 'volume ACLs' blueprint tries to do more or less the same thing but with volumes, but sharing of snapshots provide a cleaner and easier-to-implement interface to the same end goal of sharing data, but without the complexity which ACLs bring.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Rushi Agrawal
Direction:
Needs approval
Assignee:
Rushi Agrawal
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
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.

None

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.