)]}'
{"specs/mitaka/approved/correct-volume-attachment-id-in-nova-api-volumes.rst":[{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"2a8fcb3f390ddb15184fe63cbe3a834e66242904","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova api creates a \u0027VolumeAttachment\u0027 object to represent the volume"},{"line_number":29,"context_line":"which is attached to an instance, also nova generates an \u0027id\u0027 for this"},{"line_number":30,"context_line":"\u0027VolumeAttachment\u0027 with the uuid format. However, currently, nova assigns"},{"line_number":31,"context_line":"\u0027id\u0027 of \u0027VolumeAttachment\u0027 with the value \u0027volume_id\u0027 of the volume itself."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa1b9901_98837104","line":29,"updated":"2015-08-19 06:37:54.000000000","message":"the \u0027id\u0027 of attachment is not generated by nova but cinder","commit_id":"ac73e375f35c4cbf828c87e37e88c1d9295f5d3b"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"be46348a99826cfcd1af58a88172948fe2abf54f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"   * - Release Name"},{"line_number":199,"context_line":"     - Description"},{"line_number":200,"context_line":"   * - Mitaka"},{"line_number":201,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa1b9901_78c1bd7f","line":201,"updated":"2015-08-19 06:30:45.000000000","message":"I think you need to remove this section?","commit_id":"ac73e375f35c4cbf828c87e37e88c1d9295f5d3b"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"3de9f5a8077f2890270abeaa744cfcd205730c4a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Correct volume_attachment_id in nova API volumes"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_134d7f99","line":11,"updated":"2015-09-23 15:48:37.000000000","message":"don\u0027t need this line","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"318b92d6644ad1d74cec29a38a6ce1188cc42a64","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Correct volume_attachment_id in nova API volumes"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_471506e3","line":11,"updated":"2015-09-22 11:23:33.000000000","message":"please remove this line","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"edca5ba1d5b604449b3522ddbc4aff4345abf597","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Correct volume_attachment_id in nova API volumes"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_6e7a3b8a","line":11,"in_reply_to":"ba15a1d1_471506e3","updated":"2015-09-23 02:17:24.000000000","message":"Thanks, will do that.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"3de9f5a8077f2890270abeaa744cfcd205730c4a","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Nova api creates a \u0027VolumeAttachment\u0027 object to represent the volume"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_463941d6","line":13,"updated":"2015-09-23 15:48:37.000000000","message":"the \\ doesn\u0027t quite work, the resulting link is broken.\n\nIee3e90a5d22d1c4b1180a3f3028b2d4c29cd3377 has merged now though! so you should be able to put the whole link on one line, even though it\u0027s longer than 79 characters.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"6f1e6f659fd2d030b6aac5269c6698a203e8b5ec","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Nova api creates a \u0027VolumeAttachment\u0027 object to represent the volume"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_709c226a","line":13,"in_reply_to":"ba15a1d1_463941d6","updated":"2015-09-24 06:04:16.000000000","message":"Thanks for reminding.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"318b92d6644ad1d74cec29a38a6ce1188cc42a64","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Nova api creates a \u0027VolumeAttachment\u0027 object to represent the volume"},{"line_number":17,"context_line":"which is attached to an instance, also cinder generates an \u0027id\u0027 for this"},{"line_number":18,"context_line":"\u0027VolumeAttachment\u0027 with the uuid format. However, currently, nova assigns"},{"line_number":19,"context_line":"\u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027volume_id\u0027 value of the volume itself."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_2f66a829","line":16,"updated":"2015-09-22 11:23:33.000000000","message":"I see this in a different way, nova asks for a volume then ask to attach a volume to an instance.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"edca5ba1d5b604449b3522ddbc4aff4345abf597","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-\\"},{"line_number":14,"context_line":"nova-api-volumes"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Nova api creates a \u0027VolumeAttachment\u0027 object to represent the volume"},{"line_number":17,"context_line":"which is attached to an instance, also cinder generates an \u0027id\u0027 for this"},{"line_number":18,"context_line":"\u0027VolumeAttachment\u0027 with the uuid format. However, currently, nova assigns"},{"line_number":19,"context_line":"\u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027volume_id\u0027 value of the volume itself."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_cb7819c7","line":16,"in_reply_to":"ba15a1d1_2f66a829","updated":"2015-09-23 02:17:24.000000000","message":"I agree with you. My statement here is the work flow of VolumeAttachmentController of nova api during volume attachment, see [1]\n\n[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/volumes.py#L298-L302","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"3de9f5a8077f2890270abeaa744cfcd205730c4a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027volume_id\u0027 value of the volume itself."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_e6ee55ec","line":22,"updated":"2015-09-23 15:48:37.000000000","message":"This section should be an overview of the proposed change. It can be very short, only 1-2 sentences. It\u0027s not helpful to just copy-paste the first para of your problem description, humans will read this.\n\nEG \"Use Cinder UUID for VolumeAttachment so that cloud admins can easily identify them.\"","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"6f1e6f659fd2d030b6aac5269c6698a203e8b5ec","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027volume_id\u0027 value of the volume itself."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_b0a4faa5","line":22,"in_reply_to":"ba15a1d1_e6ee55ec","updated":"2015-09-24 06:04:16.000000000","message":"Thanks, will update it.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"318b92d6644ad1d74cec29a38a6ce1188cc42a64","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_4f819c8e","line":23,"updated":"2015-09-22 11:23:33.000000000","message":"I think nova is doing the right thing. \nIn my opinion is not nova that creates an attachment but nova ask cinder for a volume then attach it to an instance, what cinder gives back to nova is the correct ID of the volume.\nUsing that ID we have all the details of the resource required: a volume.\nThe volumeattachment seems to me something specific to cinder and I think we do not want to keep track of it in the nova db.\nNova tracks the volume attached to instances via the BDM table, cinder does a similar thing using the volumeattachment table and they have to be independent as they could decide to manage this info in a complete different way, the only \"shared\" info between nova and cider is the concept of Volume.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"6f1e6f659fd2d030b6aac5269c6698a203e8b5ec","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_50955e30","line":23,"in_reply_to":"ba15a1d1_244686c0","updated":"2015-09-24 06:04:16.000000000","message":"Sorry my statement is not clear, will update it.","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"01c65b9b354f2e6b0465b21fd6300b77aa3dd317","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_244686c0","line":23,"in_reply_to":"ba15a1d1_4e2737b6","updated":"2015-09-23 15:57:46.000000000","message":"ok but that is not what you describe, in the paragraph you say that you want to set the value to the actual value from volume_attachment table.\nWhere the volumeattachments[\u0027id\u0027] is used?\nif it is not used, why we should return it to the user?\nInstead of set it to None I\u0027d prefer to not return the value","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"edca5ba1d5b604449b3522ddbc4aff4345abf597","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This bp proposes to change \u0027id\u0027 of \u0027VolumeAttachment\u0027 from \u0027volume_id\u0027 to"},{"line_number":22,"context_line":"the actual value from \u0027volume_attachment\u0027 table stored in cinder database."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba15a1d1_4e2737b6","line":23,"in_reply_to":"ba15a1d1_4f819c8e","updated":"2015-09-23 02:17:24.000000000","message":"We don\u0027t need to track volumeattachment in nova db, we just need to  avoid returning a \"wrong\" value of \u0027id\u0027 property in nova REST api response -- that will make confusion. In my opinion, either query volumeattachment.id from cinder or just leave it as None in nova REST api response will be better.\nCurrently nova api set value of volume.id to volumeattachment.id in return value, see [1].\n[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/volumes.py#L203-L204","commit_id":"57b99f840c843022e907b280c1670cec79b68a70"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"d1fbd723a33c783e161cae2b7e54be9ff9117f74","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Correct volume_attachment_id in nova API volumes"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-nova-api-volumes"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In RSET api GET response of Nova api VolumeAttachmentController,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a1a9d01_f0ce7d82","line":11,"updated":"2015-09-25 13:06:41.000000000","message":"Please remove ^^^^ that line","commit_id":"c0fae5f866c7432df3fae7a63cc65a537e2b11fe"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"d1fbd723a33c783e161cae2b7e54be9ff9117f74","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":"https://blueprints.launchpad.net/nova/+spec/correct-volume-attachment-id-in-nova-api-volumes"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In RSET api GET response of Nova api VolumeAttachmentController,"},{"line_number":15,"context_line":"return \u0027id\u0027 of cinder.objects.volume_attachment.VolumeAttachment"},{"line_number":16,"context_line":"instead of \u0027id\u0027 of cinder.objects.volume.Volume so that cloud admins"},{"line_number":17,"context_line":"can easily identify them."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a1a9d01_30ab958b","line":14,"updated":"2015-09-25 13:06:41.000000000","message":"s/RSET/REST","commit_id":"c0fae5f866c7432df3fae7a63cc65a537e2b11fe"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"d1fbd723a33c783e161cae2b7e54be9ff9117f74","unresolved":false,"context_lines":[{"line_number":53,"context_line":"request(RPC cast) is async, \u0027create\u0027 method will return without waiting for"},{"line_number":54,"context_line":"the attachment process completes. However, the \u0027id\u0027 attribute of this"},{"line_number":55,"context_line":"attachment will not be generated until attachment process completes. Thus we"},{"line_number":56,"context_line":"can just set the \u0027id\u0027 attribute of attachment in the return value as None."},{"line_number":57,"context_line":"User can get it via \u0027index\u0027 method after the attach process completes."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"For nova.volume.cinder.API, update the \u0027_untranslate_volume_summary_view\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a1a9d01_3035d545","line":56,"updated":"2015-09-25 13:06:41.000000000","message":"I don\u0027t see the point of returning a temporary None value, I\u0027d prefer to not return any value","commit_id":"c0fae5f866c7432df3fae7a63cc65a537e2b11fe"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6658204899e7b16c70ceb71866551064635abade","unresolved":false,"context_lines":[{"line_number":22,"context_line":"VolumeAttachmentController returns \u0027VolumeAttachment\u0027 info in api"},{"line_number":23,"context_line":"response, they assign \u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027id\u0027 value"},{"line_number":24,"context_line":"of the volume itself, see [1]."},{"line_number":25,"context_line":"[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/volumes.py#L218-L219"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"So the value of \u0027id\u0027 for \u0027VolumeAttachment\u0027 returned by nova API"},{"line_number":28,"context_line":"is not corresponding to the ideal value for the attachment as designed. This"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_ab7d266e","line":25,"updated":"2015-10-01 13:24:38.000000000","message":"When linking to github - it\u0027s always best to link to the relevant commit and not master as this changes over time as the master progresses.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":22,"context_line":"VolumeAttachmentController returns \u0027VolumeAttachment\u0027 info in api"},{"line_number":23,"context_line":"response, they assign \u0027id\u0027 of \u0027VolumeAttachment\u0027 with the \u0027id\u0027 value"},{"line_number":24,"context_line":"of the volume itself, see [1]."},{"line_number":25,"context_line":"[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/volumes.py#L218-L219"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"So the value of \u0027id\u0027 for \u0027VolumeAttachment\u0027 returned by nova API"},{"line_number":28,"context_line":"is not corresponding to the ideal value for the attachment as designed. This"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_a5fb617a","line":25,"in_reply_to":"9a1a9d01_ab7d266e","updated":"2015-10-08 18:16:12.000000000","message":"+1 to that.  Or a tag is also good, like the liberty rc2 tag:\n\nhttps://github.com/openstack/nova/blob/12.0.0.0rc2/nova/api/openstack/compute/volumes.py#L218-L219\n\nShould also move the reference as a footnote in the Reference section rather than right here in this prose description section.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"So the value of \u0027id\u0027 for \u0027VolumeAttachment\u0027 returned by nova API"},{"line_number":28,"context_line":"is not corresponding to the ideal value for the attachment as designed. This"},{"line_number":29,"context_line":"makes the confusion for the management especially. The actual value of \u0027id\u0027"},{"line_number":30,"context_line":"attribute of \u0027VolumeAttachment\u0027 is generated by cinder when the attachment"},{"line_number":31,"context_line":"happens, cinder stores the \u0027id\u0027 into database table \u0027volume_attachment\u0027."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_a5b36199","line":29,"updated":"2015-10-08 18:16:12.000000000","message":"This is confusing:\n\n\"This makes the confusion for the management especially.\"\n\nI think you mean to say:\n\n\"This makes managing the volume attachments especially confusing.\"\n\nI guess beside just updating that sentence for clarity, I\u0027m wondering what the management use case is you\u0027re looking for, since you can get the attachment ID from the volume (via the volume API) once it\u0027s attached, like what is done in _attach_volume here:\n\nhttps://review.openstack.org/#/c/218355/13/tempest/scenario/test_stamp_pattern.py","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a cloud administrator, I need to know the volume attachment info about the"},{"line_number":37,"context_line":"instances, I need to distinguish the attachments by ‘id’ attribute of them."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_a56a81eb","line":36,"updated":"2015-10-08 18:16:12.000000000","message":"You can do this via the volume API (via cinder) as pointed out above.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":37,"context_line":"instances, I need to distinguish the attachments by ‘id’ attribute of them."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"None"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_6579c9c7","line":40,"updated":"2015-10-08 18:16:12.000000000","message":"Remove the project priority section, we\u0027ve dropped that from the template.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","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":"For \u0027index\u0027/\u0027show\u0027 method of VolumeAttachmentController, nova should get"},{"line_number":48,"context_line":"the value of ‘id’ attribute of this attachment from cinder and assign it"},{"line_number":49,"context_line":"to ‘id’ attribute of ‘VolumeAttachment’."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_db2760b4","line":47,"updated":"2015-10-08 18:16:12.000000000","message":"So this suggests that nova call out to the volume API (cinder) and get the attachment ID, which is a proxy, which we don\u0027t want:\n\nhttp://docs.openstack.org/developer/nova/project_scope.html#no-more-api-proxies\n\nThe show code today gets the BDMs for the server and gets info from them:\n\nhttps://github.com/openstack/nova/blob/12.0.0.0rc2/nova/api/openstack/compute/volumes.py#L237\n\nSo if you didn\u0027t want to proxy to cinder you\u0027d store the attachment ID in the BDM object but that would require a data model change to store it in the nova.block_device_mapping table.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"eea2c5aa38fd3306de9e6c2be6c52c37711bfe97","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"For nova.volume.cinder.API, update the \u0027_untranslate_volume_summary_view\u0027"},{"line_number":59,"context_line":"method to add \u0027attachment_id\u0027 attribute in volume summary info. Then nova"},{"line_number":60,"context_line":"can get this attribute for creating/listing/showing \u0027VolumeAttachment\u0027."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_36359ff6","line":60,"updated":"2015-10-07 09:10:13.000000000","message":"So as I understand - the reason you would like to see nova reporting the volumeAttachment id instead of the volume UUID is mainly because it can cause confusion in the case of a multi-attach volume (a feature that is not merged yet).\n\nHere\u0027s my take on this - Nova only exposes volume-id\u0027s because that\u0027s the most useful thing to know for a good majority of it\u0027s users. Changing the nova API to return the attachment ID (an id of a Cinder resource that is AFAICT not exposed in Nova API in any way, and not exposed as an actual resource by the Cinder API except as part of the volume show) would be a step towards coupling the two APIs and their semantics together in a way that we don\u0027t want. \n\nWe have been saying for some time now (6 releases at least) that we do not want any more proxying of functionality between APIs of different components, and this work proposed here is a step in the opposite direction from that. All the information we want to expose here can be unambiguously found out using the Cinder API.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"For nova.volume.cinder.API, update the \u0027_untranslate_volume_summary_view\u0027"},{"line_number":59,"context_line":"method to add \u0027attachment_id\u0027 attribute in volume summary info. Then nova"},{"line_number":60,"context_line":"can get this attribute for creating/listing/showing \u0027VolumeAttachment\u0027."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_20a89f1f","line":60,"in_reply_to":"7a2fa921_36359ff6","updated":"2015-10-08 18:16:12.000000000","message":"Agree, same as what I tried to say above, but in a more detailed fashion. :)","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"None"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_40a59b44","line":65,"updated":"2015-10-08 18:16:12.000000000","message":"The alternative is get it from the volume API as noted above.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"422fe8ae8c6adc7f9b9d226be6404299d8dc8d00","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Testing"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Unit tests and possibly API samples functional tests in the nova tree."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"There are currently not any test cases for verifying the ‘id’ of"},{"line_number":167,"context_line":"volume attachment in Tempest. We could add corresponding test case in"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a2fa921_fb533c15","line":164,"updated":"2015-10-08 18:16:12.000000000","message":"s/possibly//\n\nWe always require functional API samples tests for API changes.","commit_id":"827b6395d5a26a45482390fc1fa9b663111980cc"}]}
