)]}'
{"specs/victoria/approved/volume-backed-server-rebuild.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ebc6c5b47c52474bc87ce542abbb95683646d2c1","unresolved":false,"context_lines":[{"line_number":86,"context_line":"There are issues with this, however, like what to do about the old volume:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* Regarding \u0027delete_on_termination\u0027 flag in the BDM,"},{"line_number":89,"context_line":"  delete_on_termination\u003dTrue means: don\u0027t delete the volume when we kill"},{"line_number":90,"context_line":"  the instance. Rebuild means: re-initialize this instance in place. The"},{"line_number":91,"context_line":"  rebuild flow would have to determine what to do if the old root volume"},{"line_number":92,"context_line":"  BDM was marked with delete_on_termination\u003dTrue - ignore that and preserve"},{"line_number":93,"context_line":"  the old root volume or delete it."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_a8b76e86","line":90,"range":{"start_line":89,"start_character":36,"end_line":90,"end_character":15},"updated":"2020-07-07 02:09:32.000000000","message":"It is incorrect. If delete_on_termination\u003dTrue, it means that will be delete the instance attached volume when you delete the instnace. Or I missed something?","commit_id":"a9d1b01268fabccb9c38a6344d85883422833687"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"7305eec5c3404bf128207c61a96258fb09153df6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"There are issues with this, however, like what to do about the old volume:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* Regarding \u0027delete_on_termination\u0027 flag in the BDM,"},{"line_number":89,"context_line":"  delete_on_termination\u003dTrue means: don\u0027t delete the volume when we kill"},{"line_number":90,"context_line":"  the instance. Rebuild means: re-initialize this instance in place. The"},{"line_number":91,"context_line":"  rebuild flow would have to determine what to do if the old root volume"},{"line_number":92,"context_line":"  BDM was marked with delete_on_termination\u003dTrue - ignore that and preserve"},{"line_number":93,"context_line":"  the old root volume or delete it."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_832a4b29","line":90,"range":{"start_line":89,"start_character":36,"end_line":90,"end_character":15},"in_reply_to":"bf51134e_a8b76e86","updated":"2020-07-07 03:57:32.000000000","message":"yes, you are right.","commit_id":"a9d1b01268fabccb9c38a6344d85883422833687"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ebc6c5b47c52474bc87ce542abbb95683646d2c1","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  delete_on_termination\u003dTrue means: don\u0027t delete the volume when we kill"},{"line_number":90,"context_line":"  the instance. Rebuild means: re-initialize this instance in place. The"},{"line_number":91,"context_line":"  rebuild flow would have to determine what to do if the old root volume"},{"line_number":92,"context_line":"  BDM was marked with delete_on_termination\u003dTrue - ignore that and preserve"},{"line_number":93,"context_line":"  the old root volume or delete it."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* We could pass a new flag to the rebuild API telling nova what to do about the"},{"line_number":96,"context_line":"  old volume (delete it or not)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_28ab5e1d","line":93,"range":{"start_line":92,"start_character":67,"end_line":93,"end_character":35},"updated":"2020-07-07 02:09:32.000000000","message":"This sentence seems contradictory.\n\ndelete_on_termination\u003dTrue: deleting the attached(old) volume when you delete the instance.\n\ndelete_on_termination\u003dFalse: preserve the attached(old) volume when you delete the instance.\n\nI think we dont change the delete_on_termination\u0027s meaning https://opendev.org/openstack/nova/src/branch/master/api-ref/source/parameters.yaml#L2295","commit_id":"a9d1b01268fabccb9c38a6344d85883422833687"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ebc6c5b47c52474bc87ce542abbb95683646d2c1","unresolved":false,"context_lines":[{"line_number":241,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":".. list-table:: Revisions"},{"line_number":244,"context_line":"         :header-rows: 1"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"   * - Release Name"},{"line_number":247,"context_line":"     - Description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_88d38ad5","line":244,"range":{"start_line":244,"start_character":3,"end_line":244,"end_character":9},"updated":"2020-07-07 02:09:32.000000000","message":"Abnormal indentation","commit_id":"a9d1b01268fabccb9c38a6344d85883422833687"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ebc6c5b47c52474bc87ce542abbb95683646d2c1","unresolved":false,"context_lines":[{"line_number":247,"context_line":"     - Description"},{"line_number":248,"context_line":"   * - Stein"},{"line_number":249,"context_line":"     - Proposed."},{"line_number":250,"context_line":"   * - Train"},{"line_number":251,"context_line":"     - Re-proposed."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf51134e_e8d966f4","line":250,"range":{"start_line":250,"start_character":7,"end_line":250,"end_character":12},"updated":"2020-07-07 02:09:32.000000000","message":"Victoria","commit_id":"a9d1b01268fabccb9c38a6344d85883422833687"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3ea3cf14cd129b1a8ba2aa87e464286772c4dbf2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"First, change the existing API for rebuilding a volume-backed server."},{"line_number":38,"context_line":"Then the API flow would be:"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. Has the new API microversion been requested?"},{"line_number":41,"context_line":"#. Is the instance.host service version new enough to support"},{"line_number":42,"context_line":"   volume-backed rebuild with a new image?"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf51134e_9e274065","line":40,"range":{"start_line":40,"start_character":3,"end_line":40,"end_character":47},"updated":"2020-07-07 06:52:32.000000000","message":"If it is old API microversion request, then it should be 400 returned as line 24 said.","commit_id":"816f3e2872bbb0781ac7769ef01df5843f6efd74"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3ea3cf14cd129b1a8ba2aa87e464286772c4dbf2","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* The cinder blueprint for re-imaging a volume:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"  https://blueprints.launchpad.net/cinder/+spec/add-volume-re-image-api"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"History"},{"line_number":241,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf51134e_3e08b48f","line":238,"range":{"start_line":238,"start_character":2,"end_line":238,"end_character":71},"updated":"2020-07-07 06:52:32.000000000","message":"Looks like cinder side isn\u0027t ready yet https://review.opendev.org/#/c/606346/15, you need to implement reimage API first.","commit_id":"816f3e2872bbb0781ac7769ef01df5843f6efd74"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"0e14e2075cd755eb5e2b983fd4ddee017e16aa77","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* The cinder blueprint for re-imaging a volume:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"  https://blueprints.launchpad.net/cinder/+spec/add-volume-re-image-api"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"History"},{"line_number":241,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf51134e_908f282d","line":238,"range":{"start_line":238,"start_character":2,"end_line":238,"end_character":71},"in_reply_to":"bf51134e_3e08b48f","updated":"2020-07-07 12:08:02.000000000","message":"ok.I will do it.","commit_id":"816f3e2872bbb0781ac7769ef01df5843f6efd74"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"37c16d9b748de272dbc87f5a028f8e2be54e7c9e","unresolved":false,"context_lines":[{"line_number":246,"context_line":"   * - Release Name"},{"line_number":247,"context_line":"     - Description"},{"line_number":248,"context_line":"   * - Stein"},{"line_number":249,"context_line":"     - Proposed."},{"line_number":250,"context_line":"   * - Victoria"},{"line_number":251,"context_line":"     - Re-proposed."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bf51134e_b10224b3","line":249,"range":{"start_line":249,"start_character":7,"end_line":249,"end_character":15},"updated":"2020-07-08 00:14:42.000000000","message":"s/Proposed/Approved","commit_id":"50fff06aca14a893ea54b4194a4cc7931a39d5f4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"96b09f0ac131695732228250f41fb7c78b7b85a4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* As a user, I would like to rebuild my volume-backed server with a new image."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* As a nova developer, I would like to have feature parity in the compute API"},{"line_number":32,"context_line":"  for volume-backed and image-backed servers."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bf51134e_1fd78e51","line":29,"updated":"2020-07-08 15:08:30.000000000","message":".. so that I can upgrade the guest OS in my volume backed server.","commit_id":"3de97d76a254742a150ca69c1b26f5b431275d5c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"96b09f0ac131695732228250f41fb7c78b7b85a4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"   volume-backed rebuild with a new image. if not, will raise"},{"line_number":44,"context_line":"   RebuildVolumeBackedServerNotSupport exception."},{"line_number":45,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":46,"context_line":"   the root volume.If not, will raise CinderAPIVersionNotAvailable"},{"line_number":47,"context_line":"   exception."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Note that when rebuilding with a new image, the request will be run through"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bf51134e_9f39dea4","line":46,"range":{"start_line":46,"start_character":17,"end_line":46,"end_character":20},"updated":"2020-07-08 15:08:30.000000000","message":"nit: missing space","commit_id":"3de97d76a254742a150ca69c1b26f5b431275d5c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"96b09f0ac131695732228250f41fb7c78b7b85a4","unresolved":false,"context_lines":[{"line_number":155,"context_line":"Upgrade impact"},{"line_number":156,"context_line":"--------------"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The API microversion and compute RPC version will also be incremented"},{"line_number":159,"context_line":"to indicate the new support, therefore users will not be able to leverage"},{"line_number":160,"context_line":"the feature until the nova-compute service hosting a volume-backed instance"},{"line_number":161,"context_line":"is upgraded."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bf51134e_7fc5ea3b","line":158,"range":{"start_line":158,"start_character":25,"end_line":158,"end_character":44},"updated":"2020-07-08 15:08:30.000000000","message":"only compute service version needs to be bumped, the RPC version remains the same as no RPC is changed.","commit_id":"3de97d76a254742a150ca69c1b26f5b431275d5c"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"#. Has the new API microversion been requested. If it is old API microversion"},{"line_number":42,"context_line":"   request, then it should be 400 returned."},{"line_number":43,"context_line":"#. Is the instance.host service version new enough to support"},{"line_number":44,"context_line":"   volume-backed rebuild with a new image. if not, will raise"},{"line_number":45,"context_line":"   RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_6ecc096a","line":45,"range":{"start_line":43,"start_character":0,"end_line":45,"end_character":49},"updated":"2020-07-09 15:19:52.000000000","message":"I thought we were using compute traits to identify new functionality like this as we did with volume backed rescue?\n\nhttps://github.com/openstack/nova/blob/6d6b8b45228a9d8b934b5350c48b3066d7474527/nova/compute/api.py#L4215-L4223","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"c30ba855e071ecbf6d2dbca88d9440ff35b9f38c","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"#. Has the new API microversion been requested. If it is old API microversion"},{"line_number":42,"context_line":"   request, then it should be 400 returned."},{"line_number":43,"context_line":"#. Is the instance.host service version new enough to support"},{"line_number":44,"context_line":"   volume-backed rebuild with a new image. if not, will raise"},{"line_number":45,"context_line":"   RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_5fd1aa22","line":45,"range":{"start_line":43,"start_character":0,"end_line":45,"end_character":49},"in_reply_to":"bf51134e_6ecc096a","updated":"2020-07-15 06:21:42.000000000","message":"This function isn\u0027t change the virt driver, maybe we should not use the compute traits.","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Note that when rebuilding with a new image, the request will be run through"},{"line_number":51,"context_line":"the scheduler against the current host to be consistent with image-backed"},{"line_number":52,"context_line":"rebuild with a new image. See `bug 1664931`_ for details."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. _bug 1664931: https://bugs.launchpad.net/nova/+bug/1664931"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_aec2a132","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":57},"updated":"2020-07-09 15:19:52.000000000","message":"So the instance.host check above would need to be *after* the instance had been rescheduled but before we spawn correct?","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"c30ba855e071ecbf6d2dbca88d9440ff35b9f38c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Note that when rebuilding with a new image, the request will be run through"},{"line_number":51,"context_line":"the scheduler against the current host to be consistent with image-backed"},{"line_number":52,"context_line":"rebuild with a new image. See `bug 1664931`_ for details."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. _bug 1664931: https://bugs.launchpad.net/nova/+bug/1664931"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_9f750235","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":57},"in_reply_to":"bf51134e_aec2a132","updated":"2020-07-15 06:21:42.000000000","message":"why? Shouldn\u0027t we check the nova-compute service version in compute/api.py?","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   server. This ensures the volume remains ``reserved`` through the next"},{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_4ece655a","line":62,"range":{"start_line":62,"start_character":16,"end_line":62,"end_character":30},"updated":"2020-07-09 15:19:52.000000000","message":"Can you link to the Cinder spec for this?","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"c30ba855e071ecbf6d2dbca88d9440ff35b9f38c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"   server. This ensures the volume remains ``reserved`` through the next"},{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_1f97323c","line":62,"range":{"start_line":62,"start_character":16,"end_line":62,"end_character":30},"in_reply_to":"bf51134e_4ece655a","updated":"2020-07-15 06:21:42.000000000","message":"the spec is in the last reference","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. _bug 1664931: https://bugs.launchpad.net/nova/+bug/1664931"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Then the nova-compute will perform the following steps:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. Create an empty (no connector) volume attachment for the volume and"},{"line_number":59,"context_line":"   server. This ensures the volume remains ``reserved`` through the next"},{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"},{"line_number":66,"context_line":"   when spawning the (rebuilt) guest VM and \"complete\" the attachment"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_ce0b958b","line":63,"range":{"start_line":56,"start_character":0,"end_line":63,"end_character":69},"updated":"2020-07-09 15:19:52.000000000","message":"I think it would be better to state that this is happening within the compute manager (nova.compute.manager) and not the virt driver.","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"},{"line_number":66,"context_line":"   when spawning the (rebuilt) guest VM and \"complete\" the attachment"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_aed741ee","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":69},"updated":"2020-07-09 15:19:52.000000000","message":"I\u0027m assuming this means os-reimage is async?","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"c30ba855e071ecbf6d2dbca88d9440ff35b9f38c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"},{"line_number":66,"context_line":"   when spawning the (rebuilt) guest VM and \"complete\" the attachment"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_ff999e6c","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":69},"in_reply_to":"bf51134e_aed741ee","updated":"2020-07-15 06:21:42.000000000","message":"yes","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"638f17aaf4d68f3281acfec62d574744d61757c7","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The main alternative is that nova would perform the rebuild like an initial"},{"line_number":87,"context_line":"boot from volume where nova-compute would create a new volume from the new"},{"line_number":88,"context_line":"image and then \"swap\" the root volume on the instance during rebuild."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"There are issues with this, however, like what to do about the old volume:"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bf51134e_2e59718d","line":88,"range":{"start_line":88,"start_character":16,"end_line":88,"end_character":20},"updated":"2020-07-09 15:19:52.000000000","message":"I wouldn\u0027t use that term here, we wouldn\u0027t be swapping attached volumes, just replacing one with another offline.","commit_id":"d240cc9a51e8aeacd5d42bfdf38011d28a38646f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d221b02aa72282cfd1a5ec37d3fe52603654b879","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   request, then it should be 400 returned."},{"line_number":43,"context_line":"#. Is the instance.host service version new enough to support"},{"line_number":44,"context_line":"   volume-backed rebuild with a new image. if not, will raise"},{"line_number":45,"context_line":"   RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf51134e_35cf5cb1","line":45,"updated":"2020-07-21 12:48:13.000000000","message":"Lee was right on PS6. In between Stein and Victoria, we now want to provide traits for compute services for knowing what they can support.\n\nAlso, if you provide a trait, then when rebuilding, the scheduler would verify this trait so only the compute services supporting this would be agreed, you wouldn\u0027t need to verify the host directly.","commit_id":"3eeaff4aae173674fd7f7c73df471b106ca67219"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00844b07b94959e8f9e5e5429b167208a03cf3b4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"#. Provide a COMPUTE_REBUILD_BFV trait for knowing if the compute node can"},{"line_number":44,"context_line":"   support rebuild."},{"line_number":45,"context_line":"   if not, will raise RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_9de29a2e","line":46,"range":{"start_line":46,"start_character":3,"end_line":46,"end_character":6},"updated":"2020-07-31 11:04:01.000000000","message":"nit: If","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00844b07b94959e8f9e5e5429b167208a03cf3b4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"#. Provide a COMPUTE_REBUILD_BFV trait for knowing if the compute node can"},{"line_number":44,"context_line":"   support rebuild."},{"line_number":45,"context_line":"   if not, will raise RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_3dcd4eb8","line":46,"range":{"start_line":46,"start_character":54,"end_line":46,"end_character":62},"updated":"2020-07-31 11:04:01.000000000","message":"reimage, rebuild","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"56a8d1fb93d0a5562f9906445787dfaddedef35e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"#. Provide a COMPUTE_REBUILD_BFV trait for knowing if the compute node can"},{"line_number":44,"context_line":"   support rebuild."},{"line_number":45,"context_line":"   if not, will raise RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_d086a213","line":46,"range":{"start_line":46,"start_character":54,"end_line":46,"end_character":62},"in_reply_to":"9f560f44_3dcd4eb8","updated":"2020-08-02 08:09:00.000000000","message":"This should check the cinder if support reimage the root volume, yeah?","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"56a8d1fb93d0a5562f9906445787dfaddedef35e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"#. Provide a COMPUTE_REBUILD_BFV trait for knowing if the compute node can"},{"line_number":44,"context_line":"   support rebuild."},{"line_number":45,"context_line":"   if not, will raise RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. Is the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_f08126fd","line":46,"range":{"start_line":46,"start_character":3,"end_line":46,"end_character":6},"in_reply_to":"9f560f44_9de29a2e","updated":"2020-08-02 08:09:00.000000000","message":"Done","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00844b07b94959e8f9e5e5429b167208a03cf3b4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Note that when rebuilding with a new image, the request will be run through"},{"line_number":51,"context_line":"the scheduler against the current host to be consistent with image-backed"},{"line_number":52,"context_line":"rebuild with a new image. See `bug 1664931`_ for details."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. _bug 1664931: https://bugs.launchpad.net/nova/+bug/1664931"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Then the nova-compute manager will perform the following steps:"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_5dc12280","line":54,"range":{"start_line":50,"start_character":1,"end_line":54,"end_character":61},"updated":"2020-07-31 11:04:01.000000000","message":"this should only happen if the image is different the the current image to similarly be consitent as we only go to the schduler if the image changes in the non bfv case.","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"56a8d1fb93d0a5562f9906445787dfaddedef35e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Note that when rebuilding with a new image, the request will be run through"},{"line_number":51,"context_line":"the scheduler against the current host to be consistent with image-backed"},{"line_number":52,"context_line":"rebuild with a new image. See `bug 1664931`_ for details."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. _bug 1664931: https://bugs.launchpad.net/nova/+bug/1664931"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Then the nova-compute manager will perform the following steps:"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_107c9a1d","line":54,"range":{"start_line":50,"start_character":1,"end_line":54,"end_character":61},"in_reply_to":"9f560f44_5dc12280","updated":"2020-08-02 08:09:00.000000000","message":"ok, I delete it.","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00844b07b94959e8f9e5e5429b167208a03cf3b4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"},{"line_number":66,"context_line":"   when spawning the (rebuilt) guest VM and \"complete\" the attachment"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_139cbbbe","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":69},"updated":"2020-07-31 11:04:01.000000000","message":"an alternitive to poll would have been to add a new external event.\nlike we use for volume-extend already or interaction with neutron and cyborg\n\nhttps://github.com/openstack/nova/blob/e1d61f6bf41ffcfdb06df09433db7b984fa9f1bc/nova/api/openstack/compute/schemas/server_external_events.py#L57\n\n\nthat would be the more efficient way to do this as nova would just yield execution of the coroutenie and work on other task while it waited for cinder to complete the reimage.","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":27594,"name":"Jie Li","email":"lijie@unitedstack.com","username":"ramboman"},"change_message_id":"56a8d1fb93d0a5562f9906445787dfaddedef35e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   step."},{"line_number":61,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":62,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":63,"context_line":"#. Poll the volume status for completion (either success or failure)."},{"line_number":64,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":65,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"},{"line_number":66,"context_line":"   when spawning the (rebuilt) guest VM and \"complete\" the attachment"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f560f44_307f1e16","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":69},"in_reply_to":"9f560f44_139cbbbe","updated":"2020-08-02 08:09:00.000000000","message":"yes, you are right","commit_id":"c622aaed4815ccefcfe3a558a3d634c7a4a2e599"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7651d629e1fd274df501ee7bd4bcc93cc1b4a592","unresolved":false,"context_lines":[{"line_number":45,"context_line":"   if not, will raise RebuildVolumeBackedServerNotSupport exception."},{"line_number":46,"context_line":"#. If the cinder microversion is new enough to support reimage"},{"line_number":47,"context_line":"   the root volume. If not, will raise CinderAPIVersionNotAvailable"},{"line_number":48,"context_line":"   exception."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Then the nova-compute manager will perform the following steps:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f65232a_91cb0ba4","line":48,"updated":"2020-10-21 14:23:47.000000000","message":"note to me : since we only call Cinder API by the nova-compute service, this is async and we can\u0027t return a HTTP400 to the user like the existing behaviour.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d78138509bfc22339a8c01c72280dca6a2d60c39","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   step."},{"line_number":55,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":56,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":57,"context_line":"#. Add a new \u0027volume-reimage\u0027 external event to wait for cinder to"},{"line_number":58,"context_line":"   complete the reimage. Like we use for volume-extend."},{"line_number":59,"context_line":"   See `perform_resize_volume_online`_ for details."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":62,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9f560f44_065a9f81","line":59,"range":{"start_line":57,"start_character":2,"end_line":59,"end_character":51},"updated":"2020-08-03 11:28:36.000000000","message":"This means that the cinder-nova interaction has been changed. Does cinder devs are OK with this?","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f3da1127379b02fcc04c03555b2950405b2e1c4a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   step."},{"line_number":55,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":56,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":57,"context_line":"#. Add a new \u0027volume-reimage\u0027 external event to wait for cinder to"},{"line_number":58,"context_line":"   complete the reimage. Like we use for volume-extend."},{"line_number":59,"context_line":"   See `perform_resize_volume_online`_ for details."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":62,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9f560f44_6da40fa7","line":59,"range":{"start_line":57,"start_character":2,"end_line":59,"end_character":51},"in_reply_to":"9f560f44_065a9f81","updated":"2020-08-03 22:10:04.000000000","message":"this was the main change i asked for.\nyou are right that this changes the nova cinder interaction by replacing the poll with waiting for a notification\nbut since cinder already has the infrastructure to notify nova of a resize via an event it should be easy to extend that functionality this this new uscase and it will significantly reduce the load on the cinder api as a result.\n\nit would be good to have the cinder team reivew this change to ensure they are ok with this but the polling behavior before makes me somewhat uncomfortable with how this might scale which was one of the reason i asked for the cahgne.\nthe other was consitency with how we interfact with neutron and cyborg. this came up in the cyborg deiscussion which also originally suggested polling but that was repleaced with an arq bound event in a similar way so i think we should default to an external event where possible instead of polling.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9c3efd09439ff123950488b65a89e33628fdb80d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   step."},{"line_number":55,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":56,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":57,"context_line":"#. Add a new \u0027volume-reimage\u0027 external event to wait for cinder to"},{"line_number":58,"context_line":"   complete the reimage. Like we use for volume-extend."},{"line_number":59,"context_line":"   See `perform_resize_volume_online`_ for details."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":62,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9f560f44_ac929b55","line":59,"range":{"start_line":57,"start_character":2,"end_line":59,"end_character":51},"in_reply_to":"9f560f44_6da40fa7","updated":"2020-08-04 18:04:31.000000000","message":"We need to have some way to make sure that the cinder we\u0027re talking to is new enough to send that event, so that a new-nova-oldish-cinder configuration doesn\u0027t hang for a long time waiting for the event that will never come.\n\nI\u0027m pro-event, but just want to make sure that we have that base covered here. Apologies if I missed some detail that makes this obvious in the recent history.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9db8fb9064dc53fa7ffe6025d0cac31231b0239","unresolved":false,"context_lines":[{"line_number":54,"context_line":"   step."},{"line_number":55,"context_line":"#. Delete the existing volume attachment (the old one)."},{"line_number":56,"context_line":"#. Call the new ``os-reimage`` cinder API."},{"line_number":57,"context_line":"#. Add a new \u0027volume-reimage\u0027 external event to wait for cinder to"},{"line_number":58,"context_line":"   complete the reimage. Like we use for volume-extend."},{"line_number":59,"context_line":"   See `perform_resize_volume_online`_ for details."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#. Upon successful completion of the re-image operation, update the empty"},{"line_number":62,"context_line":"   volume attchment in Cinder, and then do the attachment on the Nova host"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9f560f44_b7dae474","line":59,"range":{"start_line":57,"start_character":2,"end_line":59,"end_character":51},"in_reply_to":"9f560f44_ac929b55","updated":"2020-08-04 18:58:52.000000000","message":"yes so the privious line is \"Call the new ``os-reimage`` cinder API.\"\n\nso i assume we woudl have to detect if that api exists proably via a microverions i guess. if that is being added in victoria and has not yet merged then we could jus tuse the microverion fo that new api to detect support.\n\nif the os-reimage api has been added alredy i guess we could still add a new microversion for sending the evnet.\n\nwe could fall back to polling i guess if the os-reimage is available but the event is not avaiable.\n\nlooking at the specs repo it was added in train.\n\nhttps://specs.openstack.org/openstack/cinder-specs/specs/train/add-volume-re-image-api.html\n\nhum looks like there is no microverions listed ?\nhttps://docs.openstack.org/cinder/latest/contributor/api_microversion_history.html#maximum-in-stein-and-train\n\ndid cinder forget to add one for this new volume action?","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7651d629e1fd274df501ee7bd4bcc93cc1b4a592","unresolved":false,"context_lines":[{"line_number":159,"context_line":"to indicate the new support, therefore users will not be able to leverage"},{"line_number":160,"context_line":"the feature until the nova-compute service hosting a volume-backed instance"},{"line_number":161,"context_line":"is upgraded."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Implementation"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f65232a_51e85315","line":162,"updated":"2020-10-21 14:23:47.000000000","message":"as Dan stated, there is a crucial upgrade path that needs to make sure that nova doesn\u0027t hold for an event that will never be triggered if Cinder isn\u0027t recent enough.\n\nThe problem is that you\u0027re not telling what becomes the instance after asking to be rebuilt if Cinder isn\u0027t recent enough. Should it turn back to an ACTIVE state or should we go into ERROR ? Somehow we\u0027ll stop in the middle of the operation and we would have deleted the old volume attachment already.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7651d629e1fd274df501ee7bd4bcc93cc1b4a592","unresolved":false,"context_lines":[{"line_number":182,"context_line":"* Create an empty attachment for the root volume so the volume"},{"line_number":183,"context_line":"  remains in-use during rebuild (we do this today already)."},{"line_number":184,"context_line":"* Delete the old volume attachment."},{"line_number":185,"context_line":"* Call the cinder API to re-image the volume."},{"line_number":186,"context_line":"* Update and complete the volume attachment once re-imaged."},{"line_number":187,"context_line":"* Adopt the new compute version."},{"line_number":188,"context_line":"* Adopt the new microversion in python-novaclient."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f65232a_11025bb5","line":185,"updated":"2020-10-21 14:23:47.000000000","message":"see, we\u0027re doing the Cinder call after a desctructive action, which is to delete the original volume attachment. I\u0027d prefer to switch both steps.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"911c9e64a3e994464d3205851fa82b93988993a9","unresolved":false,"context_lines":[{"line_number":182,"context_line":"* Create an empty attachment for the root volume so the volume"},{"line_number":183,"context_line":"  remains in-use during rebuild (we do this today already)."},{"line_number":184,"context_line":"* Delete the old volume attachment."},{"line_number":185,"context_line":"* Call the cinder API to re-image the volume."},{"line_number":186,"context_line":"* Update and complete the volume attachment once re-imaged."},{"line_number":187,"context_line":"* Adopt the new compute version."},{"line_number":188,"context_line":"* Adopt the new microversion in python-novaclient."}],"source_content_type":"text/x-rst","patch_set":11,"id":"be5f3651_978554ef","line":185,"in_reply_to":"3f65232a_11025bb5","updated":"2021-09-03 08:39:13.000000000","message":"I think we can do an initial query to cinder if it supports the reimage functionality then start with all these steps. The problem with switching steps is current implementation doesn\u0027t support re-image of in-use volume and sequence of these steps call reimage API with volume status as reserved.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f66340ba936be0228179a9bb0ab337838a91c151","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* API Reference"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":".. _note in the API reference: https://developer.openstack.org/api-ref/compute/?expanded\u003d#rebuild-server-rebuild-action"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"References"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9f560f44_871732ee","line":220,"updated":"2020-08-13 13:33:59.000000000","message":"In addition to that note, this sentence will have to be clarified: https://opendev.org/openstack/nova/src/commit/6d99aa68f1dd6b730ea9a4866afcc6514bfabddd/api-ref/source/servers-actions.inc#L541\n\nWhen the volume is re-imaged, all current content on the volume will be *destroyed*.  We need to be explicit about that, because people expect volumes to be \"persistent storage\", and any data they\u0027ve put into the volume is going to disappear when they rebuild the instance.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"7651d629e1fd274df501ee7bd4bcc93cc1b4a592","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* API Reference"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":".. _note in the API reference: https://developer.openstack.org/api-ref/compute/?expanded\u003d#rebuild-server-rebuild-action"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"References"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f65232a_d168e3bb","line":220,"in_reply_to":"9f560f44_871732ee","updated":"2020-10-21 14:23:47.000000000","message":"From an API perspective, a rebuild means a destructive/reconstructive action but I agree with you, this absolutely has to be explicitely documented in the API docs, in the ops docs and within the relnotes.","commit_id":"5ed946d72d70e5ed9aca74383a6d1bb26304bb2d"}]}
