)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"90f0cde688bc50efd5dd022ae8071ba418e8dc0c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     maaoyu \u003cmaaoyu@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-09-02 14:21:47 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"swap multiattach volume, report an error VolumeNotFound"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a multiattach volume has been swaped, nova will report an"},{"line_number":10,"context_line":"error VolumeNotFound during the next swap_volume.The reason is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2f5670af_4034a1f6","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":55},"updated":"2021-09-03 20:31:09.000000000","message":"This is with ro multiattach volumes right as rw multiattach volume swap is blocked as of Icd7fcb87a09c35a13e4e14235feb30a289d22778 ?","commit_id":"ac9410c14b3b626ce913e93ffbfd9b3c5b780163"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d32421b6a90198a3083185064c1e88393e518b12","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"swap multiattach volume, report an error VolumeNotFound"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a multiattach volume has been swaped, nova will report an"},{"line_number":10,"context_line":"error VolumeNotFound during the next swap_volume.The reason is"},{"line_number":11,"context_line":"that table bdm records the _name_id of the volume, so func"},{"line_number":12,"context_line":"self._should_disconnect_target in libvirt driver get the volume"},{"line_number":13,"context_line":"by id(from bdm connection_info) report an error VolumeNotFound."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1943431"},{"line_number":16,"context_line":"Change-Id: I43612714b343d98320b19b5b38264afc700790e3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"16718351_916d3bbe","line":13,"range":{"start_line":9,"start_character":0,"end_line":13,"end_character":63},"updated":"2021-09-22 17:32:37.000000000","message":"I\u0027ve been working on this today and I don\u0027t think this write up of the bug is correct. What I think you\u0027re seeing is the following.\n\nDuring a volume migration orchestrated by Cinder the original volume UUID is retained by Cinder merging the volume records leaving just the original volume at the end of the migration.\n\nDuring the migration the connection_info for the new volume stored by Nova is gathered from Cinder prior to this and I believe references the temporary volume created by Cinder as part of the migration in your case.\n\nThis is different to a Nova orchestrated swap volume request that moves from one volume to another with the original removed. \n\nAs a result of this during the next migration attempt the lookup code within nova.virt.block_device.get_volume_id finds this now deleted volume UUID in the connection_info and passes it to _should_disconnect_target. This UUID is then used to lookup the volume causing the VolumeNotFound failure.\n\nI\u0027ll write up a functional test to show what I\u0027m suggesting here but you should be able to prove this by reproducing in your env and checking the stashed connection_info after the initial migration.","commit_id":"ac84678e2864505d9ed14dae360c077dc9e0ff60"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"56d3e72e8d22a403283e6574edd410f513496e63","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[1] https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dcomplete-migration-of-a-volume-detail#volumes-volumes"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"WIP as I need to drop before I\u0027ve had a chance to look at the unittests"},{"line_number":33,"context_line":"for this, I\u0027ll follow up shortly."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Co-Authored-By: Lee Yarwood \u003clyarwood@redhat.com\u003e"},{"line_number":36,"context_line":"Closes-Bug: #1943431"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"c168e42b_cbe73d12","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":33},"updated":"2021-09-30 11:41:53.000000000","message":"I think this is not WIP any more","commit_id":"398230f4ad3afc3090ae5392bc4425fed2ce980e"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"7e8f7514fb972de8adeb3f9c63b8ad6894d3e6d2","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[1] https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dcomplete-migration-of-a-volume-detail#volumes-volumes"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"WIP as I need to drop before I\u0027ve had a chance to look at the unittests"},{"line_number":33,"context_line":"for this, I\u0027ll follow up shortly."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Co-Authored-By: Lee Yarwood \u003clyarwood@redhat.com\u003e"},{"line_number":36,"context_line":"Closes-Bug: #1943431"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"6ab79f04_905883a6","line":33,"range":{"start_line":32,"start_character":0,"end_line":33,"end_character":33},"in_reply_to":"c168e42b_cbe73d12","updated":"2021-09-30 11:48:37.000000000","message":"*facepalm* thanks, I\u0027ll drop.","commit_id":"398230f4ad3afc3090ae5392bc4425fed2ce980e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"40d7725013a4d906d819a250bfea2b912ade423c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9d4d7786_edcc0bea","updated":"2021-11-04 10:06:11.000000000","message":"Definitely legit to me. Thanks.","commit_id":"6fd071b904282e106de7488a076d4f703636af21"}],"nova/compute/manager.py":[{"author":{"_account_id":31027,"name":"MaAoyu","email":"523354092@qq.com","username":"maaoyu"},"change_message_id":"abb42fd5eaa74752ea0dc54054af113400be7fdb","unresolved":true,"context_lines":[{"line_number":7457,"context_line":"        # could be the case during a volume migration where the new_cinfo here"},{"line_number":7458,"context_line":"        # refers to the temporary volume *before* Cinder renames it to the"},{"line_number":7459,"context_line":"        # original volume UUID at the end of the migration."},{"line_number":7460,"context_line":"        new_cinfo[\u0027serial\u0027] \u003d save_volume_id"},{"line_number":7461,"context_line":"        if \u0027data\u0027 in new_cinfo:"},{"line_number":7462,"context_line":"            new_cinfo[\u0027data\u0027][\u0027volume_id\u0027] \u003d save_volume_id"},{"line_number":7463,"context_line":"        values \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"cd2592da_96a2ced6","line":7460,"range":{"start_line":7460,"start_character":8,"end_line":7460,"end_character":44},"updated":"2021-10-02 02:07:42.000000000","message":"I think \"new_cinfo[\u0027volume_id\u0027] \u003d save_volume_id\" is needed here.\nconnection_info \u003d \n{\n...\n\"volume_id\":\"\",\ndata:\n    {\n     \"volume_id\":\"\"\n    }\n...\n}","commit_id":"11730262b0124c12b0872fd4128e8d663fcaf425"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"3f35286f1fe300c74a2f2099d5b571dd7146930f","unresolved":true,"context_lines":[{"line_number":7457,"context_line":"        # could be the case during a volume migration where the new_cinfo here"},{"line_number":7458,"context_line":"        # refers to the temporary volume *before* Cinder renames it to the"},{"line_number":7459,"context_line":"        # original volume UUID at the end of the migration."},{"line_number":7460,"context_line":"        new_cinfo[\u0027serial\u0027] \u003d save_volume_id"},{"line_number":7461,"context_line":"        if \u0027data\u0027 in new_cinfo:"},{"line_number":7462,"context_line":"            new_cinfo[\u0027data\u0027][\u0027volume_id\u0027] \u003d save_volume_id"},{"line_number":7463,"context_line":"        values \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"e12cf448_4ca3446a","line":7460,"range":{"start_line":7460,"start_character":8,"end_line":7460,"end_character":44},"in_reply_to":"cd2592da_96a2ced6","updated":"2021-10-03 16:20:00.000000000","message":"Why do you think it\u0027s required there? The c-vol backends only return it as part of the \u0027data\u0027 dict and it\u0027s only ever looked up within Nova from that dict: \n\nhttps://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L910-L917","commit_id":"11730262b0124c12b0872fd4128e8d663fcaf425"}],"nova/tests/functional/regressions/test_bug_1943431.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"40d7725013a4d906d819a250bfea2b912ade423c","unresolved":true,"context_lines":[{"line_number":148,"context_line":"        self.api.delete_server_volume("},{"line_number":149,"context_line":"            server_id, self.cinder.MULTIATTACH_RO_MIGRATE_OLD_VOL)"},{"line_number":150,"context_line":"        self._wait_for_volume_detach("},{"line_number":151,"context_line":"            server_id, self.cinder.MULTIATTACH_RO_MIGRATE_OLD_VOL)"}],"source_content_type":"text/x-python","patch_set":7,"id":"374b3793_323224eb","line":151,"updated":"2021-11-04 10:06:11.000000000","message":"thanks for fixing it.","commit_id":"6fd071b904282e106de7488a076d4f703636af21"}]}
