Hide Forgot
Cloned from launchpad blueprint https://blueprints.launchpad.net/cinder/+spec/stackable-transaction. Description: 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 Specification URL (additional information): None