)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},"change_message_id":"1e9b5687e7eac5eca1e5ae75ce4681a94d0b960f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b2d612a7_ccb92a14","updated":"2026-05-22 13:33:09.000000000","message":"recheck - seems unrelated failure","commit_id":"fea549a77a0e0970796fa1377a6e4d872cec2a52"}],"tacker/sol_refactored/infra_drivers/openstack/nova_utils.py":[{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"fed05acd4b3afaeafda8f9f6faea5cd0d13a0f00","unresolved":true,"context_lines":[{"line_number":78,"context_line":"                LOG.debug(f\"server delete check OK. id: {deleted_vm_id}\")"},{"line_number":79,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":80,"context_line":"            LOG.debug(f\"server deleting... id: {deleted_vm_id}\")"},{"line_number":81,"context_line":"            self.delete_server(deleted_vm_id)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        time.sleep(5)"},{"line_number":84,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"29296392_5705db7c","line":81,"range":{"start_line":81,"start_character":12,"end_line":81,"end_character":45},"updated":"2026-07-23 05:29:32.000000000","message":"Thanks for the fix. I have one minor comment.\n\ndelete_server() is already called once explicitly before this polling starts. But inside _check_status(), after every 5s, delete_server() is called again.\n\nI think delete_server() call inside the polling function can be removed, as it should just check status and wait, not keep re-triggering the delete operation.","commit_id":"b23be152001ae9bcc96aba9dc81cde5be915b748"},{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"fed05acd4b3afaeafda8f9f6faea5cd0d13a0f00","unresolved":true,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        return True"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def delete_server(self, id):"},{"line_number":99,"context_line":"        path \u003d f\"servers/{id}\""},{"line_number":100,"context_line":"        resp, _ \u003d self.client.do_request(path, \"DELETE\","},{"line_number":101,"context_line":"            expected_status\u003d[204, 404, 409])"}],"source_content_type":"text/x-python","patch_set":9,"id":"eaf41f2d_ef7898f7","line":98,"range":{"start_line":98,"start_character":4,"end_line":98,"end_character":31},"updated":"2026-07-23 05:29:32.000000000","message":"Thank you for the fix. I have one minor comment.\n\nThe parameter name “id” is used in the “delete_server” function. While this is technically valid because id is not a reserved keyword in Python, but it is the name of a built-in function (id()). To avoid shadowing python\u0027s built-in function or issues if id() needs to be used within “delete_server” in the future, it might be better to use a more descriptive parameter name, such as “server_id”.","commit_id":"b23be152001ae9bcc96aba9dc81cde5be915b748"}],"tacker/sol_refactored/infra_drivers/openstack/openstack.py":[{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"fed05acd4b3afaeafda8f9f6faea5cd0d13a0f00","unresolved":true,"context_lines":[{"line_number":366,"context_line":"            nova_client \u003d nova_utils.NovaClient(vim_info)"},{"line_number":367,"context_line":"            for vnfc in inst_info.vnfcResourceInfo:"},{"line_number":368,"context_line":"                if vnfc.computeResource.resourceId in vnfc_res_ids:"},{"line_number":369,"context_line":"                    nova_client.delete_server(vnfc.id)"},{"line_number":370,"context_line":"                    heat_client.mark_unhealthy("},{"line_number":371,"context_line":"                        vnfc.metadata[\u0027stack_id\u0027], vnfc.vduId)"},{"line_number":372,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"31c3b9a1_ba2ec48f","line":369,"range":{"start_line":369,"start_character":19,"end_line":369,"end_character":54},"updated":"2026-07-23 05:29:32.000000000","message":"Thank you for the fix. Please see my comment below.\n\nThere\u0027s no error handling around delete_server() inside this loop, so one failure stops everything else that hasn\u0027t run yet while anything already done before the failure is left as it is.\n\nSuppose 5 affected servers need healing, Servers 1 and 2 get deleted and marked unhealthy successfully while Server 3\u0027s delete_server() call fails (due to any Nova error), the loop stops and exit. At that point, Servers 4 and 5 are never even attempted (no delete, no mark unhealthy) and Servers 1 and 2 already had delete_server() + mark_unhealthy() done, but since the loop never reaches the later update_stack() call, that work never gets applied to the stack either.","commit_id":"b23be152001ae9bcc96aba9dc81cde5be915b748"},{"author":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"change_message_id":"fed05acd4b3afaeafda8f9f6faea5cd0d13a0f00","unresolved":true,"context_lines":[{"line_number":366,"context_line":"            nova_client \u003d nova_utils.NovaClient(vim_info)"},{"line_number":367,"context_line":"            for vnfc in inst_info.vnfcResourceInfo:"},{"line_number":368,"context_line":"                if vnfc.computeResource.resourceId in vnfc_res_ids:"},{"line_number":369,"context_line":"                    nova_client.delete_server(vnfc.id)"},{"line_number":370,"context_line":"                    heat_client.mark_unhealthy("},{"line_number":371,"context_line":"                        vnfc.metadata[\u0027stack_id\u0027], vnfc.vduId)"},{"line_number":372,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"a24bb750_ee615513","line":369,"range":{"start_line":369,"start_character":19,"end_line":369,"end_character":54},"updated":"2026-07-23 05:29:32.000000000","message":"Thank you for the fix. Please see my comment below.\n\nThis call (delete_server()) is being made in a sequential loop and each server ID is waited on one at a time, the next server isn\u0027t even checked until the current one either finishes or times out.\n\nSuppose 5 affected servers needs to be confirmed deleted, and in worst case each one takes close to the full timeout (default 600s \u003d 10 min), this becomes 5 × 10 min \u003d 50 minutes total, even though openstack_vim_delete_server_timeout is meant to be a single bound (default 600s \u003d 10 min).\n\nIt think, if possible, checking all pending server IDs together in a single shared wait loop, so the whole batch is bounded by one timeout window instead of timeout × number_of_servers.","commit_id":"b23be152001ae9bcc96aba9dc81cde5be915b748"}]}
