)]}'
{"specs/liberty/approved/multi-attach-volume.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5a67d647f4a75cde2ba713005dc26299e67f0c36","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/multi-attach-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, Cinder only allows a volume to be attached to a single"},{"line_number":14,"context_line":"host or instance.  There are times when a user may want to be able"},{"line_number":15,"context_line":"to attach the same volume to multiple instances."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_f66d3ecd","line":13,"updated":"2015-06-05 05:26:39.000000000","message":"s/Cinder/Nova/\n\nCinder supports multi-attach now...","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b9c9fa0d3c7bf0eb111d684a7d0a4ca9c2a6aa17","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/multi-attach-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, Cinder only allows a volume to be attached to a single"},{"line_number":14,"context_line":"host or instance.  There are times when a user may want to be able"},{"line_number":15,"context_line":"to attach the same volume to multiple instances."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_d616c254","line":13,"in_reply_to":"3afb71cf_f66d3ecd","updated":"2015-06-05 06:07:38.000000000","message":"Done","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5a67d647f4a75cde2ba713005dc26299e67f0c36","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, Cinder only allows a volume to be attached to one instance"},{"line_number":21,"context_line":"and or host at a time.  Nova makes an assumption in a number of places"},{"line_number":22,"context_line":"that assumes the limitation of a single volume to a single instance."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_d67242ad","line":20,"updated":"2015-06-05 05:26:39.000000000","message":"ditto.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b9c9fa0d3c7bf0eb111d684a7d0a4ca9c2a6aa17","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, Cinder only allows a volume to be attached to one instance"},{"line_number":21,"context_line":"and or host at a time.  Nova makes an assumption in a number of places"},{"line_number":22,"context_line":"that assumes the limitation of a single volume to a single instance."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_b60c6643","line":20,"in_reply_to":"3afb71cf_d67242ad","updated":"2015-06-05 06:07:38.000000000","message":"Done","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5a67d647f4a75cde2ba713005dc26299e67f0c36","unresolved":false,"context_lines":[{"line_number":33,"context_line":"read-write or read-only attachments. Clustered applications"},{"line_number":34,"context_line":"with two nodes where one is active and one is passive. Both"},{"line_number":35,"context_line":"require access to the same volume although only one accesses"},{"line_number":36,"context_line":"activly. When the active one goes down, the passive one can take"},{"line_number":37,"context_line":"over quickly and has access to the data."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_d6f7e2f3","line":36,"updated":"2015-06-05 05:26:39.000000000","message":"s/activly/actively/","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b9c9fa0d3c7bf0eb111d684a7d0a4ca9c2a6aa17","unresolved":false,"context_lines":[{"line_number":33,"context_line":"read-write or read-only attachments. Clustered applications"},{"line_number":34,"context_line":"with two nodes where one is active and one is passive. Both"},{"line_number":35,"context_line":"require access to the same volume although only one accesses"},{"line_number":36,"context_line":"activly. When the active one goes down, the passive one can take"},{"line_number":37,"context_line":"over quickly and has access to the data."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_f611be5e","line":36,"in_reply_to":"3afb71cf_d6f7e2f3","updated":"2015-06-05 06:07:38.000000000","message":"Done","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ae4c69e0fcc63a0c2ab69392a4076a070d9f4a3c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"to tell cinder which specific attachment it\u0027s requesting cinder to detach."},{"line_number":56,"context_line":"Since a volume can be attached to an instance and/or a host, a new"},{"line_number":57,"context_line":"attachment uuid is added at detach time.  Passing only an instance uuid"},{"line_number":58,"context_line":"is insufficient.  The attachment_id will be optional in the cinderclient."},{"line_number":59,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":60,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":61,"context_line":"By default libvirt assumes all disks are exclusive used for a single guest."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_f0aaec84","line":58,"updated":"2015-05-11 11:12:23.000000000","message":"Why is only passing an instance uuid insufficient?\n\nAre you attaching the same volume to a single instance multiple times, maybe we should just dis-allow that case.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1faee4965e2203a9dd190c7207a6faf1edc2bca9","unresolved":false,"context_lines":[{"line_number":55,"context_line":"to tell cinder which specific attachment it\u0027s requesting cinder to detach."},{"line_number":56,"context_line":"Since a volume can be attached to an instance and/or a host, a new"},{"line_number":57,"context_line":"attachment uuid is added at detach time.  Passing only an instance uuid"},{"line_number":58,"context_line":"is insufficient.  The attachment_id will be optional in the cinderclient."},{"line_number":59,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":60,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":61,"context_line":"By default libvirt assumes all disks are exclusive used for a single guest."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_8ab6cc3b","line":58,"in_reply_to":"9af37de9_f0aaec84","updated":"2015-05-11 12:39:41.000000000","message":"The cinder modification already merged in Kilo and expects attachment_id see https://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_actions.py#L143-L148 so I think we should go for that id.\nWhat extra problems do you see allowing a volume attached multiple times to the same volume?","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5a67d647f4a75cde2ba713005dc26299e67f0c36","unresolved":false,"context_lines":[{"line_number":58,"context_line":"is insufficient.  The attachment_id will be optional in the cinderclient."},{"line_number":59,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":60,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":61,"context_line":"By default libvirt assumes all disks are exclusive used for a single guest."},{"line_number":62,"context_line":"If you want to share disks between instances, you need to tell libvirt"},{"line_number":63,"context_line":"when configuring the guest XML for that disk. Libvirt can reject the"},{"line_number":64,"context_line":"request to avoid problems with data consitency e.g. host level I/O caching"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_76beee00","line":61,"updated":"2015-06-05 05:26:39.000000000","message":"s/exclusive/exclusively/","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b9c9fa0d3c7bf0eb111d684a7d0a4ca9c2a6aa17","unresolved":false,"context_lines":[{"line_number":58,"context_line":"is insufficient.  The attachment_id will be optional in the cinderclient."},{"line_number":59,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":60,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":61,"context_line":"By default libvirt assumes all disks are exclusive used for a single guest."},{"line_number":62,"context_line":"If you want to share disks between instances, you need to tell libvirt"},{"line_number":63,"context_line":"when configuring the guest XML for that disk. Libvirt can reject the"},{"line_number":64,"context_line":"request to avoid problems with data consitency e.g. host level I/O caching"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_96096a34","line":61,"in_reply_to":"3afb71cf_76beee00","updated":"2015-06-05 06:07:38.000000000","message":"Done","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ae4c69e0fcc63a0c2ab69392a4076a070d9f4a3c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"If you want to share disks between instances, you need to tell libvirt"},{"line_number":63,"context_line":"when configuring the guest XML for that disk. Libvirt can reject the"},{"line_number":64,"context_line":"request to avoid problems with data consitency e.g. host level I/O caching"},{"line_number":65,"context_line":"we need to use cache\u003dnone."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_30887422","line":65,"updated":"2015-05-11 11:12:23.000000000","message":"So if we add a volume in one place with the cache enabled, what happens when you add the additional one? you have to go back and reconfigure the first instance.\n\nIf we drop this on all attachments, then people don\u0027t get the performance they are expecting any more.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1faee4965e2203a9dd190c7207a6faf1edc2bca9","unresolved":false,"context_lines":[{"line_number":62,"context_line":"If you want to share disks between instances, you need to tell libvirt"},{"line_number":63,"context_line":"when configuring the guest XML for that disk. Libvirt can reject the"},{"line_number":64,"context_line":"request to avoid problems with data consitency e.g. host level I/O caching"},{"line_number":65,"context_line":"we need to use cache\u003dnone."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_cac17482","line":65,"in_reply_to":"9af37de9_30887422","updated":"2015-05-11 12:39:41.000000000","message":"Current proposed implementation only turns of caching in libvirt if the volume is created with multiattach flag in cinder so I don\u0027t see any performance issues on normal volumes. See https://review.openstack.org/#/c/153033/9/nova/virt/libvirt/volume.py \nAlso the multiattach flag of a volume can only be set at creation of the volume.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ae4c69e0fcc63a0c2ab69392a4076a070d9f4a3c","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The only alternative is for a user to clone a volume and attach the clone"},{"line_number":72,"context_line":"to the second instance.   The downside to this is any changes to the original"},{"line_number":73,"context_line":"volume don\u0027t show up in the mounted clone."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Data model impact"},{"line_number":76,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_d086c812","line":73,"updated":"2015-05-11 11:12:23.000000000","message":"Thats not really an alternative right.\n\nWhat about, only allow read only connections to additional volumes, but that doesn\u0027t help the clustered folks.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1faee4965e2203a9dd190c7207a6faf1edc2bca9","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The only alternative is for a user to clone a volume and attach the clone"},{"line_number":72,"context_line":"to the second instance.   The downside to this is any changes to the original"},{"line_number":73,"context_line":"volume don\u0027t show up in the mounted clone."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Data model impact"},{"line_number":76,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_8abb6c0e","line":73,"in_reply_to":"9af37de9_d086c812","updated":"2015-05-11 12:39:41.000000000","message":"I think there is no real alternative for the clustered folks.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ae4c69e0fcc63a0c2ab69392a4076a070d9f4a3c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"REST API impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"None"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_5073f84d","line":83,"updated":"2015-05-11 11:12:23.000000000","message":"Would it not make more sense if users explicitly tell us they are doing a multi-attach on a volume, so we can do the correct things, and its clear to operators which volumes are actually attached in multiple places, etc.\n\nAt least this need to be considered in the alternatives.","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1faee4965e2203a9dd190c7207a6faf1edc2bca9","unresolved":false,"context_lines":[{"line_number":80,"context_line":"REST API impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"None"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9af37de9_0a5d3ce9","line":83,"in_reply_to":"9af37de9_5073f84d","updated":"2015-05-11 12:39:41.000000000","message":"In the current cinder implementation the user has to explicitly tell that a volume is intended for multi-attach by setting the multiattach flag of the volume. Also the proposed nova patch uses this information to do the right think (e.g. turning off the cache in libvirt)","commit_id":"9f9ca4bcbf0e03503282c8140ca8d3f7bf2d6102"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1c571d94b3bfd6c9c341bda131bcbfe8906d9e2a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"At attach time, nova has to remove the assumption that it can only attach"},{"line_number":50,"context_line":"a volume if it\u0027s not \u0027in-use\u0027.  A Cinder volume can now be attached if it\u0027s"},{"line_number":51,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027.  Cinder will only allow a volume to be attached"},{"line_number":52,"context_line":"more than once if it\u0027s \u0027shareable\u0027 flag is set on the volume at create time."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"At detach time, nova needs to pass a new parameter to the cinderclient"},{"line_number":55,"context_line":"to tell cinder which specific attachment it\u0027s requesting cinder to detach."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_4c059ac0","line":52,"updated":"2015-06-05 12:59:51.000000000","message":"Should nova be able to check this instead of the current check for in-use, or just react to cinder not allowing it?\n\nAlso: s/it\u0027s/its","commit_id":"5dba9e253772fb14f586cb866d1d7eb6888db9f9"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"4979d0b5f6c9d0cefb4bf1f9689d202ef96bd215","unresolved":false,"context_lines":[{"line_number":49,"context_line":"At attach time, nova has to remove the assumption that it can only attach"},{"line_number":50,"context_line":"a volume if it\u0027s not \u0027in-use\u0027.  A Cinder volume can now be attached if it\u0027s"},{"line_number":51,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027.  Cinder will only allow a volume to be attached"},{"line_number":52,"context_line":"more than once if it\u0027s \u0027shareable\u0027 flag is set on the volume at create time."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"At detach time, nova needs to pass a new parameter to the cinderclient"},{"line_number":55,"context_line":"to tell cinder which specific attachment it\u0027s requesting cinder to detach."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_4928779a","line":52,"in_reply_to":"3afb71cf_4c059ac0","updated":"2015-06-09 13:26:48.000000000","message":"That would be a duplication of the data and/or the effort, therefore it is better to leave it on Cinder side.","commit_id":"5dba9e253772fb14f586cb866d1d7eb6888db9f9"}]}
