)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"313aa8b4bf3522de695865ead9921106e209b379","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add the ``delete_on_termination`` field to the attached volume, the"},{"line_number":10,"context_line":"identifier of the data volumes can be deleted when the instance is"},{"line_number":11,"context_line":"destroyed, and this field can also be set after the attached."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"bp:support-delete-on-termination-in-server-attach-volume"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I6a9d0a2f2b918c82b6f56e601f821362a50ff7ce"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_1f80fd48","line":12,"updated":"2018-10-24 08:53:51.000000000","message":"Missing the flag of APIImpact.","commit_id":"bc7ae52afb5288c8dbdd96cc325cb45c3b1d1152"}],"specs/stein/approved/support-delete-on-termination-in-server-attach-volume.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"76a7f6d04ccb6cf2dac1dba4529461428f04c4f3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        \"volumeAttachment\": {"},{"line_number":70,"context_line":"            \"volumeId\": \"a26887c6-c47b-4654-abb5-dfadf7d3f803\","},{"line_number":71,"context_line":"            \"tag\": \"foo\","},{"line_number":72,"context_line":"            \"block_device_mapping_v2\": [{"},{"line_number":73,"context_line":"                \"delete_on_termination\": False"},{"line_number":74,"context_line":"            }]"},{"line_number":75,"context_line":"        }"},{"line_number":76,"context_line":"    }"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_84e980e5","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":14},"updated":"2018-11-01 15:28:26.000000000","message":"This is really confusing. Why have a list when we\u0027re attaching a single resource? In other words, I would avoid trying to re-use the block_device_mapping_v2 schema from the server create API and just have bdm-specific fields in the volume attach API, which would just be a new \"delete_on_termination\" parameter in this case.","commit_id":"bc7ae52afb5288c8dbdd96cc325cb45c3b1d1152"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a166762c3661b6625b826ffce180c4569dbbfd1f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        \"volumeAttachment\": {"},{"line_number":70,"context_line":"            \"volumeId\": \"a26887c6-c47b-4654-abb5-dfadf7d3f803\","},{"line_number":71,"context_line":"            \"tag\": \"foo\","},{"line_number":72,"context_line":"            \"block_device_mapping_v2\": [{"},{"line_number":73,"context_line":"                \"delete_on_termination\": False"},{"line_number":74,"context_line":"            }]"},{"line_number":75,"context_line":"        }"},{"line_number":76,"context_line":"    }"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_761ba86e","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":14},"in_reply_to":"3f79a3b5_84e980e5","updated":"2018-11-02 08:02:05.000000000","message":"Yes, this method only attach a single volume to an instance, there is necessary to use block_device_mapping_v2 dict, I will remove it the BDM_V2.","commit_id":"bc7ae52afb5288c8dbdd96cc325cb45c3b1d1152"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"97f148794f7bd73038aa66c7989183bfe1cb1160","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Currently, nova already supports the volume attach API, but it is not"},{"line_number":19,"context_line":"possible to configure whether the data volumes can be deleted when the"},{"line_number":20,"context_line":"instance is destroyed while the volume is being attached. This is a bit"},{"line_number":21,"context_line":"awkward when configuring the server to handle the data volume in the"},{"line_number":22,"context_line":"destroy instance. This is not friendly to the user when they want to"},{"line_number":23,"context_line":"update ``delete_on_termination`` field in ``block_device_mapping_v2``"},{"line_number":24,"context_line":"of the data volume *after* the volume is attached in created server."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ebe31239","line":22,"range":{"start_line":20,"start_character":58,"end_line":22,"end_character":17},"updated":"2018-11-06 08:13:41.000000000","message":"I don\u0027t think this is awkward, we added delete_on_termination to volumes while boot a bfv instance from image, that is because the volume will be created by Nova telling Cinder, and that makes sense. What you are proposing here is a new proxy API or orchestrate API to Cinder, this will make the whole process complicated. I assume you have a orchestrating service on top of your OpenStack services, why not do this there? it could much simple","commit_id":"d453f21999a72b154f8314917b03a973d4f7a7f7"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"f3c1a9e2ea8c049e7bdef81bc30e5a6d3adfd158","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Currently, nova already supports the volume attach API, but it is not"},{"line_number":19,"context_line":"possible to configure whether the data volumes can be deleted when the"},{"line_number":20,"context_line":"instance is destroyed while the volume is being attached. This is a bit"},{"line_number":21,"context_line":"awkward when configuring the server to handle the data volume in the"},{"line_number":22,"context_line":"destroy instance. This is not friendly to the user when they want to"},{"line_number":23,"context_line":"update ``delete_on_termination`` field in ``block_device_mapping_v2``"},{"line_number":24,"context_line":"of the data volume *after* the volume is attached in created server."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_cb7f3614","line":22,"range":{"start_line":20,"start_character":58,"end_line":22,"end_character":17},"in_reply_to":"3f79a3b5_ebe31239","updated":"2018-11-06 08:31:50.000000000","message":"Thanks Kevin.\nPerhaps this sentence is not appropriate, and it has caused misunderstandings.\nYeah, we can add \u0027delete_on_termination\u0027 while boot a volume-backend instance from a image, but this is only for root device, if you attach a volume to an exist instance, that won\u0027t make any changes to \u0027delete_on_termination\u0027.\n\nThis spec proposing to volume attach API, when we attach a volume to an instance can config for \u0027delete_on_termination\u0027.","commit_id":"d453f21999a72b154f8314917b03a973d4f7a7f7"}],"specs/train/approved/support-delete-on-termination-in-server-attach-volume.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"possible to configure whether the data volumes can be deleted when the"},{"line_number":20,"context_line":"instance is destroyed while the volume is being attached. This is a bit"},{"line_number":21,"context_line":"awkward when configuring the server to handle the data volume in the"},{"line_number":22,"context_line":"destroy instance. This is not friendly to the user when they want to"},{"line_number":23,"context_line":"update ``delete_on_termination`` field in ``block_device_mapping_v2``"},{"line_number":24,"context_line":"of the data volume *after* the volume is attached in created server."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_42083a2c","line":24,"range":{"start_line":22,"start_character":18,"end_line":24,"end_character":68},"updated":"2019-07-25 12:23:10.000000000","message":"This is describing https://review.opendev.org/#/c/580336/ isn\u0027t it?","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7367fd94be2fdd08563aa427c8c2aebee3674e2e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"possible to configure whether the data volumes can be deleted when the"},{"line_number":20,"context_line":"instance is destroyed while the volume is being attached. This is a bit"},{"line_number":21,"context_line":"awkward when configuring the server to handle the data volume in the"},{"line_number":22,"context_line":"destroy instance. This is not friendly to the user when they want to"},{"line_number":23,"context_line":"update ``delete_on_termination`` field in ``block_device_mapping_v2``"},{"line_number":24,"context_line":"of the data volume *after* the volume is attached in created server."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_5d349f4a","line":24,"range":{"start_line":22,"start_character":18,"end_line":24,"end_character":68},"in_reply_to":"7faddb67_42083a2c","updated":"2019-07-25 13:08:52.000000000","message":"Yes, it should be removed.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"deleted together, the invalid data is cleared, and the storage space is"},{"line_number":33,"context_line":"released."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"However, if the user wants to retain the important data volume while"},{"line_number":36,"context_line":"destroying the instance, he can update the data volume by the update server"},{"line_number":37,"context_line":"API (depends-on If06bd29a8fcad322aed337bb7fdb54aae304c8dc)."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"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":10,"id":"7faddb67_bd011307","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":59},"updated":"2019-07-25 12:23:10.000000000","message":"This is the more complicated spec - why not decouple these? Adding a delete_on_termination flag to the attach volume API is pretty trivial, but updating the value on an already attached volume is less so because the existing PUT API for volume attachments is only used for swap volume operations today, which is why that other spec is messier. If you were to decouple these specs so this one just focuses on the ability to specify the flag when attaching the volume (but leave the other spec to worry about *changing* the value on already-attached volumes), then this spec has a better chance of being approved for Train.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7367fd94be2fdd08563aa427c8c2aebee3674e2e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"deleted together, the invalid data is cleared, and the storage space is"},{"line_number":33,"context_line":"released."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"However, if the user wants to retain the important data volume while"},{"line_number":36,"context_line":"destroying the instance, he can update the data volume by the update server"},{"line_number":37,"context_line":"API (depends-on If06bd29a8fcad322aed337bb7fdb54aae304c8dc)."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"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":10,"id":"7faddb67_3d220303","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":59},"in_reply_to":"7faddb67_bd011307","updated":"2019-07-25 13:08:52.000000000","message":"Emm...Yes, this is confusing, which is a duplicate of the description at https://review.opendev.org/#/c/580336/.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":"Add a new microversion to volume attach API to support configuring whether"},{"line_number":42,"context_line":"to delete the data volume during the destroy instance."},{"line_number":43,"context_line":"Add ``block_device_mapping_v2`` to the request body, which is a list of dicts."},{"line_number":44,"context_line":"The root volume is denoted with boot_index\u003d0, but \u0027data volumes\u0027 can be"},{"line_number":45,"context_line":"specified in that list as well with the boot_index field omitted meaning"},{"line_number":46,"context_line":"it\u0027s not a boot device. And you can specify the ``delete_on_termination\u003dTrue``"},{"line_number":47,"context_line":"in the ``block_device_mapping_v2``, to mark whether to delete data volumes"},{"line_number":48,"context_line":"when destroying instance."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_7d24fbaf","line":48,"range":{"start_line":43,"start_character":0,"end_line":48,"end_character":25},"updated":"2019-07-25 12:23:10.000000000","message":"Again this seems like overkill to me - why not just simply add a new delete_on_termination parameter to the volume attach API so you could have a request body like this:\n\nPOST /servers/{server_id}/os-volume_attachments\n{\n    \"volumeAttachment\": {\n        \"volumeId\": \"a26887c6-c47b-4654-abb5-dfadf7d3f803\",\n        \"delete_on_termination\": true\n    }\n}","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7367fd94be2fdd08563aa427c8c2aebee3674e2e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":"Add a new microversion to volume attach API to support configuring whether"},{"line_number":42,"context_line":"to delete the data volume during the destroy instance."},{"line_number":43,"context_line":"Add ``block_device_mapping_v2`` to the request body, which is a list of dicts."},{"line_number":44,"context_line":"The root volume is denoted with boot_index\u003d0, but \u0027data volumes\u0027 can be"},{"line_number":45,"context_line":"specified in that list as well with the boot_index field omitted meaning"},{"line_number":46,"context_line":"it\u0027s not a boot device. And you can specify the ``delete_on_termination\u003dTrue``"},{"line_number":47,"context_line":"in the ``block_device_mapping_v2``, to mark whether to delete data volumes"},{"line_number":48,"context_line":"when destroying instance."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_bd7b53f2","line":48,"range":{"start_line":43,"start_character":0,"end_line":48,"end_character":25},"in_reply_to":"7faddb67_7d24fbaf","updated":"2019-07-25 13:08:52.000000000","message":"Yeah, that\u0027s wonderful.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"},{"line_number":51,"context_line":"------------"},{"line_number":52,"context_line":"None"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Data model impact"},{"line_number":55,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_3d3683e9","line":52,"updated":"2019-07-25 12:23:10.000000000","message":"The alternative is the user cleans up the data volumes manually after deleting the server as they would have to do today.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"The config of delete data volumes will be able to add to request payload ::"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    {"},{"line_number":69,"context_line":"        \"volumeAttachment\": {"},{"line_number":70,"context_line":"            \"volumeId\": \"a26887c6-c47b-4654-abb5-dfadf7d3f803\","},{"line_number":71,"context_line":"            \"tag\": \"foo\","},{"line_number":72,"context_line":"            \"delete_on_termination\": False"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_bd4fd368","line":69,"updated":"2019-07-25 12:23:10.000000000","message":"This sample doesn\u0027t seem to match the proposed change description above where you\u0027re talking about a list of block_device_mapping_v2 dicts. Which is it?","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The default value of ``delete_on_termination`` field is **False**."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The config of delete data volumes will be able to add to response payload ::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    {"},{"line_number":81,"context_line":"        \"volumeAttachment\": {"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_7da71b0d","line":78,"updated":"2019-07-25 12:23:10.000000000","message":"This isn\u0027t described in the proposed change section either as far as I can tell. Detaching a volume from a server today doesn\u0027t take a request body:\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003ddetach-a-volume-from-an-instance-detail#detach-a-volume-from-an-instance\n\nAre you proposing that we now should take a request body on detach to tell nova whether or not to delete the volume on detach? If so, I don\u0027t think that makes a lot of sense - we don\u0027t delete delete_on_termination\u003dtrue volumes today when they are attached, e.g. say I create a server with data volume 1 and specified delete_on_termination\u003dtrue during server create, but then detach the volume because I want to re-use it for some other server, maybe a recovery or backup server, nova won\u0027t delete the volume on detach.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7367fd94be2fdd08563aa427c8c2aebee3674e2e","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The default value of ``delete_on_termination`` field is **False**."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The config of delete data volumes will be able to add to response payload ::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    {"},{"line_number":81,"context_line":"        \"volumeAttachment\": {"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_1d038744","line":78,"in_reply_to":"7faddb67_7da71b0d","updated":"2019-07-25 13:08:52.000000000","message":"Yeah, this is not accurate.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Other end user impact"},{"line_number":99,"context_line":"---------------------"},{"line_number":100,"context_line":"User will be able to attach data volume while destroying instances using"},{"line_number":101,"context_line":"specific microversion. Python client may add help to inform users this new"},{"line_number":102,"context_line":"field, add the ``delete_on_termination`` key of ``block_device_mapping_v2``"},{"line_number":103,"context_line":"is supported for \u0027nova volume-attach\u0027."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_ddb72f3a","line":100,"range":{"start_line":100,"start_character":40,"end_line":100,"end_character":66},"updated":"2019-07-25 12:23:10.000000000","message":"This must be wrong - did you mean something else? Like, \"User will be able to attach data volumes and specify during the attach request whether or not those volumes should also be deleted when the server is deleted.\"","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7367fd94be2fdd08563aa427c8c2aebee3674e2e","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Other end user impact"},{"line_number":99,"context_line":"---------------------"},{"line_number":100,"context_line":"User will be able to attach data volume while destroying instances using"},{"line_number":101,"context_line":"specific microversion. Python client may add help to inform users this new"},{"line_number":102,"context_line":"field, add the ``delete_on_termination`` key of ``block_device_mapping_v2``"},{"line_number":103,"context_line":"is supported for \u0027nova volume-attach\u0027."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_7da15b46","line":100,"range":{"start_line":100,"start_character":40,"end_line":100,"end_character":66},"in_reply_to":"7faddb67_ddb72f3a","updated":"2019-07-25 13:08:52.000000000","message":"Your example is what I want to express.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"---------------------"},{"line_number":100,"context_line":"User will be able to attach data volume while destroying instances using"},{"line_number":101,"context_line":"specific microversion. Python client may add help to inform users this new"},{"line_number":102,"context_line":"field, add the ``delete_on_termination`` key of ``block_device_mapping_v2``"},{"line_number":103,"context_line":"is supported for \u0027nova volume-attach\u0027."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_3d9203a1","line":102,"range":{"start_line":102,"start_character":50,"end_line":102,"end_character":73},"updated":"2019-07-25 12:23:10.000000000","message":"This isn\u0027t in the request payload above...and I\u0027m not sure what it means for the \"nova volume-attach\" CLI anyway.\n\nDo you mean that these APIs would now return the delete_on_termination parameter in the response body (they probably should as part of this change):\n\nGET /servers/{server_id}/os-volume_attachments\n\nGET /servers/{server_id}/os-volume_attachments/{volume_id}\n\nThat way the user could see which attached volumes are marked for deletion in the CLI if it\u0027s in the GET responses.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Upgrade impact"},{"line_number":118,"context_line":"--------------"},{"line_number":119,"context_line":"None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Implementation"},{"line_number":122,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_1ddce772","line":119,"updated":"2019-07-25 12:23:10.000000000","message":"Depending on how this is implemented, there could be an upgrade impact because when attaching a volume to a non-shelved offloaded server, the API makes an RPC call to compute which creates the BDM record:\n\nhttps://github.com/openstack/nova/blob/89712fe834942a85be3441ed175a79ff696bfe01/nova/compute/manager.py#L5789\n\nIf the instance is on a Stein level compute during a rolling upgrade, we\u0027d fail to set the delete_on_termination flag. If you implemented this feature such that the compute doesn\u0027t set the delete_on_termination field on the created BDM, but instead the API does, somewhere like here:\n\nhttps://github.com/openstack/nova/blob/89712fe834942a85be3441ed175a79ff696bfe01/nova/compute/api.py#L3920\n\nThen older computes aren\u0027t an issue.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Work Items"},{"line_number":129,"context_line":"----------"},{"line_number":130,"context_line":"* Add ``delete_on_termination`` support in volume attach API"},{"line_number":131,"context_line":"* Add ``delete_on_termination`` support for \u0027nova volume-attach\u0027 in novaclient"},{"line_number":132,"context_line":"* Add related tests"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7faddb67_bdd4b348","line":131,"updated":"2019-07-25 12:23:10.000000000","message":"We also need to update python-openstackclient.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c0a000f9d92c23884356208637991e0202d9d7a","unresolved":false,"context_lines":[{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":140,"context_line":"* Add related unittest"},{"line_number":141,"context_line":"* Add related functional test"},{"line_number":142,"context_line":"* Add tempest tests"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Documentation Impact"},{"line_number":145,"context_line":"\u003d\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":10,"id":"7faddb67_1dc5c78e","line":142,"updated":"2019-07-25 12:23:10.000000000","message":"I don\u0027t think we probably need tempest tests for this - functional tests should be sufficient with the CinderFixture to know that the attached volume was deleted or not when the server was deleted.","commit_id":"87c985b2359844fe0b9bd7c3680e4057adbbb9fc"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"768e3b7a3a5c6db2474cbc8475266acfd0439dad","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    }"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":".. note:: PUT /servers/{server_id}/os-volume_attachments/{volume_id} is not"},{"line_number":124,"context_line":"          part of this proposed change since that API today is only implemented"},{"line_number":125,"context_line":"          for the \"swap volume\" operation which is only implemented by the"},{"line_number":126,"context_line":"          libvirt driver. [1]_ Modifying the PUT API is out of scope for this"},{"line_number":127,"context_line":"          spec. If a user wishes to change the ``delete_on_termination`` value"},{"line_number":128,"context_line":"          of a non-root attached volume, they can do so by detaching and"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7faddb67_1f4ff434","line":125,"range":{"start_line":124,"start_character":63,"end_line":125,"end_character":41},"updated":"2019-07-25 20:01:20.000000000","message":"✔ https://developer.openstack.org/api-ref/compute/?expanded\u003dupdate-a-volume-attachment-detail#update-a-volume-attachment","commit_id":"2a84e13a04620c95cfc8b0eef0b88d0947902023"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"768e3b7a3a5c6db2474cbc8475266acfd0439dad","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Other end user impact"},{"line_number":141,"context_line":"---------------------"},{"line_number":142,"context_line":"python-novaclient and python-openstack client will need to be updated to"},{"line_number":143,"context_line":"support the new ``delete_on_termination`` parameter when attaching a volume"},{"line_number":144,"context_line":"and listing/showing attached volumes."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7faddb67_df62bcad","line":142,"range":{"start_line":142,"start_character":29,"end_line":142,"end_character":45},"updated":"2019-07-25 20:01:20.000000000","message":"openstackclient","commit_id":"2a84e13a04620c95cfc8b0eef0b88d0947902023"}]}
