Stackable/flexible protocol to attach/detach volumes

Registered by Akira Yoshiyama

Now cinder and nova have fixed protocol to attach/detach volumes. If volume drivers can do many transactions between cinder-volume and nova-compute (or cinder-agent), they can extend its capability like dynamic client ACL management or authentication. To do it, each driver should have function lists for attaching/detaching volumes and cinder/nova-side volume drivers should be able to call any function in the lists at the other-side with any arguments.

For example:
Nova-side function list: [begin_attaching, get_connection_info, connect_volume], [begin_detaching, disconnect_volume, finish_detaching]
Cinder-side function list: [reserve, initialize_connection, attach], [begin_detaching, terminate_connection, detach]

Attaching protocol: nova:begin_attaching > cinder:reserve > nova:get_connection_info > cinder:initialize_connection > nova:connect_volume > cinder:attach

Detaching protocol: nova:begin_detaching > cinder: begin_detaching > nova:disconnect_volume > > cinder:terinate_connection > nova:finish_detaching > cinder:detach

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.