)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4523b3e532d6d8321f6702bbc7f475ab63ef88af","unresolved":true,"context_lines":[{"line_number":13,"context_line":"BDM, raising BDMNotFound. This exception was not handled as a"},{"line_number":14,"context_line":"deletion signal, so it fell through to the generic except Exception"},{"line_number":15,"context_line":"handler, got wrapped as BuildAbortException, and set the instance to"},{"line_number":16,"context_line":"ERROR state instead of allowing a clean exit."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Add exception.BDMNotFound to the exception handling chain alongside"},{"line_number":19,"context_line":"InstanceNotFound and UnexpectedDeletingTaskStateError at four sites"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5ce1cf78_bad77868","line":16,"updated":"2026-07-27 09:33:45.000000000","message":"hm most of our VM state changing operation is guarded against another parallel operation by looking at transient states on the VM like task_state.\n\nI guess delete should work in any VM state, so we cannot block it just because it seems the VM build is still in progress as it maybe blocked for ever and the only way out would be the delete we just blocked.\n\nSo I agree that we need to fix it on the compute side to exit the build cleanly.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8d1173ca42c8f96fab3219b11840bddbb364af09","unresolved":true,"context_lines":[{"line_number":13,"context_line":"BDM, raising BDMNotFound. This exception was not handled as a"},{"line_number":14,"context_line":"deletion signal, so it fell through to the generic except Exception"},{"line_number":15,"context_line":"handler, got wrapped as BuildAbortException, and set the instance to"},{"line_number":16,"context_line":"ERROR state instead of allowing a clean exit."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Add exception.BDMNotFound to the exception handling chain alongside"},{"line_number":19,"context_line":"InstanceNotFound and UnexpectedDeletingTaskStateError at four sites"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"522e8d22_3aeb6f1f","line":16,"in_reply_to":"5ce1cf78_bad77868","updated":"2026-07-27 16:46:20.000000000","message":"Exactly my thought too, delete should always work regardless of state.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4523b3e532d6d8321f6702bbc7f475ab63ef88af","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d7046ec3_b57a327b","updated":"2026-07-27 09:33:45.000000000","message":"How hard would it be to build a reproducer via mocking some all in the compute to be blocking then issuing the VM delete?\n\nGiven that I feel we have a class of issues behind this it might make sense to have a reproducer that easy to then mutate into other similar cases.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8d1173ca42c8f96fab3219b11840bddbb364af09","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e8abb103_90bca35a","in_reply_to":"d7046ec3_b57a327b","updated":"2026-07-27 16:46:20.000000000","message":"Not sure but I will try to create one.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"}],"nova/compute/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4523b3e532d6d8321f6702bbc7f475ab63ef88af","unresolved":true,"context_lines":[{"line_number":2591,"context_line":"            return build_results.RESCHEDULED"},{"line_number":2592,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":2593,"context_line":"                exception.UnexpectedDeletingTaskStateError,"},{"line_number":2594,"context_line":"                exception.BDMNotFound):"},{"line_number":2595,"context_line":"            msg \u003d \u0027Instance disappeared during build.\u0027"},{"line_number":2596,"context_line":"            LOG.debug(msg, instance\u003dinstance)"},{"line_number":2597,"context_line":"            self._cleanup_allocated_networks(context, instance,"}],"source_content_type":"text/x-python","patch_set":1,"id":"328f5ff5_bdbad6d8","line":2594,"updated":"2026-07-27 09:33:45.000000000","message":"yepp if InstanceNotFound can happen then BDMNotFound can happen too. Wondering that we now see this more due to native threading. If so the I expect this is a class of errors. E.g. it might also happen with ShareMappings or any other DB content we cascade delete from the API.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8d1173ca42c8f96fab3219b11840bddbb364af09","unresolved":true,"context_lines":[{"line_number":2591,"context_line":"            return build_results.RESCHEDULED"},{"line_number":2592,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":2593,"context_line":"                exception.UnexpectedDeletingTaskStateError,"},{"line_number":2594,"context_line":"                exception.BDMNotFound):"},{"line_number":2595,"context_line":"            msg \u003d \u0027Instance disappeared during build.\u0027"},{"line_number":2596,"context_line":"            LOG.debug(msg, instance\u003dinstance)"},{"line_number":2597,"context_line":"            self._cleanup_allocated_networks(context, instance,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a50b992_24317ac9","line":2594,"in_reply_to":"328f5ff5_bdbad6d8","updated":"2026-07-27 16:46:20.000000000","message":"I think this is the case, that these class of errors and other races are being surfaced now due to native threading. I think the old eventlet provided quite a bit more \"synchronization\" as switches were much more limited where they could happen.","commit_id":"4177816d451bffd6ac78bfc7e48f9a46e0c825e0"}]}
