)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":19234,"name":"Alexey Stupnikov","email":"aleksey.stupnikov@gmail.com","username":"astupnikov"},"change_message_id":"5c2f5f6abc07f06c133469509c466a05c10a611f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"56f3986b_8f23aed0","updated":"2022-04-25 13:22:36.000000000","message":"I think that such changes require release note\nhttps://docs.openstack.org/nova/latest/contributor/releasenotes.html","commit_id":"8a9d88591c5f2484a0f4d66a170cbbd676bddbf8"},{"author":{"_account_id":19234,"name":"Alexey Stupnikov","email":"aleksey.stupnikov@gmail.com","username":"astupnikov"},"change_message_id":"c3c4070ee90ed77fc9bdcd931baca3ea87bf836c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8e6eb250_9a791282","updated":"2022-04-29 13:22:23.000000000","message":"It looks like _set_instance_obj_error_state is used on multiple occasions in nova/compute/manager.py. In some cases clean_task_state\u003dFalse (default makes sense for me). Examples: [1], [2], [3] and [4].\n\nFor [4] we explicitly break behavior described in _error_out_instance_on_exception docstring. As a result, I think that a careful second look is needed here: maybe adding clean_task_state\u003dTrue to some _set_instance_obj_error_state calls would make more sense.\n\nPlease let me know if I am missing something.\n\n[1]\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1145\n\n[2]\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1307\n\n[3]\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L3183\n\n[4]\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L10374","commit_id":"65c104f80b0aeae9c3bc17ef93118d5661e0d693"},{"author":{"_account_id":31827,"name":"Jorhson Deng","email":"jorhson_deng@163.com","username":"dengzhaosen"},"change_message_id":"481a9b48963be3eba90a55fcec88765342b91d8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f86e9df6_90337198","in_reply_to":"8e6eb250_9a791282","updated":"2022-05-03 03:36:50.000000000","message":"There is only one case that is to delete the instance and the task state cannot be None if the state is error. Because we want to delete the instance again when the compute is initialing[2].\nBut this case only occurs when the compute service becomes down unexpectly and the service is up again. In addtion, if the service is down immediately, the instance state won\u0027t be error.\n\nAnd for other cases, it\u0027s no need to keep the task_state if the instance\u0027s state is error. Because we also want to rescure the instance if the instance becomes error because of our actions. And it will be more diffcult for us if the instance\u0027s task state is not none.\n\nThere is another qeustion, for the case that delete the instance failure, and the instance task state is not set to None. For this case, if we want to try delete the instance again, it will be reject to this action[2].\n\nFor these reasons, I think\nreference:\n[1] https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2660\n[2] https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1131","commit_id":"65c104f80b0aeae9c3bc17ef93118d5661e0d693"}]}
