)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a10706b972ed372d8bc46fbefffb35d71523efb4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"attaching a cinder volume to more than one instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Tobias Engelbert \u003ctobias.engelbert@ericsson.com\u003e"},{"line_number":13,"context_line":"Co-Authored-By: Krisztian Gacsal \u003ckrisztian.gacsal@ericsson.com\u003e"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"bp multi_attach_volume"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a29b11f_2b96343f","line":13,"updated":"2015-10-22 02:33:22.000000000","message":"nit: Probably need:\nCo-Authored-By: Balazs Gibizer \u003cbalazs.gibizer@ericsson.com\u003e","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9c9e5f49cdc3247ff531098b2ec41a77984dd480","unresolved":false,"context_lines":[{"line_number":10,"context_line":"attaching a cinder volume to more than one instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Tobias Engelbert \u003ctobias.engelbert@ericsson.com\u003e"},{"line_number":13,"context_line":"Co-Authored-By: Krisztian Gacsal \u003ckrisztian.gacsal@ericsson.com\u003e"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"bp multi_attach_volume"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a29b11f_6ac4d85e","line":13,"in_reply_to":"3a29b11f_2b96343f","updated":"2015-10-23 20:21:00.000000000","message":"We discussed it earlier and decided to not add him. During several hand overs he owned this task for a short amount of time and the spec did not really change during that period.","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"}],"specs/mitaka/approved/multi-attach-volume.rst":[{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"f7532794e851a63cc40f1c67264e46aa70a6b3b3","unresolved":false,"context_lines":[{"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."},{"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"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_3403a90f","line":56,"updated":"2015-10-01 15:31:37.000000000","message":"sorry I am confused be the use of terms instance and host.\nare you talking about the fact that a volume can be attached to more than one instance? What host means in this context?","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c0444a7adb20e278c062bd0f185093af98eaf3ae","unresolved":false,"context_lines":[{"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."},{"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"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_95761305","line":56,"in_reply_to":"9a1a9d01_3403a90f","updated":"2015-10-02 09:30:53.000000000","message":"Cinder supports attaching a volume to an instance (e.g. a VM) or to a host (e.g. a compute host). Cinder multi-attach feature supports attaching a volume to multiple host or multiple instances","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"f7532794e851a63cc40f1c67264e46aa70a6b3b3","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 consistency 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":4,"id":"9a1a9d01_548f3d75","line":65,"updated":"2015-10-01 15:31:37.000000000","message":"sorry the last paragraph is not clear.\nYou want to say that to use shared volumes the operators need to configure the virtual driver correctly?","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c0444a7adb20e278c062bd0f185093af98eaf3ae","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 consistency 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":4,"id":"9a1a9d01_d016d9f0","line":65,"in_reply_to":"9a1a9d01_548f3d75","updated":"2015-10-02 09:30:53.000000000","message":"Yes, it is misleading. I clarify the paragraph in the next patch set.","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"f7532794e851a63cc40f1c67264e46aa70a6b3b3","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":4,"id":"9a1a9d01_f4f691f8","line":73,"updated":"2015-10-01 15:31:37.000000000","message":"In my opinion this is not a real alternative as it is not a multi attach solution.","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c0444a7adb20e278c062bd0f185093af98eaf3ae","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":4,"id":"9a1a9d01_156c4307","line":73,"in_reply_to":"9a1a9d01_f4f691f8","updated":"2015-10-02 09:30:53.000000000","message":"I agree that it is not a viable alternative in every cases but in some case (when the attachment is read-only) it is a viable alternative.\nI updated the text accordingly.","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"f7532794e851a63cc40f1c67264e46aa70a6b3b3","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Assignee(s)"},{"line_number":205,"context_line":"-----------"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Primary assignee:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_1436a5b4","line":207,"updated":"2015-10-01 15:31:37.000000000","message":"I think we need a primary assignee","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c0444a7adb20e278c062bd0f185093af98eaf3ae","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Assignee(s)"},{"line_number":205,"context_line":"-----------"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Primary assignee:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_b057a525","line":207,"in_reply_to":"9a1a9d01_1436a5b4","updated":"2015-10-02 09:30:53.000000000","message":"I agree. We have some internal issues with transferring the responsibility of this work this is why there was no assignee. I agreed with ildiko-vancsa to be the contact until we sort this out.","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"f7532794e851a63cc40f1c67264e46aa70a6b3b3","unresolved":false,"context_lines":[{"line_number":213,"context_line":"1. Update the use of cinderclient to extract the new list of volume"},{"line_number":214,"context_line":"   attachments when Nova fetches a volume."},{"line_number":215,"context_line":"2. Update all calls to cinderclient.detach() to include the attachment uuid."},{"line_number":216,"context_line":"3. Libvirt volume driver."},{"line_number":217,"context_line":"4. REST API update."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_74ffe1aa","line":216,"updated":"2015-10-01 15:31:37.000000000","message":"What means this work item?","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c0444a7adb20e278c062bd0f185093af98eaf3ae","unresolved":false,"context_lines":[{"line_number":213,"context_line":"1. Update the use of cinderclient to extract the new list of volume"},{"line_number":214,"context_line":"   attachments when Nova fetches a volume."},{"line_number":215,"context_line":"2. Update all calls to cinderclient.detach() to include the attachment uuid."},{"line_number":216,"context_line":"3. Libvirt volume driver."},{"line_number":217,"context_line":"4. REST API update."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a1a9d01_70258dac","line":216,"in_reply_to":"9a1a9d01_74ffe1aa","updated":"2015-10-02 09:30:53.000000000","message":"Updating the libvirt driver to generate proper libvirt domain XML in case of multi-attach volumes. (see the implementation for details here https://review.openstack.org/#/c/193135) \nI update the text.","commit_id":"3d214f30a737bb8153460e8fd4b670445edf1a47"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The Changes needed in Nova are related to attach time and detach time."},{"line_number":48,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_70d792bf","line":47,"updated":"2015-10-05 09:33:55.000000000","message":"nit:Capital for Changes is not required","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The Changes needed in Nova are related to attach time and detach time."},{"line_number":48,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_00ac998a","line":47,"in_reply_to":"9a1a9d01_70d792bf","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The Changes needed in Nova are related to attach time and detach time."},{"line_number":48,"context_line":""},{"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":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_707312e8","line":50,"updated":"2015-10-05 09:33:55.000000000","message":"nit: extra white space","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The Changes needed in Nova are related to attach time and detach time."},{"line_number":48,"context_line":""},{"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":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_c0b8e1ca","line":50,"in_reply_to":"9a1a9d01_707312e8","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_307d9ab1","line":51,"updated":"2015-10-05 09:33:55.000000000","message":"nit: same as above","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_e0bdddb7","line":51,"in_reply_to":"9a1a9d01_307d9ab1","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","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":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_b0476a76","line":58,"updated":"2015-10-05 09:33:55.000000000","message":"same as above","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","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":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_80ae697f","line":58,"in_reply_to":"9a1a9d01_b0476a76","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"78f57fe56bc1153116e68a3bd394b8bc65ee059e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"The only alternative is for a user to clone a volume and attach the clone"},{"line_number":77,"context_line":"to the second instance. The downside to this is any changes to the original"},{"line_number":78,"context_line":"volume don\u0027t show up in the mounted clone so this is only a viable alternative"},{"line_number":79,"context_line":"if the volume is read-only."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Data model impact"},{"line_number":82,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_e099b46f","line":79,"updated":"2015-10-14 12:54:13.000000000","message":"This alternative does not match the use case. For the use case stated above the alternative would be attach the volume to the standby host after the primary fails. This requires the standby to operate without the volume until it is attached.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":76,"context_line":"The only alternative is for a user to clone a volume and attach the clone"},{"line_number":77,"context_line":"to the second instance. The downside to this is any changes to the original"},{"line_number":78,"context_line":"volume don\u0027t show up in the mounted clone so this is only a viable alternative"},{"line_number":79,"context_line":"if the volume is read-only."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Data model impact"},{"line_number":82,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_407a91be","line":79,"in_reply_to":"5a2ca52d_e099b46f","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"78f57fe56bc1153116e68a3bd394b8bc65ee059e","unresolved":false,"context_lines":[{"line_number":167,"context_line":"In the libvirt driver, the disk is given a shared SELinux label,"},{"line_number":168,"context_line":"and so that disk has no longer strong sVirt SELinux isolation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":171,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":172,"context_line":"during implementation."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_602124fb","line":170,"updated":"2015-10-14 12:54:13.000000000","message":"I think you need to work this out in now or identify why it does not need to be addressed here. This spec is the place for this kind of design work.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":167,"context_line":"In the libvirt driver, the disk is given a shared SELinux label,"},{"line_number":168,"context_line":"and so that disk has no longer strong sVirt SELinux isolation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":171,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":172,"context_line":"during implementation."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_a2012507","line":170,"in_reply_to":"5a2ca52d_602124fb","updated":"2015-10-21 13:00:26.000000000","message":"Do you have any pointers for this? Or any suggestions how to deal with the encrypted volume use case?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"78f57fe56bc1153116e68a3bd394b8bc65ee059e","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":171,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":172,"context_line":"during implementation."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Notifications impact"},{"line_number":175,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_e0269467","line":172,"updated":"2015-10-14 12:54:13.000000000","message":"Any comment on which users/tenants can share access to a particular volume. Is it as simple as \"if you can use the volume you can share access to it\" or is there anything more fine grained?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":171,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":172,"context_line":"during implementation."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Notifications impact"},{"line_number":175,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_22443548","line":172,"in_reply_to":"5a2ca52d_e0269467","updated":"2015-10-21 13:00:26.000000000","message":"Not yet, so not for the first step in my idea. Do you have anything we should add about this here or as a follow up work item?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":174,"context_line":"Notifications impact"},{"line_number":175,"context_line":"--------------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Other end user impact"},{"line_number":180,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_c429038b","line":177,"updated":"2015-10-05 09:33:55.000000000","message":"attaching a shared volume to a new instance will generate a new notification message, am I right?\nIf so, for the sake of clarity it\u0027s worth to mention it here, what do you think?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":174,"context_line":"Notifications impact"},{"line_number":175,"context_line":"--------------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Other end user impact"},{"line_number":180,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_d332f95e","line":177,"in_reply_to":"9a1a9d01_c429038b","updated":"2015-10-21 13:00:26.000000000","message":"We are not adding a new notification neither modifying any existing one as a consequence of this work. Therefore any emitted notification will be the result of an already existing mechanism, which means that we have no additional impact here. It can be mentioned in the relevant documentation that it happens.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":227,"context_line":"Dependencies"},{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_8471cbaa","line":230,"updated":"2015-10-05 09:33:55.000000000","message":"nit: extra white space","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":227,"context_line":"Dependencies"},{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_533fc923","line":230,"in_reply_to":"9a1a9d01_8471cbaa","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"fd1f51c464a170e475a75425d921477fe930f3cc","unresolved":false,"context_lines":[{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_94e35205","line":231,"updated":"2015-10-20 04:52:40.000000000","message":"What is the new version of python-cinderclient required?  Are there impacts to other openstack projects in raising the minimum value?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_47b0638a","line":231,"in_reply_to":"3a29b11f_94e35205","updated":"2015-10-21 13:00:26.000000000","message":"The current version is good, so it\u0027s already taken care of. I will add the version number here for reference.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"78f57fe56bc1153116e68a3bd394b8bc65ee059e","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"},{"line_number":235,"context_line":"  multiple instances."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_e06e94c8","line":232,"updated":"2015-10-14 12:54:13.000000000","message":"This cinder part is complete. For this and the one below you could just note that the required cinder changes for multi-attach have all been completed.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* This requires a new version of the python-cinderclient.  The changes in the"},{"line_number":231,"context_line":"  client include the new detach API."},{"line_number":232,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"},{"line_number":235,"context_line":"  multiple instances."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_4c964a94","line":232,"in_reply_to":"5a2ca52d_e06e94c8","updated":"2015-10-21 13:00:26.000000000","message":"There is still a bug on Cinder side, which makes this feature unusable at the moment, I will change the notes accordingly.","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"},{"line_number":235,"context_line":"  multiple instances."},{"line_number":236,"context_line":"  https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_c4eca32b","line":236,"updated":"2015-10-05 09:33:55.000000000","message":"This blueprint is marked as completed, do you still need to list it here as a dependency?","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* This also requires a patch in cinder to support the ability to attach to"},{"line_number":235,"context_line":"  multiple instances."},{"line_number":236,"context_line":"  https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_c79c7311","line":236,"in_reply_to":"9a1a9d01_c4eca32b","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":240,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We\u0027ll have to add new Tempest tests to support the new Cinder volume shareable"},{"line_number":243,"context_line":"flag.  The new cinder shareable flag is what allows a volume to be attached"},{"line_number":244,"context_line":"more than once or not.  Have to look into a tempest test for attaching the"},{"line_number":245,"context_line":"same volume to multiple instances."},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_c4d3435e","line":243,"updated":"2015-10-05 09:33:55.000000000","message":"nit: extra white space","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":240,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We\u0027ll have to add new Tempest tests to support the new Cinder volume shareable"},{"line_number":243,"context_line":"flag.  The new cinder shareable flag is what allows a volume to be attached"},{"line_number":244,"context_line":"more than once or not.  Have to look into a tempest test for attaching the"},{"line_number":245,"context_line":"same volume to multiple instances."},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_679d5f09","line":243,"in_reply_to":"9a1a9d01_c4d3435e","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"60d2ca1b384c26df22579dd9ee3d3876b6c17151","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We\u0027ll have to add new Tempest tests to support the new Cinder volume shareable"},{"line_number":243,"context_line":"flag.  The new cinder shareable flag is what allows a volume to be attached"},{"line_number":244,"context_line":"more than once or not.  Have to look into a tempest test for attaching the"},{"line_number":245,"context_line":"same volume to multiple instances."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a1a9d01_e4be87fe","line":244,"updated":"2015-10-05 09:33:55.000000000","message":"same as above","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f34259780318d9694aa6fccf8a1425933dfe13a4","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"We\u0027ll have to add new Tempest tests to support the new Cinder volume shareable"},{"line_number":243,"context_line":"flag.  The new cinder shareable flag is what allows a volume to be attached"},{"line_number":244,"context_line":"more than once or not.  Have to look into a tempest test for attaching the"},{"line_number":245,"context_line":"same volume to multiple instances."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_87a2fb49","line":244,"in_reply_to":"9a1a9d01_e4be87fe","updated":"2015-10-21 13:00:26.000000000","message":"Done","commit_id":"1b4a30b6d57cbd816c9eb9a73c567ad6300a316c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a10706b972ed372d8bc46fbefffb35d71523efb4","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":178,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":179,"context_line":"during implementation."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Notifications impact"},{"line_number":182,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a29b11f_abc9e45a","line":179,"updated":"2015-10-22 02:33:22.000000000","message":"I suggest looking at volume encryption now.  At the very least you need to determine what the scope (project/user?) for multi-attach is, and where the enforcement of this is.","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"46d10a5b5907ce46040a6351fac6fc8796419819","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":178,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":179,"context_line":"during implementation."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Notifications impact"},{"line_number":182,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a26ad4f_bc9a0a13","line":179,"in_reply_to":"3a29b11f_0a8e8427","updated":"2015-10-29 01:01:10.000000000","message":"I don\u0027t forsee any particular problems with encryption support and multi-attach. The existing code should \"just work\".  If there do turn out to be problems, I don\u0027t anticipate them being hard to solve.","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9c9e5f49cdc3247ff531098b2ec41a77984dd480","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"The OpenStack volume encryption capability may be affected by this feature."},{"line_number":178,"context_line":"A path to maintain the availability of volume encryption should considered"},{"line_number":179,"context_line":"during implementation."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Notifications impact"},{"line_number":182,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a29b11f_0a8e8427","line":179,"in_reply_to":"3a29b11f_abc9e45a","updated":"2015-10-23 20:21:00.000000000","message":"Do you have any pointers to either documentation or code snippet where I could check how this works for single volume attachments?\n\nI think we would need to keep that behaviour as much as possible or at least consider as a starting point for this use case. What do you think?","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a10706b972ed372d8bc46fbefffb35d71523efb4","unresolved":false,"context_lines":[{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"* This requires the version 1.3.1 or above of the python-cinderclient."},{"line_number":238,"context_line":"  Corresponding blueprint:"},{"line_number":239,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"* Corresponding, implemented spec in Cinder:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a29b11f_eb591c36","line":238,"updated":"2015-10-22 02:33:22.000000000","message":"Ahh okay that\u0027s good detail to have.  Looking at  global-requirements.txt:\n\n origin/master         : 152:python-cinderclient\u003e\u003d1.3.1\n origin/stable/liberty : 149:python-cinderclient\u003e\u003d1.3.1\n origin/stable/kilo    : 122:python-cinderclient\u003e\u003d1.1.0,\u003c1.2.0\n origin/stable/juno    : 116:python-cinderclient\u003e\u003d1.1.0,\u003c\u003d1.1.1\n\nSo we don\u0027t need a *new* client in liberty or mitaka","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9c9e5f49cdc3247ff531098b2ec41a77984dd480","unresolved":false,"context_lines":[{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"* This requires the version 1.3.1 or above of the python-cinderclient."},{"line_number":238,"context_line":"  Corresponding blueprint:"},{"line_number":239,"context_line":"  https://blueprints.launchpad.net/python-cinderclient/+spec/multi-attach-volume"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"* Corresponding, implemented spec in Cinder:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a29b11f_aa919054","line":238,"in_reply_to":"3a29b11f_eb591c36","updated":"2015-10-23 20:21:00.000000000","message":"Yes, that\u0027s correct the client itself is fine. The bug report referenced below is in Cinder.","commit_id":"5b8b248c85737365a98599b2531706622ebd46d9"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"63d8849b36a087af5c3fcc6a4941f080f0b7a060","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"----------------"},{"line_number":42,"context_line":"None"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da85f559_8ed1ce59","line":42,"updated":"2015-11-10 11:13:40.000000000","message":"This can be removed, it is obsolete","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b4cbafe41248722e6ff3b8b2f7835578a0a724c8","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"----------------"},{"line_number":42,"context_line":"None"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_b2ca9819","line":42,"in_reply_to":"da85f559_8ed1ce59","updated":"2015-11-19 12:52:09.000000000","message":"Done","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"63d8849b36a087af5c3fcc6a4941f080f0b7a060","unresolved":false,"context_lines":[{"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":""},{"line_number":62,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":63,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da85f559_8e2d4e48","line":60,"updated":"2015-11-10 11:13:40.000000000","message":"Why do you consider the \"instance uuid\" to be insufficient to identify the attachment ?\n\nIIUC, this spec is only allowing multiple *different* VMs to attach to a single volume. It doesn\u0027t allow a single volume to be attached to the same VM multiple times. So the instance UUID could uniquely identify the attachment.","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b4cbafe41248722e6ff3b8b2f7835578a0a724c8","unresolved":false,"context_lines":[{"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":""},{"line_number":62,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":63,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_124924b7","line":60,"in_reply_to":"da85f559_8e2d4e48","updated":"2015-11-19 12:52:09.000000000","message":"You can attach a volume to a host in Cinder and in this case you don\u0027t have an \"instance uuid\", therefore we need something else. The attachment_id is specified by Cinder and it is also optional.\n\nI will update this part a bit to clarify this more.","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"e3e2852a76b8dd13a56fe064b6c4ffc31b1cd5bc","unresolved":false,"context_lines":[{"line_number":177,"context_line":"The OpenStack volume encryption capability is supposed to work out of the"},{"line_number":178,"context_line":"box with this use case also, it should not break how the encryptor works"},{"line_number":179,"context_line":"below the clustered file system, by using the same key for all connections."},{"line_number":180,"context_line":"The issues, if there will be any will be handled on the run."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Notifications impact"},{"line_number":183,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa80f949_47f99e7f","line":180,"updated":"2015-11-05 02:41:47.000000000","message":"My concerns where around access to the key, but after looking at Barbican I guess I\u0027m worrying about a solved problem (or at the very least someone else\u0027s problem)","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b4cbafe41248722e6ff3b8b2f7835578a0a724c8","unresolved":false,"context_lines":[{"line_number":177,"context_line":"The OpenStack volume encryption capability is supposed to work out of the"},{"line_number":178,"context_line":"box with this use case also, it should not break how the encryptor works"},{"line_number":179,"context_line":"below the clustered file system, by using the same key for all connections."},{"line_number":180,"context_line":"The issues, if there will be any will be handled on the run."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Notifications impact"},{"line_number":183,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba8a016a_d29b9c16","line":180,"in_reply_to":"fa80f949_47f99e7f","updated":"2015-11-19 12:52:09.000000000","message":"A-ha, ok I missed that part. I think that should be fine and/or handled at implementation phase according to the current findings.","commit_id":"c9ecc040da8d3cb957104dfba49d3aea5d47a93b"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"d0b3b53a843ff445d5e20356da0231168aad3aa4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"is insufficient as cinder provides the possibility to attach a volume to"},{"line_number":56,"context_line":"a host. The attachment_id is handled as optional parameter on cinder side."},{"line_number":57,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":58,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":61,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a8ffd7b_5190c7ec","line":58,"updated":"2015-11-24 14:07:25.000000000","message":"Can you clarify where Nova gets the attachment UUID from ?  Presumably when Nova first attaches a volume to an instance, it will get an attachment UUID for the volume which it has to record somewhere for later use during detach. Where is it going to be recorded in Nova ?","commit_id":"68981b5461bdf7cc0ab79ede259d2031a83ca349"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"02bfeb384bed45a93fdd45ce947814b2a30d8565","unresolved":false,"context_lines":[{"line_number":55,"context_line":"is insufficient as cinder provides the possibility to attach a volume to"},{"line_number":56,"context_line":"a host. The attachment_id is handled as optional parameter on cinder side."},{"line_number":57,"context_line":"If it isn\u0027t passed in and there are multiple attachments, then cinder will"},{"line_number":58,"context_line":"fail because it won\u0027t know which attachment to detach."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":61,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a8ffd7b_4908e091","line":58,"in_reply_to":"9a8ffd7b_5190c7ec","updated":"2015-11-25 13:43:20.000000000","message":"We look up the attachment_id from the volume attachments like in line 2266 here: https://review.openstack.org/#/c/193134/8/nova/compute/manager.py\n\nI will rephrase this paragraph to describe that we need to pass the attachment_id to Cinder, but on Nova side it is not an issue to identify it by using the volume_api.","commit_id":"68981b5461bdf7cc0ab79ede259d2031a83ca349"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1848c43a9eb1302969624b3bed01b4178dca32b6","unresolved":false,"context_lines":[{"line_number":46,"context_line":"At attach time, Nova has to remove the assumption that it can only attach"},{"line_number":47,"context_line":"a volume if it\u0027s not \u0027in-use\u0027. A Cinder volume can now be attached if it\u0027s"},{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_0af1e6cc","line":49,"updated":"2015-11-27 17:51:48.000000000","message":"why can\u0027t Nova just assume multiple attaches are possible, if the volume has the \"sharable\" flag. Why do we need the extra API on the Nova side?\n\nOr maybe, if the multiattach flag is passed in the API, Nova should just default to the the value of the shareable flag in Cinder? Although not sure how that would work in practice.","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9293e8a2980c83c18d12574d4e81a673c809c039","unresolved":false,"context_lines":[{"line_number":46,"context_line":"At attach time, Nova has to remove the assumption that it can only attach"},{"line_number":47,"context_line":"a volume if it\u0027s not \u0027in-use\u0027. A Cinder volume can now be attached if it\u0027s"},{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_dc24f060","line":49,"in_reply_to":"9a8ffd7b_0af1e6cc","updated":"2015-11-29 19:54:32.000000000","message":"The flag has to be defined at volume create time, otherwise we just return the value of the flag with the rest of the volume information. This paragraph says nothing more than this in my understanding.","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"174bfe69f24bbc931fbc6f07e28224cedb8ce717","unresolved":false,"context_lines":[{"line_number":46,"context_line":"At attach time, Nova has to remove the assumption that it can only attach"},{"line_number":47,"context_line":"a volume if it\u0027s not \u0027in-use\u0027. A Cinder volume can now be attached if it\u0027s"},{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_0be0e7cb","line":49,"in_reply_to":"9a8ffd7b_dc24f060","updated":"2015-11-30 09:15:22.000000000","message":"Oh, so this is only for when Nova is \"creating\" the volume?\n\nIf thats the case, lets assume you have to create the volume before calling Nova for the shared volume case. Similar to specs I am blocking to add volume_type, we do not want to add more \"proxy\" APIs into Nova. Please see:\nhttp://docs.openstack.org/developer/nova/project_scope.html#no-more-api-proxies\n\nWe should certainly treat those two things separately.","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"174bfe69f24bbc931fbc6f07e28224cedb8ce717","unresolved":false,"context_lines":[{"line_number":91,"context_line":"None"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"REST API impact"},{"line_number":94,"context_line":"---------------"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Adding \"multiattach\" flag to the API exposes the volume\u0027s capability for"},{"line_number":97,"context_line":"supporting multiple attachments at the same time."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_eb3c83e2","line":94,"updated":"2015-11-30 09:15:22.000000000","message":"So I think for the first version of this, we should drop any Nova API changes, and just assume the volume is created before Nova is called, with the multi-attach flag, and we make sure we honor that flag correctly, as you have described","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1848c43a9eb1302969624b3bed01b4178dca32b6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            \"snapshot_id\": null,"},{"line_number":119,"context_line":"            \"attachments\": [],"},{"line_number":120,"context_line":"            \"created_at\": \"2012-02-14T20:53:07Z\","},{"line_number":121,"context_line":"            \"multiattach\": false"},{"line_number":122,"context_line":"        },"},{"line_number":123,"context_line":"        {"},{"line_number":124,"context_line":"            \"id\": \"76b8950a-8594-4e5b-8dce-0dfa9c696358\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_8a98766b","line":121,"range":{"start_line":121,"start_character":13,"end_line":121,"end_character":24},"updated":"2015-11-27 17:51:48.000000000","message":"why not match cinders: sharable flag, and go for sharable_volume or something like that?","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"174bfe69f24bbc931fbc6f07e28224cedb8ce717","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            \"snapshot_id\": null,"},{"line_number":119,"context_line":"            \"attachments\": [],"},{"line_number":120,"context_line":"            \"created_at\": \"2012-02-14T20:53:07Z\","},{"line_number":121,"context_line":"            \"multiattach\": false"},{"line_number":122,"context_line":"        },"},{"line_number":123,"context_line":"        {"},{"line_number":124,"context_line":"            \"id\": \"76b8950a-8594-4e5b-8dce-0dfa9c696358\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_cbfc1f74","line":121,"in_reply_to":"9a8ffd7b_5c19e020","updated":"2015-11-30 09:15:22.000000000","message":"Ah, I missed that, sorry. Makes sense.\n\nMinus the bit where I think we should drop these API changes.","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9293e8a2980c83c18d12574d4e81a673c809c039","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            \"snapshot_id\": null,"},{"line_number":119,"context_line":"            \"attachments\": [],"},{"line_number":120,"context_line":"            \"created_at\": \"2012-02-14T20:53:07Z\","},{"line_number":121,"context_line":"            \"multiattach\": false"},{"line_number":122,"context_line":"        },"},{"line_number":123,"context_line":"        {"},{"line_number":124,"context_line":"            \"id\": \"76b8950a-8594-4e5b-8dce-0dfa9c696358\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_5c19e020","line":121,"in_reply_to":"9a8ffd7b_8a98766b","updated":"2015-11-29 19:54:32.000000000","message":"It is called like this in Cinder, this is why we use this name. Please see the examples here:\n\nhttps://review.openstack.org/#/c/85856/20/cinderclient/v2/shell.py\n\nhttps://review.openstack.org/#/c/85847/47/cinder/tests/api/v2/test_volumes.py","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"174bfe69f24bbc931fbc6f07e28224cedb8ce717","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    ]"},{"line_number":137,"context_line":"  }"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Add multiattach flag to request and response for"},{"line_number":140,"context_line":"POST /v2.1/{tenant_id}/os-volumes/{volume_id}. Response has the multiattach"},{"line_number":141,"context_line":"flag in the same form as the response example above."},{"line_number":142,"context_line":"Updated JSON schema for the request::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_aedbe97a","line":139,"updated":"2015-11-30 09:15:22.000000000","message":"Adding this in the request here, doesn\u0027t seem right.","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1848c43a9eb1302969624b3bed01b4178dca32b6","unresolved":false,"context_lines":[{"line_number":165,"context_line":"      },"},{"line_number":166,"context_line":"      \u0027required\u0027: [\u0027volume\u0027],"},{"line_number":167,"context_line":"      \u0027additionalProperties\u0027: False,"},{"line_number":168,"context_line":"  }"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_4a17ee47","line":168,"updated":"2015-11-27 17:51:48.000000000","message":"If we add it here, I think we must add it to BDMv2 as well?","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9293e8a2980c83c18d12574d4e81a673c809c039","unresolved":false,"context_lines":[{"line_number":165,"context_line":"      },"},{"line_number":166,"context_line":"      \u0027required\u0027: [\u0027volume\u0027],"},{"line_number":167,"context_line":"      \u0027additionalProperties\u0027: False,"},{"line_number":168,"context_line":"  }"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_dcdb904d","line":168,"in_reply_to":"9a8ffd7b_4a17ee47","updated":"2015-11-29 19:54:32.000000000","message":"What do you mean by BDMv2 here? Is it an additional API snippet?","commit_id":"12222bb0a97efc0a397172439ffd60c689bf43ed"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"595b7f2a5e15fa7778ab66858cafbf445c2c009c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"},{"line_number":53,"context_line":"a volume can be attached to an instance and/or a host, we cannot skip to"},{"line_number":54,"context_line":"pass the attachment uuid at detach time.  Passing only an instance uuid"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_c5ec312c","line":51,"updated":"2015-11-27 18:14:34.000000000","message":"Cinder detach actually shouldn\u0027t be called if it\u0027s just being removed from a second instance on the same host. Detach should only be called if there are no longer any attachments on the entire host.\n\nSince from the Cinder side we just care about attaching a volume to a host initiator, there is no concept of the guest consuming that attachment. That piece I believe is entirely on the nova side. So Cinder makes the volume available to the host, Nova makes that volume available to one or more instances running on that host.\n\nSo if a volume is available to more than one instance, and it is being removed from one of those instances, Cinder shouldn\u0027t be told to detach. If it is being removed from all instances running on the host, then Cinder should be told to detach as the volume no longer needs to be accessible to the host.","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"4e7a0476338e986229b87eca3ec4e4b97717f5cd","unresolved":false,"context_lines":[{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"},{"line_number":53,"context_line":"a volume can be attached to an instance and/or a host, we cannot skip to"},{"line_number":54,"context_line":"pass the attachment uuid at detach time.  Passing only an instance uuid"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_a4fa7775","line":51,"in_reply_to":"9a8ffd7b_c5ec312c","updated":"2015-12-02 22:01:06.000000000","message":"I think detach must be called, as that removes the attachment (based on attachment_id) from the Cinder DB.\nIt is perhaps terminate_connection that could be called only once, when the Nova compute host is finished with all use of a particular volume. And this might be problematic if a driver creates a new lun and export for each instance of the same volume being attached (when initialize_connection is called).","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"da3cf705528b4451b2d3ae0679ff49340620074b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"},{"line_number":53,"context_line":"a volume can be attached to an instance and/or a host, we cannot skip to"},{"line_number":54,"context_line":"pass the attachment uuid at detach time.  Passing only an instance uuid"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_fcb534ec","line":51,"in_reply_to":"9a8ffd7b_c5ec312c","updated":"2015-11-29 20:00:17.000000000","message":"Thanks for the explanation, I will dig deeper to this part and clarify this paragraph in the next patch set.","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6ea344eedf07d0b0dfeb07cd59e399b7c37c9bef","unresolved":false,"context_lines":[{"line_number":48,"context_line":"\u0027available\u0027 and/or \u0027in-use\u0027. Cinder will only allow a volume to be attached"},{"line_number":49,"context_line":"more than once if it\u0027s \u0027sharable\u0027 flag is set on the volume at create time."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"At detach time, Nova needs to pass the attachment_id to the cinderclient"},{"line_number":52,"context_line":"to tell cinder which specific attachment it\u0027s requesting to detach. Since"},{"line_number":53,"context_line":"a volume can be attached to an instance and/or a host, we cannot skip to"},{"line_number":54,"context_line":"pass the attachment uuid at detach time.  Passing only an instance uuid"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_cba97f91","line":51,"in_reply_to":"9a8ffd7b_fcb534ec","updated":"2015-11-30 08:58:02.000000000","message":"Oh good point, thats totally a Nova \"host\" concept. Not totally sure how that works with clustered hypervisor stuff, but lets ignore this for v1 of this feature.","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"fabfbec0e3b42c4e16986d7ac4ca2f8cafbf5ed3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"cinder will fail because it won\u0027t know which attachment to detach. On"},{"line_number":58,"context_line":"Nova side the attachment_id can be identified by getting the volume"},{"line_number":59,"context_line":"attachments from the volume_api and search for the attachment by using the"},{"line_number":60,"context_line":"instance_uuid, it does not have to be stored in Nova."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":63,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_c1fbb745","line":60,"updated":"2015-11-28 18:42:03.000000000","message":"I notice there\u0027s no mention of a config parameter to set an upper limit on the number of instances that can share the same volume.  I believe this would be important to address, since an extremely large number of instances may cause volume access issues which couldn\u0027t be easily tested.","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6ea344eedf07d0b0dfeb07cd59e399b7c37c9bef","unresolved":false,"context_lines":[{"line_number":57,"context_line":"cinder will fail because it won\u0027t know which attachment to detach. On"},{"line_number":58,"context_line":"Nova side the attachment_id can be identified by getting the volume"},{"line_number":59,"context_line":"attachments from the volume_api and search for the attachment by using the"},{"line_number":60,"context_line":"instance_uuid, it does not have to be stored in Nova."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":63,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_cb809ff9","line":60,"in_reply_to":"9a8ffd7b_7cc2a454","updated":"2015-11-30 08:58:02.000000000","message":"It does feel like a cinder quota on host attachements would be needed for that. Maybe worth noting the concern somewhere though.","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"da3cf705528b4451b2d3ae0679ff49340620074b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"cinder will fail because it won\u0027t know which attachment to detach. On"},{"line_number":58,"context_line":"Nova side the attachment_id can be identified by getting the volume"},{"line_number":59,"context_line":"attachments from the volume_api and search for the attachment by using the"},{"line_number":60,"context_line":"instance_uuid, it does not have to be stored in Nova."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"By default libvirt assumes all disks are exclusively used for a single guest."},{"line_number":63,"context_line":"If you want to share disks between instances, you need to tell libvirt"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_7cc2a454","line":60,"in_reply_to":"9a8ffd7b_c1fbb745","updated":"2015-11-29 20:00:17.000000000","message":"Shouldn\u0027t this be Cinder\u0027s responsibility that how many times a volume can be attached?","commit_id":"3bc1568313c4c039a6fad27cba7b5466454b3c00"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a38330da741863259285f5d8c1d4ff23c2585c9c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"that assumes the limitation of a single volume to a single instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"* cinderclient only has volume as a parameter to the detach() call.  This"},{"line_number":25,"context_line":"  makes the assumption that a volume is only attached once."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* nova assumes that if a volume is attached, it can\u0027t be attached again."},{"line_number":28,"context_line":"  see nova/volume/cinder.py: check_attach()"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_7fce602e","line":25,"updated":"2015-12-02 19:20:59.000000000","message":"The VolumeManager object has attachment_uuid in it\u0027s detach() call here:\n\nhttps://github.com/openstack/python-cinderclient/blob/master/cinderclient/v2/volumes.py#L341","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"8f7486e2d99df30c09f7aaef7ddbe23a450e486d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"that assumes the limitation of a single volume to a single instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"* cinderclient only has volume as a parameter to the detach() call.  This"},{"line_number":25,"context_line":"  makes the assumption that a volume is only attached once."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* nova assumes that if a volume is attached, it can\u0027t be attached again."},{"line_number":28,"context_line":"  see nova/volume/cinder.py: check_attach()"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_4f5f290f","line":25,"in_reply_to":"9a8ffd7b_7fce602e","updated":"2015-12-02 20:48:22.000000000","message":"To elaborate further, cinder and cinderclient already have support for multi-attach. Nova (or other users of the API) will have to know the attachment_id in the case of multi-attach and pass that in.\nFor backwards compatibility, if the attachment_id is None and there is only 1 attachment, the volume_id is sufficient.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L945","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"8f7486e2d99df30c09f7aaef7ddbe23a450e486d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Allow users to share volumes between multiple guests using either"},{"line_number":34,"context_line":"read-write or read-only attachments. Clustered applications"},{"line_number":35,"context_line":"with two nodes where one is active and one is passive. Both"},{"line_number":36,"context_line":"require access to the same volume although only one accesses"},{"line_number":37,"context_line":"actively. When the active one goes down, the passive one can take"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_2f6425b7","line":34,"updated":"2015-12-02 20:48:22.000000000","message":"It might be wise to note that in the case of read-write there will be nothing in Nova or Cinder to protect the integrity of the data. The user will need to deal with that at the file system level. At the very least, this should be called out in the documentation.","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a38330da741863259285f5d8c1d4ff23c2585c9c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"more than once if it\u0027s \u0027multiattach\u0027 flag is set on the volume at create"},{"line_number":54,"context_line":"time. Nova will attach the volume to a host in case of the first attach"},{"line_number":55,"context_line":"request from the given host. The additional instances on a host should"},{"line_number":56,"context_line":"use the already created BDM on the host."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"At detach time we need to ensure that Nova does not call out to Cinder if"},{"line_number":59,"context_line":"there is still at least one instance that uses the volume."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_9fa1c448","line":56,"updated":"2015-12-02 19:20:59.000000000","message":"Some cinder backends can export different targets for the same volume.   I\u0027m not sure this is a safe assumption to make reusing the same bdm.\n\nCinder\u0027s database tracks individual attachments by an attachment_uuid.   If Nova doesn\u0027t call cinder on the 2nd+ attach call, then Cinder has no way of tracking what it has the volume attached to.\n\nCinder\u0027s DB has a volume_attachments table to track each attachment for the volume here:\nhttps://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/migrate_repo/versions/040_add_volume_attachment.py#L38-L55","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"8f7486e2d99df30c09f7aaef7ddbe23a450e486d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"more than once if it\u0027s \u0027multiattach\u0027 flag is set on the volume at create"},{"line_number":54,"context_line":"time. Nova will attach the volume to a host in case of the first attach"},{"line_number":55,"context_line":"request from the given host. The additional instances on a host should"},{"line_number":56,"context_line":"use the already created BDM on the host."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"At detach time we need to ensure that Nova does not call out to Cinder if"},{"line_number":59,"context_line":"there is still at least one instance that uses the volume."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_0f892126","line":56,"in_reply_to":"9a8ffd7b_9fa1c448","updated":"2015-12-02 20:48:22.000000000","message":"I agree with Walt here. I don\u0027t see any reason not to create a new BDM entry for each unique attachment.","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a38330da741863259285f5d8c1d4ff23c2585c9c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"use the already created BDM on the host."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"At detach time we need to ensure that Nova does not call out to Cinder if"},{"line_number":59,"context_line":"there is still at least one instance that uses the volume."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"When we detach the volume from the last instance that uses it, Nova needs"},{"line_number":62,"context_line":"to pass the attachment_id to the cinderclient to tell cinder which specific"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_db58bf33","line":59,"updated":"2015-12-02 19:20:59.000000000","message":"Nova can just call detach and pass the attachment_uuid for the individual attachment.   Cinder needs to know when it has been detached from a particular instance, and it will update the volume_attachments table.\n\nIn my original Nova patch, I had modified the cinder.py to include helpers to find the correct attachment dict, which contains the attachment_uuid for the instance it was detaching from.\n\nhttps://review.openstack.org/#/c/85852/2/nova/volume/cinder.py","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a38330da741863259285f5d8c1d4ff23c2585c9c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"when configuring the guest XML for that disk via setting the sharable flag"},{"line_number":75,"context_line":"for the disk. This means that the hypervisor will not try to take an exclusive"},{"line_number":76,"context_line":"lock on the disk, that all I/O caching is disabled, and any SELinux labeling"},{"line_number":77,"context_line":"allows use by all domains."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Nova needs to set this sharable flag for the multi-attach disks of the"},{"line_number":80,"context_line":"instances."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_7b21934c","line":77,"updated":"2015-12-02 19:20:59.000000000","message":"This is only true in the case where the cinder backend exports the same volume path on the host for each attachment.  Not ever cinder backend does this though.  Some backends will export an entirely new target, lun for the same volume.","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"8f7486e2d99df30c09f7aaef7ddbe23a450e486d","unresolved":false,"context_lines":[{"line_number":198,"context_line":"creation for these types of volumes will not be supported by Nova due to"},{"line_number":199,"context_line":"the deprecation of the volume creation API. If a volume needs to allow"},{"line_number":200,"context_line":"multiple volume attachments it has to be created on the Cinder side with"},{"line_number":201,"context_line":"the needed properties specified."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_ea584b33","line":201,"updated":"2015-12-02 20:48:22.000000000","message":"I think it should be called out that a read-write shared volume will be inherently unsafe and will need some type of exclusion (at the file system or network file system layer) to prevent multiple writers from corrupting the data.","commit_id":"bbb69d9689971872a916ca2bb262a54e8c18303d"}]}
