)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"33132b2c1c21bdf9ddd4241d89aa8fdc8d1604af","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Jorhson Deng \u003cdengzhaosen@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-06-14 10:14:17 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"recheck the attachment_id after the reschedule successful"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"reference:"},{"line_number":10,"context_line":"https://opendev.org/openstack/nova/src/branch/master/nova/compute/manager.py#L2897"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"b5aeb239_a7fddad2","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":57},"updated":"2021-06-14 10:49:51.000000000","message":"You might want to write this up in a bug and write a functional test to assert the original behaviour.","commit_id":"cd6bed15fd89178c87f5b4f0b08edd24a9dd5813"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"33132b2c1c21bdf9ddd4241d89aa8fdc8d1604af","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"recheck the attachment_id after the reschedule successful"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"reference:"},{"line_number":10,"context_line":"https://opendev.org/openstack/nova/src/branch/master/nova/compute/manager.py#L2897"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I386265b8199fa4f59a8978d37b1710ab1cfadb26"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"47e1e270_1fb88db1","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":82},"updated":"2021-06-14 10:49:51.000000000","message":"What makes you think _shutdown_instance is called here?","commit_id":"cd6bed15fd89178c87f5b4f0b08edd24a9dd5813"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a3fb25bccdb22049d15f1b125a6168bc683e6f06","unresolved":true,"context_lines":[{"line_number":12,"context_line":"and will delete the bdm.attachment_id in this function."},{"line_number":13,"context_line":"We should recheck the attachment_id is existed before calling"},{"line_number":14,"context_line":"bdm.attach function in block_device.py"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I386265b8199fa4f59a8978d37b1710ab1cfadb26"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"a0b1ac92_6926e5fe","line":15,"updated":"2021-06-28 09:12:38.000000000","message":"Please add\n\nCloses-Bug: #1933610","commit_id":"4b4b55e04086c513f72923c879f7d92cb588b59c"}],"nova/virt/block_device.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a3fb25bccdb22049d15f1b125a6168bc683e6f06","unresolved":true,"context_lines":[{"line_number":755,"context_line":"        # when reschedule the instance, it will delete the"},{"line_number":756,"context_line":"        # attachment_id， and should be rechecked here."},{"line_number":757,"context_line":"        try:"},{"line_number":758,"context_line":"            volume_api.attachment_get(context, self.attachment_id)"},{"line_number":759,"context_line":"        except Exception:"},{"line_number":760,"context_line":"            self.attachment_id \u003d ("},{"line_number":761,"context_line":"                volume_api.attachment_create("}],"source_content_type":"text/x-python","patch_set":10,"id":"5b512493_0c057258","line":758,"updated":"2021-06-28 09:12:38.000000000","message":"Is this problem somehow specific to snapshot based block devices?","commit_id":"4b4b55e04086c513f72923c879f7d92cb588b59c"},{"author":{"_account_id":31827,"name":"Jorhson Deng","email":"jorhson_deng@163.com","username":"dengzhaosen"},"change_message_id":"90df7fc8eac748efa87c9aa452569c92712b4a8b","unresolved":true,"context_lines":[{"line_number":755,"context_line":"        # when reschedule the instance, it will delete the"},{"line_number":756,"context_line":"        # attachment_id， and should be rechecked here."},{"line_number":757,"context_line":"        try:"},{"line_number":758,"context_line":"            volume_api.attachment_get(context, self.attachment_id)"},{"line_number":759,"context_line":"        except Exception:"},{"line_number":760,"context_line":"            self.attachment_id \u003d ("},{"line_number":761,"context_line":"                volume_api.attachment_create("}],"source_content_type":"text/x-python","patch_set":10,"id":"e7a347fb_6c4aaa6e","line":758,"in_reply_to":"5b512493_0c057258","updated":"2021-06-28 09:30:07.000000000","message":"I don\u0027t think so. This is just cased by PortBindingFailed exception. And in _build_resource， we will catch the exception and call the _shutdown_instance to detach the volume which just delete the attachment_id. If schedule to another node successfully, because of existied volume_id, and won\u0027t call the process to create the attachment_id again. So come to attach volume code, the cinder will raise the NOTFOUND exception.","commit_id":"4b4b55e04086c513f72923c879f7d92cb588b59c"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"33facfeb13ef6f934d6402841eeb0bc58ad8f67d","unresolved":true,"context_lines":[{"line_number":752,"context_line":"            self.volume_id, self.attachment_id \u003d self._create_volume("},{"line_number":753,"context_line":"                context, instance, volume_api, self.volume_size,"},{"line_number":754,"context_line":"                wait_func\u003dwait_func, snapshot\u003dsnapshot)"},{"line_number":755,"context_line":"        # when reschedule the instance, it will delete the"},{"line_number":756,"context_line":"        # attachment_id， and should be rechecked here."},{"line_number":757,"context_line":"        try:"},{"line_number":758,"context_line":"            volume_api.attachment_get(context, self.attachment_id)"},{"line_number":759,"context_line":"        except Exception:"},{"line_number":760,"context_line":"            self.attachment_id \u003d ("},{"line_number":761,"context_line":"                volume_api.attachment_create("},{"line_number":762,"context_line":"                    context, self.volume_id, instance.uuid)[\u0027id\u0027])"},{"line_number":763,"context_line":""},{"line_number":764,"context_line":"        # Call the volume attach now"},{"line_number":765,"context_line":"        super(DriverVolSnapshotBlockDevice, self).attach("}],"source_content_type":"text/x-python","patch_set":11,"id":"0a7d006f_c52ddfa8","line":762,"range":{"start_line":755,"start_character":0,"end_line":762,"end_character":66},"updated":"2021-07-07 17:32:05.000000000","message":"You can just do this once in DriverVolumeBlockDevice given the call below.","commit_id":"0ff70a15d64a14ba50eca2d5141a99d6f840095a"}]}
