Jump to: navigation, search

Difference between revisions of "Cinder/blueprints/multi-attach-volume"

(v1/{tenant_id}/volumes/{volume_id})
(v1/{tenant_id}/volumes/{volume_id})
Line 31: Line 31:
 
===API===
 
===API===
  
==== v1/{tenant_id}/volumes/{volume_id} ====
+
==== GET v1/{tenant_id}/volumes/{volume_id} ====
  
 
===CLI===
 
===CLI===

Revision as of 19:52, 26 November 2013

[ DRAFT ]

Summary

Currently the Block Storage (Cinder) service only allow a volume to be attached to one instance at a time. The Compute Service (Nova) also makes assumptions in a number of places to this effect as do the APIs, CLIs, and UIs exposed to users. This specification is drafted in support of multi-attach-volume and aims to outline the changes required to allow users to share volumes between multiple guests using either read-write or read-only attachments.

Comments from a previous proposal to this effect (shared-volume) were also taken into consideration. Further background is also available in the etherpad from the relevant session at the Portland (Havana) Design Summit.

Blockers

These issues or questions are outstanding and without resolution will block implementation of this proposal:

  • A determination needs to be made with regards to what to resolve the conflict between the overall volume status and the attachment status.
  • A determination needs to be made with regards to implementing separation of core and extension functionality within Cinder, allowing multi-attachment to be an extension of core attachment functionality.
  • In the discussion of the shared-volume blueprint it was suggested that volumes should have to be explicitly marked as sharable to allow multi-attachment. This is not however the case in the current proposed implementation. Should this be added to help ensure users are aware of the inherent risks of attaching a volume to multiple instances, or is this the responsibility of the client (e.g. Horizon?).

User Stories

Design

Assumptions

  • Administrators and users are ultimately responsible for ensuring data integrity is maintained when attaching a shared volume to multiple instances in read-write mode.

Cinder

API

GET v1/{tenant_id}/volumes/{volume_id}

CLI

Nova

API

CLI

Horizon