)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ba20046b79d966528e0930d038ff149a3dcc4e00","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add extend volume completion action"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec proposes to use the assisted volume extend API that has been"},{"line_number":10,"context_line":"This blueprint proposes a new volume action that can be used by Nova"},{"line_number":11,"context_line":"to notify Cinder on success or failure when handling \"volume-extended\""},{"line_number":12,"context_line":"external server events."},{"line_number":13,"context_line":"The new volume action is used add support for extending attached volumes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"278f4750_1de39b15","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":23},"updated":"2022-12-14 14:35:02.000000000","message":"I feel some duplication here","commit_id":"90d1891e135bc96bfabfb83d20b4d0b5f1e2d3ab"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"5e8cbd825dafd9be7dc45d2170cb4d06c977e44d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add extend volume completion action"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec proposes to use the assisted volume extend API that has been"},{"line_number":10,"context_line":"This blueprint proposes a new volume action that can be used by Nova"},{"line_number":11,"context_line":"to notify Cinder on success or failure when handling \"volume-extended\""},{"line_number":12,"context_line":"external server events."},{"line_number":13,"context_line":"The new volume action is used add support for extending attached volumes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ce220b4d_6da2a4b1","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":23},"in_reply_to":"278f4750_1de39b15","updated":"2022-12-14 14:50:13.000000000","message":"Done","commit_id":"90d1891e135bc96bfabfb83d20b4d0b5f1e2d3ab"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64fc65ac43ff941d28fa0144fd0e7937ee374010","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"033db976_b542685c","updated":"2022-12-15 14:16:36.000000000","message":"i have skimmed over the spec but only likly looked at the glance details.\nthe nova interaction looks good to me so +1.\n\nthanks for addign the error flag to callabck.\nthe only other thing that came to mind in this regard was we optionally could provie a error message as to what failed but i dont think that is required.\n\nif cinder think that is useful the we can provide that form the nova side \ni.e. \"compute too old please try again after upgrading\" or somethign like that.\n\n","commit_id":"3cb14db451d82c72e5abf2c69c35b351901dc0df"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6c35024c_726dc87c","updated":"2022-12-21 13:58:50.000000000","message":"Few questions and comments inline.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"5c766014f775a07ebe6fde9a5838e9e8a1f7c4d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9bda3db7_4fa064b1","updated":"2022-12-22 19:19:57.000000000","message":"Sorry for the late reply, I had to go afk for a few hours.","commit_id":"5699cc6df51aecb93de50e9f3d15fac4889af896"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"72c9c7b1_fc6c9b46","updated":"2022-12-22 15:55:50.000000000","message":"Thanks for updating the spec. there is still one concern which is a major one. I was under the assumption that nova calls the new os-extend_volume_completion event and I believe that should be the behavior. see my comment inline.","commit_id":"5699cc6df51aecb93de50e9f3d15fac4889af896"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b989538f49f99db880ee8a480b6e91c5f48e59dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1532f211_b3a7b3b2","updated":"2022-12-23 20:41:12.000000000","message":"A few nits noted inline, but nothing to hold this up over.  LGTM.","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"690a21b179c821fadba3ad58845b998685295cae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0676aa6b_e63fd3c8","updated":"2022-12-23 13:15:21.000000000","message":"All my comments are addressed and rendering also looks good. Thanks Konrad!\n\nhttps://20603c9ea2566663da21-42644bdefd5590a8f7e4e2e8a8a4112f.ssl.cf1.rackcdn.com/866718/10/check/openstack-tox-docs/76441da/docs/specs/2023.1/extend-volume-completion-action.html#id3","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5e6d719a8282b9d5d1079f635a164762c60b2794","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"489f47db_0a1a6b5d","updated":"2022-12-24 17:40:04.000000000","message":"Carrying over Brian\u0027s +2 from last patchset. This looks good to go. Thanks Konrad!","commit_id":"52cf89058464e4d2f91286b7590d6aa493929deb"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"004291a38ef8c8abac31489f42becce8ebd755bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"72471b22_e607c081","updated":"2022-12-24 11:00:41.000000000","message":"I fixed the typo Brian found.","commit_id":"52cf89058464e4d2f91286b7590d6aa493929deb"}],"specs/2023.1/extend-volume-completion-action.rst":[{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"ee3d8873314215e589ded71f5336dbc1f41c3bc7","unresolved":true,"context_lines":[{"line_number":365,"context_line":"To allow for rolling updates, Nova always supports the previous version of"},{"line_number":366,"context_line":"nova-compute."},{"line_number":367,"context_line":"This can lead to a situation where the Nova API already supports the required"},{"line_number":368,"context_line":"microversion, but nova-compute does not yet use the new volume action."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"If one of the affected drivers extends an attached volume in this situation,"},{"line_number":371,"context_line":"the volume will be left in ``extending`` status, because nova-compute will not"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1e8a2aa8_bdc4e003","line":368,"range":{"start_line":368,"start_character":14,"end_line":368,"end_character":69},"updated":"2022-12-14 09:16:06.000000000","message":"Sean mooney suggests that Nova API could check the Compute version and respond with a failure if it doesn\u0027t match the requested microversion:\nhttps://review.opendev.org/c/openstack/nova-specs/+/855490/10/specs/2023.1/approved/use-extend-volume-completion-action.rst#210\n\nThis would probably solve the upgrade issue.","commit_id":"90d1891e135bc96bfabfb83d20b4d0b5f1e2d3ab"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"665e98d03aa25281259338c253819e8cd290c5b4","unresolved":false,"context_lines":[{"line_number":365,"context_line":"To allow for rolling updates, Nova always supports the previous version of"},{"line_number":366,"context_line":"nova-compute."},{"line_number":367,"context_line":"This can lead to a situation where the Nova API already supports the required"},{"line_number":368,"context_line":"microversion, but nova-compute does not yet use the new volume action."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"If one of the affected drivers extends an attached volume in this situation,"},{"line_number":371,"context_line":"the volume will be left in ``extending`` status, because nova-compute will not"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9b0058da_1bab1867","line":368,"range":{"start_line":368,"start_character":14,"end_line":368,"end_character":69},"in_reply_to":"1e8a2aa8_bdc4e003","updated":"2022-12-15 11:06:05.000000000","message":"I changed the Nova section to include this mechanism and removed this section, because now there shouldn\u0027t be any deployer impact.","commit_id":"90d1891e135bc96bfabfb83d20b4d0b5f1e2d3ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64fc65ac43ff941d28fa0144fd0e7937ee374010","unresolved":true,"context_lines":[{"line_number":183,"context_line":"If a target compute agent is too old to support the feature, the API will"},{"line_number":184,"context_line":"discard the event and call the ``os-extend_volume_completion`` volume action"},{"line_number":185,"context_line":"with ``\"error\": true``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Otherwise, the event will be forwarded to the compute agent."},{"line_number":188,"context_line":"When handling the ``volume-extended`` external server event, compute will"},{"line_number":189,"context_line":"check the volume status:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"e7cfa814_4a1a4e18","line":186,"updated":"2022-12-15 14:16:36.000000000","message":"+1","commit_id":"3cb14db451d82c72e5abf2c69c35b351901dc0df"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"ea6d84f09a3bbba0429a1cd5ff89c77295e96025","unresolved":false,"context_lines":[{"line_number":183,"context_line":"If a target compute agent is too old to support the feature, the API will"},{"line_number":184,"context_line":"discard the event and call the ``os-extend_volume_completion`` volume action"},{"line_number":185,"context_line":"with ``\"error\": true``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Otherwise, the event will be forwarded to the compute agent."},{"line_number":188,"context_line":"When handling the ``volume-extended`` external server event, compute will"},{"line_number":189,"context_line":"check the volume status:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"74b6c509_ccb2c7fa","line":186,"in_reply_to":"e7cfa814_4a1a4e18","updated":"2022-12-19 15:21:30.000000000","message":"Ack","commit_id":"3cb14db451d82c72e5abf2c69c35b351901dc0df"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"64fc65ac43ff941d28fa0144fd0e7937ee374010","unresolved":true,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"The changes in Nova are detailed in the current version of the Nova spec at"},{"line_number":206,"context_line":"[4]_."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Volume Drivers"},{"line_number":209,"context_line":"--------------"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7693ad0e_4868e7f9","line":207,"updated":"2022-12-15 14:16:36.000000000","message":"yep so the novas section is mostly in line with the nova spec + the outstandign comments.\n\nif you respin the nova spec today/tomorrow i expect it will be merged before the end of the week. there is general agreement on the direction.","commit_id":"3cb14db451d82c72e5abf2c69c35b351901dc0df"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"ea6d84f09a3bbba0429a1cd5ff89c77295e96025","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"The changes in Nova are detailed in the current version of the Nova spec at"},{"line_number":206,"context_line":"[4]_."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Volume Drivers"},{"line_number":209,"context_line":"--------------"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"cbcd5f9f_8d7d7e05","line":207,"in_reply_to":"7693ad0e_4868e7f9","updated":"2022-12-19 15:21:30.000000000","message":"Done","commit_id":"3cb14db451d82c72e5abf2c69c35b351901dc0df"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":30,"context_line":"``volume-extended`` external server event, where it is used to inform QEMU"},{"line_number":31,"context_line":"that the size of an attached volume has changed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"A previous attempt to make online resize available for the NFS driver tried to"},{"line_number":34,"context_line":"rely on this mechanism to have QEMU resize the volume [1]_."},{"line_number":35,"context_line":"One of the reasons it was abandoned, was the lack of feedback from Nova on the"},{"line_number":36,"context_line":"success of the operation and, as a result from this, the danger of leaving the"},{"line_number":37,"context_line":"volume object in an inconsistent state."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Use Cases"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7e5a59ab_da531c89","line":37,"range":{"start_line":33,"start_character":0,"end_line":37,"end_character":39},"updated":"2022-12-21 13:58:50.000000000","message":"same feedback as last spec, this better suits in the alternatives section","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":false,"context_lines":[{"line_number":30,"context_line":"``volume-extended`` external server event, where it is used to inform QEMU"},{"line_number":31,"context_line":"that the size of an attached volume has changed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"A previous attempt to make online resize available for the NFS driver tried to"},{"line_number":34,"context_line":"rely on this mechanism to have QEMU resize the volume [1]_."},{"line_number":35,"context_line":"One of the reasons it was abandoned, was the lack of feedback from Nova on the"},{"line_number":36,"context_line":"success of the operation and, as a result from this, the danger of leaving the"},{"line_number":37,"context_line":"volume object in an inconsistent state."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Use Cases"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"0b0eba5b_bd9e7a97","line":37,"range":{"start_line":33,"start_character":0,"end_line":37,"end_character":39},"in_reply_to":"7e5a59ab_da531c89","updated":"2022-12-22 13:33:58.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":63,"context_line":"A new API microversion is introduced, adding the new"},{"line_number":64,"context_line":"``os-extend_volume_completion`` volume action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."}],"source_content_type":"text/x-rst","patch_set":8,"id":"4e6d006f_fef10104","line":66,"range":{"start_line":66,"start_character":36,"end_line":66,"end_character":41},"updated":"2022-12-21 13:58:50.000000000","message":"is the actual error logged on nova side?","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":63,"context_line":"A new API microversion is introduced, adding the new"},{"line_number":64,"context_line":"``os-extend_volume_completion`` volume action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."}],"source_content_type":"text/x-rst","patch_set":8,"id":"595ad036_fc0e786e","line":66,"range":{"start_line":66,"start_character":36,"end_line":66,"end_character":41},"in_reply_to":"4e6d006f_fef10104","updated":"2022-12-21 16:06:04.000000000","message":"yes.\nSean Mooney has suggested we could alternatively add an error string to thze action: https://review.opendev.org/c/openstack/cinder-specs/+/866718/comments/033db976_b542685c\n\nBut the reason for a resize failure is not visible to the user anyway, so I thought we could just as well log the actual error on Nova\u0027s side and have Cinder log a generic error with the suggestion to check the Nova log.\nos-migrate_volume_completion does not have an error string either.\n\nI can add one if you want, though.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[{"line_number":63,"context_line":"A new API microversion is introduced, adding the new"},{"line_number":64,"context_line":"``os-extend_volume_completion`` volume action."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."}],"source_content_type":"text/x-rst","patch_set":8,"id":"e7fd750d_cc66a711","line":66,"range":{"start_line":66,"start_character":36,"end_line":66,"end_character":41},"in_reply_to":"595ad036_fc0e786e","updated":"2022-12-22 15:55:50.000000000","message":"Nova side should be good. we just want to log it at at least one place so operators will get to know why the operation failed.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"15bc9a4f_d5e6f0e3","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"updated":"2022-12-21 13:58:50.000000000","message":"We will need a new policy for this which should be mentioned here. I suppose it will be basically ``role:admin``.\nDoes nova has enough priviledges in the operation to call an admin API? I know we do it in migrate volume but it\u0027s a admin only operation","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"203aac91_4683e54e","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"15bc9a4f_d5e6f0e3","updated":"2022-12-21 16:06:04.000000000","message":"Maybe I should be less specific here, and instead of requiring admin permissions write something like:\n\"It is intended to be used exclusively by Nova to notify Cinder and an appropriate policy will be added to enforce this.\"","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"5c766014f775a07ebe6fde9a5838e9e8a1f7c4d4","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"2a579f98_51ab7bbc","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"1b0c5678_66298633","updated":"2022-12-22 19:19:57.000000000","message":"I will try to find this out until tomorrow.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ae968667_7e9dd72f","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"203aac91_4683e54e","updated":"2022-12-22 13:33:58.000000000","message":"I reworded it like this now.\nIs this okay, or do I need to be more specific?","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"8d7c84ad76dcd685e21e40b0d0b5652148c97285","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"4a0de26c_7da36889","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"2a579f98_51ab7bbc","updated":"2022-12-23 11:15:44.000000000","message":"So, Nova\u0027s `os-server-external-events` API already requires the admin role already, so it should have enough priviledges to call another admin API.\nRight now, I can\u0027t find where the privileges get elevated in Cinder, though.\n\nBtw. the same is true for Novas `os-assisted-volume-snapshots` which calls Cinder\u0027s `os-update_snapshot_status`: both require the admin role, while snapshot creation itself does not.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"690a21b179c821fadba3ad58845b998685295cae","unresolved":false,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a9963cc_e3f8d13e","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"4a0de26c_7da36889","updated":"2022-12-23 13:15:21.000000000","message":"Ack, sounds good then.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"31fa4e006e2e08dc6316271f6e2efc7056d1679b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"f7f57b79_9445924e","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"6e11582d_ec23ab3a","updated":"2023-01-04 09:52:05.000000000","message":"The merged version of this spec doesn\u0027t call for admin role anymore, but just for an appropriate policy to ensure that only Nova can call this.\nSo the specifics of the policy are now a choice of implementation.\n\nHowever, I haven\u0027t been able to find any information on whether Cinder will even support the service role in antelope.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5d483eb3c3aa9c30687dfaf510c7550c26f3e17a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6e11582d_ec23ab3a","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"7a9963cc_e3f8d13e","updated":"2023-01-03 18:14:47.000000000","message":"so technially this should use the service role by default alternitivly  admin_or_service could be supported as a transtionay step until the new service role is properly supported. the impoant thing is that project member or project reader should be insuffince to call this api in the default config.\n\noperators can always change that but i think the working has captured that this is intended to be a service to service api.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":true,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1b0c5678_66298633","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"ae968667_7e9dd72f","updated":"2022-12-22 15:55:50.000000000","message":"This should be good but my question still stands,\n\n\"Does nova has enough priviledges in the operation to call an admin API? I know we do it in migrate volume but it\u0027s a admin only operation\"","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"05c3c38b4fc71fe4c274c77f948827c545d91dea","unresolved":false,"context_lines":[{"line_number":66,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":67,"context_line":"failure to extend the attached volume."},{"line_number":68,"context_line":"It is intended to be used exclusively by Nova to notify Cinder and it will"},{"line_number":69,"context_line":"require admin permissions to be called."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"API.extend_volume_completion"},{"line_number":72,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"306d785e_beffe404","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":39},"in_reply_to":"f7f57b79_9445924e","updated":"2023-01-09 17:40:32.000000000","message":"that is part of the phase 2 of the rbac comunity goal\n\nhttps://github.com/openstack/governance/blob/master/goals/selected/consistent-and-secure-rbac.rst#phase-2\n\nall project are expect to start implemnting phase 2 and 3 in antelope/2023.1 and complete them by 2023.2 or bobcat\n\nhttps://github.com/openstack/governance/blob/master/goals/selected/consistent-and-secure-rbac.rst#20231-release-timeline\nhttps://github.com/openstack/governance/blob/master/goals/selected/consistent-and-secure-rbac.rst#20232-release-timeline\n\nso yes cinder should be adding service user this cycle and the manager role if it is apllicable in 2023.2","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The behavior of this method depends heavily on the ``error`` argument:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* If ``error`` is ``True``, the method will roll back the quota reservations,"},{"line_number":111,"context_line":"  set the volume status to ``error_extending``, and log the error."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* If ``error`` is ``False``, it will finalize the quota reservation, update"},{"line_number":114,"context_line":"  the size field of the volume to the new size, and reset the volume status to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3256969d_d29434f9","line":111,"range":{"start_line":110,"start_character":2,"end_line":111,"end_character":66},"updated":"2022-12-21 13:58:50.000000000","message":"We should account for cases on the nova side when we\u0027ve extended the volume and fail after that, then nova needs to rollback the size since we can\u0027t/don\u0027t do anything on cinder side but it\u0027s a nova spec detail.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The behavior of this method depends heavily on the ``error`` argument:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* If ``error`` is ``True``, the method will roll back the quota reservations,"},{"line_number":111,"context_line":"  set the volume status to ``error_extending``, and log the error."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* If ``error`` is ``False``, it will finalize the quota reservation, update"},{"line_number":114,"context_line":"  the size field of the volume to the new size, and reset the volume status to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"d9a9968b_23e43ab3","line":111,"range":{"start_line":110,"start_character":2,"end_line":111,"end_character":66},"in_reply_to":"3256969d_d29434f9","updated":"2022-12-21 16:06:04.000000000","message":"I\u0027m not sure what you mean.\n\nWith an FS driver, Nova will send os-extend_volume_completion(error\u003dTrue) if anything goes wrong.\n\nWith other drivers, an error in Nova does not impact the success of the extend operation (it might just mean that the instance can only access the volume at it\u0027s old size) and there is no need to rollback.\n\nIf Nova fails to call os-extend_volume_completion then there isn\u0027t a lot we can do, unfortunately.\nAn admin will have to reset the volume status and retry the resize.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The behavior of this method depends heavily on the ``error`` argument:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* If ``error`` is ``True``, the method will roll back the quota reservations,"},{"line_number":111,"context_line":"  set the volume status to ``error_extending``, and log the error."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* If ``error`` is ``False``, it will finalize the quota reservation, update"},{"line_number":114,"context_line":"  the size field of the volume to the new size, and reset the volume status to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"e8a8c3c1_dd138c33","line":111,"range":{"start_line":110,"start_character":2,"end_line":111,"end_character":66},"in_reply_to":"d9a9968b_23e43ab3","updated":"2022-12-22 15:55:50.000000000","message":"That answers all my questions thanks.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":135,"context_line":"exception if the volume to be resized is attached, causing the operation to"},{"line_number":136,"context_line":"fail."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Those checks will be removed."},{"line_number":139,"context_line":"Instead, the drivers will catch any exceptions resulting from the volume files"},{"line_number":140,"context_line":"being locked (see the proposed change to ``nfs.py`` in [1]_ for an example on"},{"line_number":141,"context_line":"how to do that), and notify the volume manager that feedback from Nova is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"78b690f2_96b1fcde","line":138,"range":{"start_line":138,"start_character":0,"end_line":138,"end_character":29},"updated":"2022-12-21 13:58:50.000000000","message":"move this to L#136 with the paragraph related to this.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":false,"context_lines":[{"line_number":135,"context_line":"exception if the volume to be resized is attached, causing the operation to"},{"line_number":136,"context_line":"fail."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Those checks will be removed."},{"line_number":139,"context_line":"Instead, the drivers will catch any exceptions resulting from the volume files"},{"line_number":140,"context_line":"being locked (see the proposed change to ``nfs.py`` in [1]_ for an example on"},{"line_number":141,"context_line":"how to do that), and notify the volume manager that feedback from Nova is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"e500af7b_c7ebfea5","line":138,"range":{"start_line":138,"start_character":0,"end_line":138,"end_character":29},"in_reply_to":"78b690f2_96b1fcde","updated":"2022-12-22 13:33:58.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":154,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse``."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"* If the call succeeds, and the volume is attached,"},{"line_number":157,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse`` and Nova"},{"line_number":158,"context_line":"  will be notified with the external server event."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* If the driver notifies the volume manager that a response from Nova is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fe42a4d4_4a421825","line":157,"range":{"start_line":157,"start_character":2,"end_line":157,"end_character":45},"updated":"2022-12-21 13:58:50.000000000","message":"We should differentiate which condition is for FS drivers and which are not. This is clearly for a non-FS driver.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"690a21b179c821fadba3ad58845b998685295cae","unresolved":false,"context_lines":[{"line_number":154,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse``."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"* If the call succeeds, and the volume is attached,"},{"line_number":157,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse`` and Nova"},{"line_number":158,"context_line":"  will be notified with the external server event."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* If the driver notifies the volume manager that a response from Nova is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"e79b0b83_95f2a11f","line":157,"range":{"start_line":157,"start_character":2,"end_line":157,"end_character":45},"in_reply_to":"d13f738b_460f1273","updated":"2022-12-23 13:15:21.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":true,"context_lines":[{"line_number":154,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse``."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"* If the call succeeds, and the volume is attached,"},{"line_number":157,"context_line":"  ``extend_volume_completion`` will be called with ``error\u003dFalse`` and Nova"},{"line_number":158,"context_line":"  will be notified with the external server event."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* If the driver notifies the volume manager that a response from Nova is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"d13f738b_460f1273","line":157,"range":{"start_line":157,"start_character":2,"end_line":157,"end_character":45},"in_reply_to":"fe42a4d4_4a421825","updated":"2022-12-22 13:33:58.000000000","message":"I separated the cases that match the old (offline/non-FS) behavior from the ones for the new online FS behavior to try and differentiate it better.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"c40cb589_4b334098","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"updated":"2022-12-21 13:58:50.000000000","message":"IIUC, calling external events is a async operation and nova will be  extend_volume_completion. If that\u0027s the case, we need to rephrase this since it looks like cinder will be calling extend_volume_completion in this case","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"8d7c84ad76dcd685e21e40b0d0b5652148c97285","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"73b662b3_43b53750","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"222813ac_f21d86ff","updated":"2022-12-23 11:15:44.000000000","message":"I have changed the paragraph to also describe the expected behavior if the event is submitted to Nova successfully.\nI hope this clears things up a bit.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"4163bd38_c5c08dbc","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"2db34200_215c3b7b","updated":"2022-12-22 15:55:50.000000000","message":"I\u0027m even more confused now. if cinder is going to call the `extend_volume_completion`, why do we need a new microversion and a new `os-extend_volume_completion` volume action?\nIt only makes sense if nova calls it.\nAlso we don\u0027t know when nova will complete the extend or if it will complete it successfully or not after it accepts the event. If nova fails and we extend the size here, it doesn\u0027t look like a good case.\nIMO nova should be the one calling this new volume action via REST API like we do for migrate volume completion","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"5c766014f775a07ebe6fde9a5838e9e8a1f7c4d4","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"222813ac_f21d86ff","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"4163bd38_c5c08dbc","updated":"2022-12-22 19:19:57.000000000","message":"Of course Nova calls the os-extend_volume_completion action, as described in the \"Nova\" subsection!\n\nThe paragraph you are commenting on describes the \"VolumeManager.extend_volume()\" method using the \"VolumeManager.extend_volume_completion()\" method to rollback when it can\u0027t submit the event to Nova.\n\nWhat is missing in the spec is the following:\nIf no such error is encountered, then the event has been successfully submitted to Nova, and we can expect Nova to respond.\nThe \"VolumeManager.extend_volume()\" method will now return normally.\nThe Volume will be left in status \"extending\", until Nova eventually responds with the os-extend_volume_completion action.\n\nThis part of the behavior was left out because it felt obvious to me, which it isn\u0027t, of course. \nSorry about that!\nI will update this subsection to make this explicit.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"690a21b179c821fadba3ad58845b998685295cae","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cb151042_67c54f00","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"73b662b3_43b53750","updated":"2022-12-23 13:15:21.000000000","message":"Looks better now, thanks","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"2db34200_215c3b7b","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"8d3fe825_7505155e","updated":"2022-12-22 13:33:58.000000000","message":"I tried tried to reword that paragraph to make that more clear.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  with the new Nova API microversion proposed in [4]_, making sure that Nova"},{"line_number":177,"context_line":"  supports using the ``os-extend_volume_completion`` action."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"  If the required API version is not yet supported by Nova, or if calling the"},{"line_number":180,"context_line":"  external server event API fails for other reasons, the admin metadata will"},{"line_number":181,"context_line":"  be cleaned up and ``extend_volume_completion`` will be called with"},{"line_number":182,"context_line":"  ``error\u003dTrue``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Visible Admin Metadata"},{"line_number":185,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"8d3fe825_7505155e","line":182,"range":{"start_line":179,"start_character":63,"end_line":182,"end_character":17},"in_reply_to":"c40cb589_4b334098","updated":"2022-12-21 16:06:04.000000000","message":"It is indeed Cinder calling extend_volume_completion here.\n\nThe external events API is asynchronous, but it respond 200 if the events are accepted.\nIt also has error responses like 403 and 404, and if we receive something like that, Cinder should not wait for a callback from Nova but should rollback the operation.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":187,"context_line":"Admin metadata of volumes is not visible to clients, but Cinder supports"},{"line_number":188,"context_line":"mapping select keys to the regular metadata."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"The key ``extend_new_size`` will be added to the list of visible admin"},{"line_number":191,"context_line":"metadata in ``cinder/api/api_utils.py``, so that Nova is able to read the"},{"line_number":192,"context_line":"target size of the extend operation."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"OpenStack SDK"}],"source_content_type":"text/x-rst","patch_set":8,"id":"2a63728f_caf8daf2","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":8},"updated":"2022-12-21 13:58:50.000000000","message":"do you mean the volume_metadata?\nI think there is no point to keep this info in admin metadata if we are going to make it visible for nova/end-users so we can just mention volume metadata instead of visible admin metadata.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[{"line_number":187,"context_line":"Admin metadata of volumes is not visible to clients, but Cinder supports"},{"line_number":188,"context_line":"mapping select keys to the regular metadata."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"The key ``extend_new_size`` will be added to the list of visible admin"},{"line_number":191,"context_line":"metadata in ``cinder/api/api_utils.py``, so that Nova is able to read the"},{"line_number":192,"context_line":"target size of the extend operation."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"OpenStack SDK"}],"source_content_type":"text/x-rst","patch_set":8,"id":"4fa00b89_7fd2ccde","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":8},"in_reply_to":"006c4812_9cfb22ed","updated":"2022-12-22 15:55:50.000000000","message":"sounds reasonable.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":187,"context_line":"Admin metadata of volumes is not visible to clients, but Cinder supports"},{"line_number":188,"context_line":"mapping select keys to the regular metadata."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"The key ``extend_new_size`` will be added to the list of visible admin"},{"line_number":191,"context_line":"metadata in ``cinder/api/api_utils.py``, so that Nova is able to read the"},{"line_number":192,"context_line":"target size of the extend operation."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"OpenStack SDK"}],"source_content_type":"text/x-rst","patch_set":8,"id":"8123b808_bd1ed809","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":8},"in_reply_to":"2a63728f_caf8daf2","updated":"2022-12-21 16:06:04.000000000","message":"The concern is that the regular metadata is editable by users.\nIf a malicious user is fast enough, they could edit the target size before Nova resizes the volume, thus bypassing their quota.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":true,"context_lines":[{"line_number":187,"context_line":"Admin metadata of volumes is not visible to clients, but Cinder supports"},{"line_number":188,"context_line":"mapping select keys to the regular metadata."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"The key ``extend_new_size`` will be added to the list of visible admin"},{"line_number":191,"context_line":"metadata in ``cinder/api/api_utils.py``, so that Nova is able to read the"},{"line_number":192,"context_line":"target size of the extend operation."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"OpenStack SDK"}],"source_content_type":"text/x-rst","patch_set":8,"id":"006c4812_9cfb22ed","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":8},"in_reply_to":"8123b808_bd1ed809","updated":"2022-12-22 13:33:58.000000000","message":"I added that reasoning to the section.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":232,"context_line":"---------------"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"When resetting from status ``extending``, the ``os-reset_status`` volume"},{"line_number":235,"context_line":"action will check for the ``extend_reservations`` key in the admin metadata."},{"line_number":236,"context_line":"If it finds quota reservation keys, it will try to roll them back."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is done to avoid a pile up of quota reservations in case communication"}],"source_content_type":"text/x-rst","patch_set":8,"id":"2134a570_f5f988c9","line":235,"range":{"start_line":235,"start_character":26,"end_line":235,"end_character":49},"updated":"2022-12-21 13:58:50.000000000","message":"what about ``extend_new_size``?","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d929f9e6926cbf2fbb1e07ab3a439c219df7dcf0","unresolved":true,"context_lines":[{"line_number":232,"context_line":"---------------"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"When resetting from status ``extending``, the ``os-reset_status`` volume"},{"line_number":235,"context_line":"action will check for the ``extend_reservations`` key in the admin metadata."},{"line_number":236,"context_line":"If it finds quota reservation keys, it will try to roll them back."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is done to avoid a pile up of quota reservations in case communication"}],"source_content_type":"text/x-rst","patch_set":8,"id":"491ae103_6ee40f04","line":235,"range":{"start_line":235,"start_character":26,"end_line":235,"end_character":49},"in_reply_to":"2134a570_f5f988c9","updated":"2022-12-21 16:06:04.000000000","message":"The main concern here was that unresolved quota reservations could block the user from using their full quota until they expire.\n\nThe metadata keys themselves shouldn\u0027t do any harm, and will be overwritten and then cleaned up when the resize is retried.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":true,"context_lines":[{"line_number":232,"context_line":"---------------"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"When resetting from status ``extending``, the ``os-reset_status`` volume"},{"line_number":235,"context_line":"action will check for the ``extend_reservations`` key in the admin metadata."},{"line_number":236,"context_line":"If it finds quota reservation keys, it will try to roll them back."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is done to avoid a pile up of quota reservations in case communication"}],"source_content_type":"text/x-rst","patch_set":8,"id":"576a9279_b7638b7b","line":235,"range":{"start_line":235,"start_character":26,"end_line":235,"end_character":49},"in_reply_to":"491ae103_6ee40f04","updated":"2022-12-22 13:33:58.000000000","message":"I have changed the section so that both keys are now removed from the admin metadata by os-reset_status.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[{"line_number":232,"context_line":"---------------"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"When resetting from status ``extending``, the ``os-reset_status`` volume"},{"line_number":235,"context_line":"action will check for the ``extend_reservations`` key in the admin metadata."},{"line_number":236,"context_line":"If it finds quota reservation keys, it will try to roll them back."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is done to avoid a pile up of quota reservations in case communication"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cbe24618_26c3a0da","line":235,"range":{"start_line":235,"start_character":26,"end_line":235,"end_character":49},"in_reply_to":"576a9279_b7638b7b","updated":"2022-12-22 15:55:50.000000000","message":"I understand the reason to remove extend_reservations but even keeping extend_new_size might confuse operators as to why it suddenly exists in their volume and keeping it doesn\u0027t do us any benefit.\nMarking as resolved as this is changed.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":297,"context_line":"  This would be possible, but updating the size field only after the volume"},{"line_number":298,"context_line":"  was successfully extended seems like a cleaner solution."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"* We could also extend the external server event API to accept additional data"},{"line_number":301,"context_line":"  for events, and use this to communicate the new size to Nova."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"  This option was judged favorably by reviewers on the previous version of"},{"line_number":304,"context_line":"  this spec, [2]_, but it would be a more complex change to the Nova API."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fe88b8cc_fe005b34","line":301,"range":{"start_line":300,"start_character":2,"end_line":301,"end_character":63},"updated":"2022-12-21 13:58:50.000000000","message":"+1. This is out of the scope of the feature we\u0027re trying to implement but this is much cleaner than nova relying on volume metadata fields which then again needs to be visible by non-admins.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c6ea1ae51c513bba0a7e85b1b5e12518f82d0502","unresolved":false,"context_lines":[{"line_number":297,"context_line":"  This would be possible, but updating the size field only after the volume"},{"line_number":298,"context_line":"  was successfully extended seems like a cleaner solution."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"* We could also extend the external server event API to accept additional data"},{"line_number":301,"context_line":"  for events, and use this to communicate the new size to Nova."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"  This option was judged favorably by reviewers on the previous version of"},{"line_number":304,"context_line":"  this spec, [2]_, but it would be a more complex change to the Nova API."}],"source_content_type":"text/x-rst","patch_set":8,"id":"192b070d_52185557","line":301,"range":{"start_line":300,"start_character":2,"end_line":301,"end_character":63},"in_reply_to":"fe88b8cc_fe005b34","updated":"2022-12-22 15:55:50.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":389,"context_line":""},{"line_number":390,"context_line":"* Move extend completion code from ``VolumeManager.extend_volume`` to new"},{"line_number":391,"context_line":"  method and add tests."},{"line_number":392,"context_line":"* Create new volume action and add tests."},{"line_number":393,"context_line":"* Add OpenStack SDK support."},{"line_number":394,"context_line":"* Add Nova support."},{"line_number":395,"context_line":"* Update drivers to use the feature."}],"source_content_type":"text/x-rst","patch_set":8,"id":"6bf3773c_13b3d426","line":392,"range":{"start_line":392,"start_character":2,"end_line":392,"end_character":41},"updated":"2022-12-21 13:58:50.000000000","message":"mention that we will need to add a new microversion for this\nAdd a new microversion for the new ``os-extend_volume_completion`` action.","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":false,"context_lines":[{"line_number":389,"context_line":""},{"line_number":390,"context_line":"* Move extend completion code from ``VolumeManager.extend_volume`` to new"},{"line_number":391,"context_line":"  method and add tests."},{"line_number":392,"context_line":"* Create new volume action and add tests."},{"line_number":393,"context_line":"* Add OpenStack SDK support."},{"line_number":394,"context_line":"* Add Nova support."},{"line_number":395,"context_line":"* Update drivers to use the feature."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9fd198c2_eb236970","line":392,"range":{"start_line":392,"start_character":2,"end_line":392,"end_character":41},"in_reply_to":"6bf3773c_13b3d426","updated":"2022-12-22 13:33:58.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"94403f7ee929bee42c0149c722ca2d080b6ac3a6","unresolved":true,"context_lines":[{"line_number":406,"context_line":"responses."},{"line_number":407,"context_line":"Tests for ``VolumeManager.extend_volume`` will test all the code paths"},{"line_number":408,"context_line":"described in `VolumeManager.extend_volume`_."},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Documentation Impact"},{"line_number":411,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5c2fe19d_1819435b","line":409,"updated":"2022-12-21 13:58:50.000000000","message":"We also need tempest integration test for the whole operation and interaction between nova and cinder","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"6cff1a5153cf40a46a82bf07d9bc30f6ce727627","unresolved":false,"context_lines":[{"line_number":406,"context_line":"responses."},{"line_number":407,"context_line":"Tests for ``VolumeManager.extend_volume`` will test all the code paths"},{"line_number":408,"context_line":"described in `VolumeManager.extend_volume`_."},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Documentation Impact"},{"line_number":411,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"f9ff9f89_4ff50757","line":409,"in_reply_to":"5c2fe19d_1819435b","updated":"2022-12-22 13:33:58.000000000","message":"Done","commit_id":"a354d3643190f7f94e2d040efc4476d7b82c4c05"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b989538f49f99db880ee8a480b6e91c5f48e59dc","unresolved":true,"context_lines":[{"line_number":64,"context_line":"A new API microversion is introduced, adding the new"},{"line_number":65,"context_line":"``os-extend_volume_completion`` volume action."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":68,"context_line":"failure to extend the attached volume."},{"line_number":69,"context_line":"It is intended to be used exclusively by Nova to notify Cinder, and an"},{"line_number":70,"context_line":"appropriate policy will be added to enforce this."}],"source_content_type":"text/x-rst","patch_set":10,"id":"6fa8c52b_8818afe9","line":67,"range":{"start_line":67,"start_character":34,"end_line":67,"end_character":43},"updated":"2022-12-23 20:41:12.000000000","message":"This is kind of pessimistic ... why not have a ``success`` argument?  😊","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"004291a38ef8c8abac31489f42becce8ebd755bc","unresolved":true,"context_lines":[{"line_number":64,"context_line":"A new API microversion is introduced, adding the new"},{"line_number":65,"context_line":"``os-extend_volume_completion`` volume action."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"The volume action takes a boolean ``error`` argument, indicating success or"},{"line_number":68,"context_line":"failure to extend the attached volume."},{"line_number":69,"context_line":"It is intended to be used exclusively by Nova to notify Cinder, and an"},{"line_number":70,"context_line":"appropriate policy will be added to enforce this."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9b275dd9_dc3fec15","line":67,"range":{"start_line":67,"start_character":34,"end_line":67,"end_character":43},"in_reply_to":"6fa8c52b_8818afe9","updated":"2022-12-24 11:00:41.000000000","message":"`success` would work too, of course!\nI was following the naming from `os-migrate_volume_completion`.","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b989538f49f99db880ee8a480b6e91c5f48e59dc","unresolved":true,"context_lines":[{"line_number":84,"context_line":"The new method expects the volume to have status ``extending``, and to have the"},{"line_number":85,"context_line":"keys ``extend_reservations`` and ``extend_new_size`` in its admin metadata."},{"line_number":86,"context_line":"The first should hold a list of quota reservations, and the second should"},{"line_number":87,"context_line":"contain an integer larger than the volumes current size, representing the new"},{"line_number":88,"context_line":"size after extending."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"If these conditions are not met, then an ``InvalidVolume`` exception will be"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bb3c7e80_cf65bf4c","line":87,"range":{"start_line":87,"start_character":35,"end_line":87,"end_character":42},"updated":"2022-12-23 20:41:12.000000000","message":"typo: volume\u0027s","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"004291a38ef8c8abac31489f42becce8ebd755bc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"The new method expects the volume to have status ``extending``, and to have the"},{"line_number":85,"context_line":"keys ``extend_reservations`` and ``extend_new_size`` in its admin metadata."},{"line_number":86,"context_line":"The first should hold a list of quota reservations, and the second should"},{"line_number":87,"context_line":"contain an integer larger than the volumes current size, representing the new"},{"line_number":88,"context_line":"size after extending."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"If these conditions are not met, then an ``InvalidVolume`` exception will be"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5c9f08a0_2743b62c","line":87,"range":{"start_line":87,"start_character":35,"end_line":87,"end_character":42},"in_reply_to":"bb3c7e80_cf65bf4c","updated":"2022-12-24 11:00:41.000000000","message":"Done","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b989538f49f99db880ee8a480b6e91c5f48e59dc","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    This can happen if Nova doesn\u0027t support the required microversion yet, or"},{"line_number":198,"context_line":"    if the external event API responded with an error code such as ``403`` or"},{"line_number":199,"context_line":"    ``404``."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Visible Admin Metadata"},{"line_number":202,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"2911d498_0c5ec9f7","line":199,"updated":"2022-12-23 20:41:12.000000000","message":"or any 5xxx code","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"004291a38ef8c8abac31489f42becce8ebd755bc","unresolved":true,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    This can happen if Nova doesn\u0027t support the required microversion yet, or"},{"line_number":198,"context_line":"    if the external event API responded with an error code such as ``403`` or"},{"line_number":199,"context_line":"    ``404``."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Visible Admin Metadata"},{"line_number":202,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ec34c388_4bec184b","line":199,"in_reply_to":"2911d498_0c5ec9f7","updated":"2022-12-24 11:00:41.000000000","message":"Yes, those were just given as examples.","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b989538f49f99db880ee8a480b6e91c5f48e59dc","unresolved":true,"context_lines":[{"line_number":266,"context_line":"from the admin metadata."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Alternatives"},{"line_number":269,"context_line":"------------"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"* A previous change tried to use the ``volume-extended`` external server event"},{"line_number":272,"context_line":"  to support online extend for the NFS driver [1]_, but did not rely on"}],"source_content_type":"text/x-rst","patch_set":10,"id":"4edad347_ce9808f8","line":269,"updated":"2022-12-23 20:41:12.000000000","message":"Thanks for this extended discussion of the alternatives.","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"004291a38ef8c8abac31489f42becce8ebd755bc","unresolved":false,"context_lines":[{"line_number":266,"context_line":"from the admin metadata."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Alternatives"},{"line_number":269,"context_line":"------------"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"* A previous change tried to use the ``volume-extended`` external server event"},{"line_number":272,"context_line":"  to support online extend for the NFS driver [1]_, but did not rely on"}],"source_content_type":"text/x-rst","patch_set":10,"id":"0d9cedbc_b4886158","line":269,"in_reply_to":"4edad347_ce9808f8","updated":"2022-12-24 11:00:41.000000000","message":"Ack. It\u0027s already condensed from the previous discussion in [2].","commit_id":"26d9c6bac09fb5535dd28fa1aa7506b6206d9b6a"}]}
