)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5e49a6cf92d79800aac346adaa249ce8dc887cbd","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"242a0bab_ab8fe594","line":21,"updated":"2024-02-23 15:58:09.000000000","message":"that depend on this\nhttps://review.opendev.org/c/openstack/cinder/+/873557 which is not merged\nso this cant merge until both of those have merged and there is a release of the cinder client or sdk with that change.","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"f14e5e4803d5b47a15095116ee7ba93622690926","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"f427e35b_ab851efd","line":21,"in_reply_to":"242a0bab_ab8fe594","updated":"2024-02-26 09:02:41.000000000","message":"FYI, this patch is been merged now.\nThe cinderclient support is still open, but I hope I can get it merged today.\n\nAs I understand it, the client libraries will release with the feature freeze. Is there a way to get both of this into Caracal still?\nCould I maybe get an extension so this can merge after the client release?","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf6536f0f683dd621487ffaa62dd1c32b5b3047","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"d362fabb_d676397c","line":21,"in_reply_to":"39e23b3e_7050f05c","updated":"2024-06-17 12:21:11.000000000","message":"Done","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2f09163e562093bbe66112fa3752aa4d1122cf15","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bbbbb812_2d188942","line":21,"in_reply_to":"89a9629a_7199b234","updated":"2024-02-28 11:12:28.000000000","message":"Agreed with Sean, we\u0027ll see when it\u0027s released now that the cinderclient change is merged. Konrad, can you please do another revision for this patch ?","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"97d03b397bf9e41c83ec45dcfc5dec4f6bd8d6aa","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"39e23b3e_7050f05c","line":21,"in_reply_to":"bbbbb812_2d188942","updated":"2024-02-28 14:02:26.000000000","message":"So, I have removed the DEpends-On and updated the requirements.txt to require cinderclient\u003e\u003d9.5.0 (which I am guessing will be the next release version).\n\nOf course, all of the jobs will now be failing because the release does not exist yet.","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9d1a91ae7a76365bc88efbebcd2339db1db1ee68","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"89a9629a_7199b234","line":21,"in_reply_to":"e2da0bda_b3571b42","updated":"2024-02-27 12:05:59.000000000","message":"the nova change need to bump our min requirement for the cider client and wait for the release ot happen before it can merge.\n\nthat is missing form this patch.","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"88de02b6f6e7a42f56defaf0e4278ec9363dc0c2","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e2da0bda_b3571b42","line":21,"in_reply_to":"ede356ab_84e50f23","updated":"2024-02-27 11:51:06.000000000","message":"I enabled online volume extend testing for the devstack-plugin-nfs-tempest job:\nhttps://review.opendev.org/c/openstack/devstack-plugin-nfs/+/896196\n\nI had to add cinderclient to the reuired projects to make it work, though. It is currently marked as WIP because I will have to remove this when the cinderclient change is merged and released.\n\n(I will also have to change it to check for the release instead of the master branch)","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4044c4834577ba2ee84d338c23bb57b8378ed618","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Closes-Bug: #1843008"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: bp/assisted-volume-extend"},{"line_number":21,"context_line":"Depends-On: Ifdeab1a8cd634bbe63c25fae17448c0789b297c9"},{"line_number":22,"context_line":"Change-Id: Ifaca903a333b0b39ae87e6dc152b8fb2ec849989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ede356ab_84e50f23","line":21,"in_reply_to":"f427e35b_ab851efd","updated":"2024-02-27 11:18:46.000000000","message":"I still don\u0027t get how Tempest is able to test your own series with the depends-on on a cinderclient patch.\n\nDo we have any already existing test for it ?","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2cc3299fa970c97e73e81045417f2b4daea9134b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"808e6a2d_67327b73","updated":"2023-02-14 09:15:52.000000000","message":"@Konrad: we observer Feature Freeze in nova 16th of Feb. I see that the cinder dependency is not merged yet. So I\u0027m holding off the review here as I assume the cinder dependency will not land before nova FF. Let me know on #openstack-nova if you disagree or if the cinder situation changes.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"be975f0c_c7c1bc7e","updated":"2023-02-14 09:41:31.000000000","message":"At least I have some concerns with the cinderclient call parameters","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"9866cd8157f86da6fab8b9dc8f57f83658c51bd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8ccc3a57_8ffab931","updated":"2023-02-14 11:29:46.000000000","message":"I don\u0027t expect this or the cinder spec to make antelope FF so I set it to WIP for now.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2b78011ee415f9e6efb53027fe4e50583732df66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9e51ba3d_b181801b","updated":"2023-02-14 09:10:37.000000000","message":"recheck ceph multistore job is fixed","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"374982582a478d49f4dbf812a0ebd06ee3094a34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"32f5aac9_09e57a82","updated":"2023-04-04 08:20:22.000000000","message":"I fixed some issues and tried to improve the exception handling.\n\nI also re-proposed the specs for 2023.2, which need to be accepted first:\nhttps://review.opendev.org/c/openstack/nova-specs/+/877233\nhttps://review.opendev.org/c/openstack/cinder-specs/+/877230\n","commit_id":"f20485982e568dcd163f7b0da8a7ac3c3109b01e"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"cb9acfd0420d4908d9997984b5e345be49b4c2ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bb822512_33155659","updated":"2023-07-25 07:55:41.000000000","message":"This change incidentally also fixes Bug #1843008.\nShould I add this to the description and release notes of this change, or rather try to split the fix off into a separate change?","commit_id":"e9232ecd203abe1ad1bc38cd8bb394c584ff6ce9"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"52ba2f8f29fd9dd17e5a9384e0ac1cc29ffd2ebe","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e176ff35_0579da53","in_reply_to":"bb822512_33155659","updated":"2023-07-25 08:07:57.000000000","message":"(forgot to uncheck \"Resolved\", this is an open question)","commit_id":"e9232ecd203abe1ad1bc38cd8bb394c584ff6ce9"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6e23bc91_3ec75dbf","in_reply_to":"e176ff35_0579da53","updated":"2024-02-23 12:30:30.000000000","message":"I just added a release note now.","commit_id":"e9232ecd203abe1ad1bc38cd8bb394c584ff6ce9"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"493c2598_f37b53b2","updated":"2024-02-23 12:30:30.000000000","message":"I rebased the change and added some comments and cosmetic changes.\nI\u0027m also resolving a bunch of comments that are no longer relevant to the patch.","commit_id":"2017d74a7a18657b3fc2a4d704606c0cb5ec6b86"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf6536f0f683dd621487ffaa62dd1c32b5b3047","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"243a8830_1e2fbfea","updated":"2024-06-17 12:21:11.000000000","message":"not a fully review i just updated some of the done comments and quickly skimmed this","commit_id":"2358fbd9641b2b53b84e7a055e8908073d93a242"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"d87eb39800ffe67c7b856bb23d4c3864dffe0404","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5496da1f_81f22928","updated":"2024-06-17 19:12:18.000000000","message":"recheck tempest-integrated-compute timed out","commit_id":"1eff4eccf259fd850be0b64c2b6fab1548c9b7a8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"dba2feacdc843d931cf734325246df302b6aa17a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c81f28a8_9ee05d95","updated":"2025-11-12 19:45:34.000000000","message":"-1 for the early update of BDM\nanother comment is regarding the pending discussion for PTG (sorry for not being around in the past Cinder meetings)","commit_id":"81f7afdee009c69143bd697747ca26293347a380"},{"author":{"_account_id":25468,"name":"Michel Nederlof","email":"michel@nederlof.info","username":"pellucid"},"change_message_id":"e919c8ad1ee86a3c31686267e99d2948bb6407c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"433c9bdd_b70d477b","updated":"2026-02-03 10:39:47.000000000","message":"Hi, i found this issue with the patch today; if not all compute nodes are running the latest version, the call to notify cinder of the error is called wrong.","commit_id":"81f7afdee009c69143bd697747ca26293347a380"}],"nova/api/openstack/api_version_request.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":257,"context_line":"    * 2.95 - Evacuate will now stop instance at destination."},{"line_number":258,"context_line":"    * 2.96 - Update handling of ``volume-extended`` external server events to"},{"line_number":259,"context_line":"             call back to Cinder\u0027s ``os-extend_volume_completion`` action if"},{"line_number":260,"context_line":"             the volume status is ``extending``."},{"line_number":261,"context_line":"\"\"\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":1,"id":"c109e265_7dae580b","line":260,"updated":"2023-02-14 09:41:31.000000000","message":"you\u0027re lucky, no other accepted features are asking for a microversion so you shouldn\u0027t have a merge conflict if we merge another series before your own.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    * 2.95 - Evacuate will now stop instance at destination."},{"line_number":258,"context_line":"    * 2.96 - Update handling of ``volume-extended`` external server events to"},{"line_number":259,"context_line":"             call back to Cinder\u0027s ``os-extend_volume_completion`` action if"},{"line_number":260,"context_line":"             the volume status is ``extending``."},{"line_number":261,"context_line":"\"\"\""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":1,"id":"db54f2a0_ed006691","line":260,"in_reply_to":"c109e265_7dae580b","updated":"2024-02-23 12:30:30.000000000","message":"Acknowledged","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"}],"nova/api/openstack/compute/rest_api_version_history.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf6536f0f683dd621487ffaa62dd1c32b5b3047","unresolved":true,"context_lines":[{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":".. _microversion 2.97:"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"2.97 (Maximum in 2024.2 Dalmatian)"},{"line_number":1262,"context_line":"--------------------------------"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":"Handling of the ``volume-extended`` external server event is updated to call"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d02d61b7_0a52f969","line":1261,"range":{"start_line":1261,"start_character":5,"end_line":1261,"end_character":34},"updated":"2024-06-17 12:21:11.000000000","message":"nit: we normally add that at the end of cycle i belive.\nthis is technically correct hence nit not -1\n\nthere is technically no reason why this could not be moved with each microversion change but its a little odd ot advertise this before 2024.2 is feature frozen\n\nhttps://github.com/openstack/nova/commit/6f199b6b0c2a98b1fe56422cc8a5e5110c26d95b","commit_id":"2358fbd9641b2b53b84e7a055e8908073d93a242"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"38d9036d11373f5ea0c7ea49b7639b2026655616","unresolved":true,"context_lines":[{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":".. _microversion 2.97:"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"2.97 (Maximum in 2024.2 Dalmatian)"},{"line_number":1262,"context_line":"--------------------------------"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":"Handling of the ``volume-extended`` external server event is updated to call"}],"source_content_type":"text/x-rst","patch_set":7,"id":"f28f5312_68af465b","line":1261,"range":{"start_line":1261,"start_character":5,"end_line":1261,"end_character":34},"in_reply_to":"d02d61b7_0a52f969","updated":"2024-06-17 16:24:40.000000000","message":"Oh, I missed that the \"Maximum\" note was added separately on the previous micro-version.\n\nBut I had to change the line anyway, because the underline length didn\u0027t match, so I also removed the note now.","commit_id":"2358fbd9641b2b53b84e7a055e8908073d93a242"}],"nova/compute/api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":5895,"context_line":"                        nova_context.get_admin_context(), [\u0027nova-compute\u0027])"},{"line_number":5896,"context_line":"                    if min_ver \u003c MIN_COMPUTE_EXTEND_VOLUME_COMPLETION:"},{"line_number":5897,"context_line":"                        volume \u003d event.tag"},{"line_number":5898,"context_line":"                        LOG.warning(\"TODO\")"},{"line_number":5899,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5900,"context_line":"                        continue"},{"line_number":5901,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"09edf7ac_a9c53f81","line":5898,"updated":"2023-02-14 09:41:31.000000000","message":"From the spec, we said to discard the call with an error indeed \nhttps://specs.openstack.org/openstack/nova-specs/specs/2023.1/approved/use-extend-volume-completion-action.html#api","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"9866cd8157f86da6fab8b9dc8f57f83658c51bd4","unresolved":true,"context_lines":[{"line_number":5895,"context_line":"                        nova_context.get_admin_context(), [\u0027nova-compute\u0027])"},{"line_number":5896,"context_line":"                    if min_ver \u003c MIN_COMPUTE_EXTEND_VOLUME_COMPLETION:"},{"line_number":5897,"context_line":"                        volume \u003d event.tag"},{"line_number":5898,"context_line":"                        LOG.warning(\"TODO\")"},{"line_number":5899,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5900,"context_line":"                        continue"},{"line_number":5901,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"87c14909_6eb62df7","line":5898,"in_reply_to":"09edf7ac_a9c53f81","updated":"2023-02-14 11:29:46.000000000","message":"Sorry, I missed that LOG message.\nOtherwise, it matches the spec, from my understanding.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[{"line_number":5895,"context_line":"                        nova_context.get_admin_context(), [\u0027nova-compute\u0027])"},{"line_number":5896,"context_line":"                    if min_ver \u003c MIN_COMPUTE_EXTEND_VOLUME_COMPLETION:"},{"line_number":5897,"context_line":"                        volume \u003d event.tag"},{"line_number":5898,"context_line":"                        LOG.warning(\"TODO\")"},{"line_number":5899,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5900,"context_line":"                        continue"},{"line_number":5901,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6cf61876_d4730feb","line":5898,"in_reply_to":"68b4762c_67982433","updated":"2024-02-23 12:30:30.000000000","message":"There wasn\u0027t really a question or suggestion here, so I\u0027m marking this as resolved.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"374982582a478d49f4dbf812a0ebd06ee3094a34","unresolved":true,"context_lines":[{"line_number":5895,"context_line":"                        nova_context.get_admin_context(), [\u0027nova-compute\u0027])"},{"line_number":5896,"context_line":"                    if min_ver \u003c MIN_COMPUTE_EXTEND_VOLUME_COMPLETION:"},{"line_number":5897,"context_line":"                        volume \u003d event.tag"},{"line_number":5898,"context_line":"                        LOG.warning(\"TODO\")"},{"line_number":5899,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5900,"context_line":"                        continue"},{"line_number":5901,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"68b4762c_67982433","line":5898,"in_reply_to":"87c14909_6eb62df7","updated":"2023-04-04 08:20:22.000000000","message":"Added the missing Log message.\n\nUsing the volume action here to let Cinder know that Compute is too old was a suggestion from Sean on the spec. I should probably also catch and log errors from the volume action here, same as in the compute manager.\n\nAnother option would be to use the per-event response support of the external server event API to communicate missing support.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":25468,"name":"Michel Nederlof","email":"michel@nederlof.info","username":"pellucid"},"change_message_id":"e919c8ad1ee86a3c31686267e99d2948bb6407c1","unresolved":true,"context_lines":[{"line_number":5991,"context_line":"                        LOG.warning(\u0027Compute is too old to support extend \u0027"},{"line_number":5992,"context_line":"                                    \u0027volume completion. Notifying Cinder to \u0027"},{"line_number":5993,"context_line":"                                    \u0027abort the operation.\u0027)"},{"line_number":5994,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5995,"context_line":"                        continue"},{"line_number":5996,"context_line":""},{"line_number":5997,"context_line":"                # Volume extend is a user-initiated operation starting in the"}],"source_content_type":"text/x-python","patch_set":12,"id":"56f7afa0_03290fce","line":5994,"updated":"2026-02-03 10:39:47.000000000","message":"The call to cinder.extend_volume_completion here is raising an AttributeError, as the method is within `self.volume_api`.\n\nSo the call should be:\n```\n                        self.volume_api.extend_volume_completion(\n                            api_context, volume, error\u003dTrue\n                        )\n\n```","commit_id":"81f7afdee009c69143bd697747ca26293347a380"},{"author":{"_account_id":25468,"name":"Michel Nederlof","email":"michel@nederlof.info","username":"pellucid"},"change_message_id":"a4a8fefa4e0e8dffddb0cd9c1501e997eae7b9b6","unresolved":true,"context_lines":[{"line_number":5991,"context_line":"                        LOG.warning(\u0027Compute is too old to support extend \u0027"},{"line_number":5992,"context_line":"                                    \u0027volume completion. Notifying Cinder to \u0027"},{"line_number":5993,"context_line":"                                    \u0027abort the operation.\u0027)"},{"line_number":5994,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5995,"context_line":"                        continue"},{"line_number":5996,"context_line":""},{"line_number":5997,"context_line":"                # Volume extend is a user-initiated operation starting in the"}],"source_content_type":"text/x-python","patch_set":12,"id":"6c02bb09_2c80c649","line":5994,"in_reply_to":"08940626_dd2ef528","updated":"2026-02-11 20:42:06.000000000","message":"Good to know 😊\nFor now the current patch works, so looking forward to the future implementation!","commit_id":"81f7afdee009c69143bd697747ca26293347a380"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"786a36122f361d313710e1fd3fff088b131fec27","unresolved":true,"context_lines":[{"line_number":5991,"context_line":"                        LOG.warning(\u0027Compute is too old to support extend \u0027"},{"line_number":5992,"context_line":"                                    \u0027volume completion. Notifying Cinder to \u0027"},{"line_number":5993,"context_line":"                                    \u0027abort the operation.\u0027)"},{"line_number":5994,"context_line":"                        cinder.extend_volume_completion(volume, error\u003dTrue)"},{"line_number":5995,"context_line":"                        continue"},{"line_number":5996,"context_line":""},{"line_number":5997,"context_line":"                # Volume extend is a user-initiated operation starting in the"}],"source_content_type":"text/x-python","patch_set":12,"id":"08940626_dd2ef528","line":5994,"in_reply_to":"56f7afa0_03290fce","updated":"2026-02-11 13:36:37.000000000","message":"You are right, thank you for catching this!\n\n\nThe change in its current form is more or less obsolete though, so I have marked it as WIP for now.\nDuring PTG I got feedback from the Nova-Team that we should not use external instance events to extend attached volumes, but rather should introduce a dedicated API for that.\nI will update or replace this patch once we get a new spec accepted, and will include a fix for this issue if it is still relevant.\n\nYou can find the currently proposed spec here: https://review.opendev.org/c/openstack/nova-specs/+/949504","commit_id":"81f7afdee009c69143bd697747ca26293347a380"}],"nova/compute/manager.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":10818,"context_line":"                assert new_size \u003e\u003d volume[\u0027size\u0027]"},{"line_number":10819,"context_line":""},{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"660cccee_8e5d1a76","line":10821,"updated":"2023-02-14 09:41:31.000000000","message":"Well, could we check specific exceptions rather than just Exception ?","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[{"line_number":10818,"context_line":"                assert new_size \u003e\u003d volume[\u0027size\u0027]"},{"line_number":10819,"context_line":""},{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fcdfa1c0_e8f14be5","line":10821,"in_reply_to":"04c0e598_9a4f4daf","updated":"2024-02-23 12:30:30.000000000","message":"As the code in question was rewritten, and there was no further reply to this, I\u0027m marking it as resolved.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"374982582a478d49f4dbf812a0ebd06ee3094a34","unresolved":true,"context_lines":[{"line_number":10818,"context_line":"                assert new_size \u003e\u003d volume[\u0027size\u0027]"},{"line_number":10819,"context_line":""},{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"04c0e598_9a4f4daf","line":10821,"in_reply_to":"528134ed_045e7d1c","updated":"2023-04-04 08:20:22.000000000","message":"I rewrote this part to avoid the catch and reraise.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"9866cd8157f86da6fab8b9dc8f57f83658c51bd4","unresolved":true,"context_lines":[{"line_number":10818,"context_line":"                assert new_size \u003e\u003d volume[\u0027size\u0027]"},{"line_number":10819,"context_line":""},{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"528134ed_045e7d1c","line":10821,"in_reply_to":"660cccee_8e5d1a76","updated":"2023-02-14 11:29:46.000000000","message":"I wanted to avoid a false positive extend completion as much as possible, so at this point I think it makes sense to catch everything.\n\nHowever, looking at it now, I think it might be cleaner to get rid of the except-block and have the last statement in the try-block be something like `success \u003d True` and use that to correctly notify Cinder in the finally-block.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"},{"line_number":10825,"context_line":"                result \u003d \u0027failure\u0027 if error else \u0027success\u0027"},{"line_number":10826,"context_line":"                LOG.debug(\u0027Notifying Cinder of %(result)s to extend volume \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"70a26ba9_56413cc6","line":10823,"updated":"2023-02-14 09:41:31.000000000","message":"see, I\u0027d prefer to raise a specific Exception like\n\n  except (sth) as exc:\n    raise exceptions.ExtendVolumeException from exc","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[{"line_number":10820,"context_line":"                self._extend_volume(context, instance, volume, new_size)"},{"line_number":10821,"context_line":"            except Exception:"},{"line_number":10822,"context_line":"                error \u003d True"},{"line_number":10823,"context_line":"                raise"},{"line_number":10824,"context_line":"            finally:"},{"line_number":10825,"context_line":"                result \u003d \u0027failure\u0027 if error else \u0027success\u0027"},{"line_number":10826,"context_line":"                LOG.debug(\u0027Notifying Cinder of %(result)s to extend volume \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8f52dcc_f29ad187","line":10823,"in_reply_to":"70a26ba9_56413cc6","updated":"2024-02-23 12:30:30.000000000","message":"I refactored this part to no longer catch and re-raise.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":10828,"context_line":"                          {\u0027result\u0027: result, \u0027vol\u0027: extended_volume_id})"},{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"a9e2a2c4_a9b6b760","line":10831,"updated":"2023-02-14 09:41:31.000000000","message":"hmmm, ok, so it would just call self.volume_api.extend_vol_completion with either True or False ? (True meaning error ?) looks to me bizarre as an API call parameter.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"374982582a478d49f4dbf812a0ebd06ee3094a34","unresolved":true,"context_lines":[{"line_number":10828,"context_line":"                          {\u0027result\u0027: result, \u0027vol\u0027: extended_volume_id})"},{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7e1da102_dbdb8e42","line":10831,"in_reply_to":"0cb2af90_a8785fa4","updated":"2023-04-04 08:20:22.000000000","message":"This was also missing the context parameter (which I fixed), maybe that made it look extra weird.\nBut otherwise it\u0027s pretty much identical to the existing `migrate_volume_completion`.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"9866cd8157f86da6fab8b9dc8f57f83658c51bd4","unresolved":true,"context_lines":[{"line_number":10828,"context_line":"                          {\u0027result\u0027: result, \u0027vol\u0027: extended_volume_id})"},{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"0cb2af90_a8785fa4","line":10831,"in_reply_to":"a9e2a2c4_a9b6b760","updated":"2023-02-14 11:29:46.000000000","message":"Well, I tried to follow the existing migrate_volume_completion API, which has the same kind of boolean `error` parameter (plus one additional parameter that we don\u0027t need here).\n\nThis is part of the spec too, but I\u0027m gonna have to resubmit it anyway, so if you have a better suggestion I\u0027m open for that.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"},{"line_number":10835,"context_line":"                        \u0027volume %(vol)s. Volume will be stuck with status \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ce783ff1_5f085bd6","line":10832,"updated":"2023-02-14 09:41:31.000000000","message":"again, really you can\u0027t catch a specific Exception here ?","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"9866cd8157f86da6fab8b9dc8f57f83658c51bd4","unresolved":true,"context_lines":[{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"},{"line_number":10835,"context_line":"                        \u0027volume %(vol)s. Volume will be stuck with status \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"f35ccdc2_7c318869","line":10832,"in_reply_to":"ce783ff1_5f085bd6","updated":"2023-02-14 11:29:46.000000000","message":"You are right, this one can definitely be more specific.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":false,"context_lines":[{"line_number":10829,"context_line":"                try:"},{"line_number":10830,"context_line":"                    self.volume_api.extend_volume_completion("},{"line_number":10831,"context_line":"                        extended_volume_id, error)"},{"line_number":10832,"context_line":"                except Exception:"},{"line_number":10833,"context_line":"                    LOG.exception("},{"line_number":10834,"context_line":"                        \u0027Could not notify Cinder of the %(result)s to extend \u0027"},{"line_number":10835,"context_line":"                        \u0027volume %(vol)s. Volume will be stuck with status \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"4b8931ee_6d5c462e","line":10832,"in_reply_to":"f35ccdc2_7c318869","updated":"2024-02-23 12:30:30.000000000","message":"Done","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"dba2feacdc843d931cf734325246df302b6aa17a","unresolved":true,"context_lines":[{"line_number":11703,"context_line":"                      \u0027%(vol)s.\u0027, {\u0027result\u0027: result, \u0027vol\u0027: volume[\u0027id\u0027]},"},{"line_number":11704,"context_line":"                      instance\u003dinstance)"},{"line_number":11705,"context_line":"            try:"},{"line_number":11706,"context_line":"                self.volume_api.extend_volume_completion("},{"line_number":11707,"context_line":"                    context, volume[\u0027id\u0027], error\u003d(not success))"},{"line_number":11708,"context_line":"            except exception.NovaException:"},{"line_number":11709,"context_line":"                LOG.exception("},{"line_number":11710,"context_line":"                    \u0027Could not notify Cinder of the %(result)s to extend \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"32b57a75_a1793a44","line":11707,"range":{"start_line":11706,"start_character":16,"end_line":11707,"end_character":63},"updated":"2025-11-12 19:45:34.000000000","message":"This is the key part i wanted to highlight upon during the PTG\nSo currently we are using an async mechanism where:\n1. Cinder calls nova to extend attached volumes\n2. Nova, either successful or failed, to extend volume, sends an API request to Cinder to perform the completion based on the error state\n3. Cinder performs the final set of operations i.e. to rollback quotas or commit and other respective tasks\n\nMy problem with this (and also the migration of an attached volume scenario) is that we are changing the volume status to \u0027extending\u0027 and waiting for nova to report us back to change it again to in-use\nThe problem here is that there is no timeout to reset the volume status and it can get stuck in \u0027extending\u0027 forever if nova never reports back (service restart or compute goes down for sometime)\nAlso there is no easy way to check what really happened here since Cinder logs show it has done it\u0027s part of the work and nova logs might be limited to the point when it went off (though we could take a smart guess that compute went down hence the extend would never complete and we need to manually reset the volume status)\n\nMy point here is we need more discussion on the design side for these cases which are common pain points for customers.\nAlan did an interesting thing for the migration use case where we can see the progress of the migration[1] to know if it\u0027s stuck or not.\n\n\n[1] https://review.opendev.org/q/topic:%22bp/swap-progress-in-attachment-details%22","commit_id":"81f7afdee009c69143bd697747ca26293347a380"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"02cdc5ac158318e9c7def66f9ce0863950287a42","unresolved":true,"context_lines":[{"line_number":11703,"context_line":"                      \u0027%(vol)s.\u0027, {\u0027result\u0027: result, \u0027vol\u0027: volume[\u0027id\u0027]},"},{"line_number":11704,"context_line":"                      instance\u003dinstance)"},{"line_number":11705,"context_line":"            try:"},{"line_number":11706,"context_line":"                self.volume_api.extend_volume_completion("},{"line_number":11707,"context_line":"                    context, volume[\u0027id\u0027], error\u003d(not success))"},{"line_number":11708,"context_line":"            except exception.NovaException:"},{"line_number":11709,"context_line":"                LOG.exception("},{"line_number":11710,"context_line":"                    \u0027Could not notify Cinder of the %(result)s to extend \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a3224e2_86db0f73","line":11707,"range":{"start_line":11706,"start_character":16,"end_line":11707,"end_character":63},"in_reply_to":"32b57a75_a1793a44","updated":"2025-11-13 13:11:38.000000000","message":"Reading through the changes you linked, I\u0027m wondering if it wouldn\u0027t be cleaner to have a unified interface for all (potentially longer running) attached volume operations, which could cover extend, migration and also snapshots.","commit_id":"81f7afdee009c69143bd697747ca26293347a380"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"dba2feacdc843d931cf734325246df302b6aa17a","unresolved":true,"context_lines":[{"line_number":11736,"context_line":"                volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":11737,"context_line":""},{"line_number":11738,"context_line":"        connection_info \u003d jsonutils.loads(bdm.connection_info)"},{"line_number":11739,"context_line":"        bdm.volume_size \u003d new_size"},{"line_number":11740,"context_line":"        bdm.save()"},{"line_number":11741,"context_line":""},{"line_number":11742,"context_line":"        if not self.driver.capabilities.get(\u0027supports_extend_volume\u0027, False):"},{"line_number":11743,"context_line":"            raise exception.ExtendVolumeNotSupported()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ab22e5e3_103b6ba7","line":11740,"range":{"start_line":11739,"start_character":8,"end_line":11740,"end_character":18},"updated":"2025-11-12 19:45:34.000000000","message":"This doesn\u0027t look correct, we are setting the new size in BDM before libvirt driver has done the extend operation. This adds another part to rollback if the exception happens at L#11748 (which i don\u0027t see handled here)\nIMO, this should happen after L#11747 after we are certain that libvirt driver DID extend the device without any errors.","commit_id":"81f7afdee009c69143bd697747ca26293347a380"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":4231,"context_line":"            extend_volume_impl.assert_called_once_with("},{"line_number":4232,"context_line":"                self.context, inst_obj, volume, 40)"},{"line_number":4233,"context_line":"            volume_api.extend_volume_completion.assert_called_once_with("},{"line_number":4234,"context_line":"                uuids.volume_id, False)"},{"line_number":4235,"context_line":"            add_fault.assert_not_called()"},{"line_number":4236,"context_line":""},{"line_number":4237,"context_line":"        do_test()"}],"source_content_type":"text/x-python","patch_set":1,"id":"a8f908bc_57bfa900","line":4234,"updated":"2023-02-14 09:41:31.000000000","message":"yeah, this looks a weird call to me indeed...","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":true,"context_lines":[{"line_number":4231,"context_line":"            extend_volume_impl.assert_called_once_with("},{"line_number":4232,"context_line":"                self.context, inst_obj, volume, 40)"},{"line_number":4233,"context_line":"            volume_api.extend_volume_completion.assert_called_once_with("},{"line_number":4234,"context_line":"                uuids.volume_id, False)"},{"line_number":4235,"context_line":"            add_fault.assert_not_called()"},{"line_number":4236,"context_line":""},{"line_number":4237,"context_line":"        do_test()"}],"source_content_type":"text/x-python","patch_set":1,"id":"36f7fe92_f9272eb7","line":4234,"in_reply_to":"a8f908bc_57bfa900","updated":"2024-02-23 12:30:30.000000000","message":"Again, I\u0027m just replicating an existing pattern in the Cinder API, which was also part of the spec that the Cinder team accepted.\n\nI guess I could change the wrapper in `nova.volume.cinder`, but that would be weird too, since generally the wrappers match the signature of the cinder client method they are wrapping.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"}],"nova/volume/cinder.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2cc3299fa970c97e73e81045417f2b4daea9134b","unresolved":true,"context_lines":[{"line_number":936,"context_line":"            volume_id, image_id, reimage_reserved)"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"45c7af1d_dc78f82a","line":939,"updated":"2023-02-14 09:15:52.000000000","message":"So this needs https://review.opendev.org/c/openstack/cinder/+/873557/2/cinder/api/microversions.py#182 to land to first to make sure 3.71 is really used for extend_volume_completion","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf6536f0f683dd621487ffaa62dd1c32b5b3047","unresolved":false,"context_lines":[{"line_number":936,"context_line":"            volume_id, image_id, reimage_reserved)"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"19e09349_745bea47","line":939,"in_reply_to":"447c64fb_ff3c9e50","updated":"2024-06-17 12:21:11.000000000","message":"Done","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3876af28254255bb7e0a7927abe1e3e073e0198c","unresolved":true,"context_lines":[{"line_number":936,"context_line":"            volume_id, image_id, reimage_reserved)"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5637fe96_ee22d98e","line":939,"in_reply_to":"45c7af1d_dc78f82a","updated":"2023-02-14 09:41:31.000000000","message":"Yup, hence the Depends-On on the commit msg.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":true,"context_lines":[{"line_number":936,"context_line":"            volume_id, image_id, reimage_reserved)"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"447c64fb_ff3c9e50","line":939,"in_reply_to":"5637fe96_ee22d98e","updated":"2024-02-23 12:30:30.000000000","message":"Yes, https://review.opendev.org/c/openstack/cinder/+/873557 is still under review, but it is a caracal target feature for Cinder.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9d02b24b9a4394a7b91258a60942d24ceba97015","unresolved":true,"context_lines":[{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2932bee2_f6382682","line":941,"updated":"2023-02-14 09:43:04.000000000","message":"FWIW, it also depends on the cinderclient to support 3.71 too.\n(and again, same concern of having something like a error parameter)","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"},{"author":{"_account_id":34859,"name":"Konrad Gube","email":"konrad.gube@cloudandheat.com","username":"kgube"},"change_message_id":"96b13480ed55f6ce6e48e86adc48fabab871a499","unresolved":true,"context_lines":[{"line_number":938,"context_line":"    @translate_cinder_exception"},{"line_number":939,"context_line":"    def extend_volume_completion(self, context, volume_id, error\u003dFalse):"},{"line_number":940,"context_line":"        cinderclient(context, \u00273.71\u0027).volumes.migrate_volume_completion("},{"line_number":941,"context_line":"            volume_id, error)"}],"source_content_type":"text/x-python","patch_set":1,"id":"11dee0ad_882e44fd","line":941,"in_reply_to":"2932bee2_f6382682","updated":"2024-02-23 12:30:30.000000000","message":"Same reply as above, this just replicates the already existing `migrate_volume_completion`, see line 649 in the same file.","commit_id":"47d310607456be23e275d51248e75d5e0736bc3f"}],"requirements.txt":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9b2ec36af1d57967b42896f629ab19786f58efd8","unresolved":true,"context_lines":[{"line_number":22,"context_line":"paramiko\u003e\u003d2.7.1 # LGPLv2.1+"},{"line_number":23,"context_line":"iso8601\u003e\u003d0.1.11 # MIT"},{"line_number":24,"context_line":"jsonschema\u003e\u003d4.0.0 # MIT"},{"line_number":25,"context_line":"python-cinderclient\u003e\u003d9.5.0 # Apache-2.0"},{"line_number":26,"context_line":"keystoneauth1\u003e\u003d3.16.0 # Apache-2.0"},{"line_number":27,"context_line":"python-neutronclient\u003e\u003d7.1.0 # Apache-2.0"},{"line_number":28,"context_line":"python-glanceclient\u003e\u003d2.8.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"ea7070ea_8b910d32","line":25,"updated":"2024-02-29 17:49:54.000000000","message":"Unfortunately, cinderclient-9.5.0 is not yet released https://review.opendev.org/c/openstack/releases/+/910164","commit_id":"b4f1c264cde647a93a9179b5b36f98b5192a60d9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"caf6536f0f683dd621487ffaa62dd1c32b5b3047","unresolved":false,"context_lines":[{"line_number":22,"context_line":"paramiko\u003e\u003d2.7.1 # LGPLv2.1+"},{"line_number":23,"context_line":"iso8601\u003e\u003d0.1.11 # MIT"},{"line_number":24,"context_line":"jsonschema\u003e\u003d4.0.0 # MIT"},{"line_number":25,"context_line":"python-cinderclient\u003e\u003d9.5.0 # Apache-2.0"},{"line_number":26,"context_line":"keystoneauth1\u003e\u003d3.16.0 # Apache-2.0"},{"line_number":27,"context_line":"python-neutronclient\u003e\u003d7.1.0 # Apache-2.0"},{"line_number":28,"context_line":"python-glanceclient\u003e\u003d2.8.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"4bf90b61_7dfa845f","line":25,"in_reply_to":"ea7070ea_8b910d32","updated":"2024-06-17 12:21:11.000000000","message":"Done","commit_id":"b4f1c264cde647a93a9179b5b36f98b5192a60d9"}]}
