)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7ae14cf06746e1c3d80b2affcef87ff88857d58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8d31e565_88cc4708","updated":"2025-12-17 14:24:15.000000000","message":"Same py312-threading unit test issue as seen once before on this patch. So it needs to be looked at. I will try to spend time on this but it is non trivial to reproduce locally\n```\nnova.tests.unit.virt.test_virt_drivers.LibvirtConnTestCase.test_attach_detach_different_power_states\n----------------------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/zuul/src/opendev.org/openstack/nova/.tox/py312-threading/lib/python3.12/site-packages/fixtures/fixture.py\", line 163, in cleanUp\n    return self._cleanups(raise_errors\u003draise_first)  # type: ignore[misc]\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n      File \"/home/zuul/src/opendev.org/openstack/nova/.tox/py312-threading/lib/python3.12/site-packages/fixtures/callmany.py\", line 109, in __call__\n    raise exc.with_traceback(error[2])\n\n      File \"/home/zuul/src/opendev.org/openstack/nova/.tox/py312-threading/lib/python3.12/site-packages/fixtures/callmany.py\", line 101, in __call__\n    cleanup(*args, **kwargs)\n\n      File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/fixtures/nova.py\", line 2034, in cleanup\n    raise ImportError(self.fail_message)\n\n    ImportError: This test imports the \u0027libvirt\u0027 module, which it should not in the test environment. Please add appropriate mocking to this test.\n```","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f59a3f9a435c5b90b82875fd892d1fca7da4b4a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a3aeb214_150f5928","updated":"2025-12-16 02:55:08.000000000","message":"lgtm","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cf4dc0aaee1fe0af2763d7baad58e9fd33440415","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"21e715a2_52335eb3","updated":"2025-12-18 17:30:11.000000000","message":"recheck","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ecf3c20b8fcef75a68bec97c02e235a9eff8cb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ab55ef5b_06330527","updated":"2025-12-16 08:44:07.000000000","message":"recheck ancestors are requeued","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a946a9d38f40f9499454fa4c032aa535edf6a8b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9ca87fae_818ab5e3","updated":"2025-12-16 15:14:03.000000000","message":"recheck multi-cell guest ssh timeout","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"556e59355d39515274361cde6264ba01744615d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f1038d8b_f9a2a77a","updated":"2025-12-16 12:41:46.000000000","message":"recheck py312-threading hits a race condition I cannot reproduce locally","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e049d0266bbb69d4762844326257a66d866d0da7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1cf87893_6b7c025b","updated":"2025-12-17 17:41:49.000000000","message":"sounds good to me","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cf4dc0aaee1fe0af2763d7baad58e9fd33440415","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ebaf75a6_36f00cff","in_reply_to":"8d31e565_88cc4708","updated":"2025-12-18 17:30:11.000000000","message":"Fix for this instability landed https://review.opendev.org/c/openstack/nova/+/971448","commit_id":"4c2b0f9f8de610b95134ebff7dbe089556af5a40"}],"nova/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"efdc61057e14a9af85a06343b162b463b73e7c02","unresolved":true,"context_lines":[{"line_number":626,"context_line":"            \"queued. If this happens repeatedly then the size of the pool is \""},{"line_number":627,"context_line":"            \"too small for the load or there are stuck threads filling the \""},{"line_number":628,"context_line":"            \"pool.\", executor.name, func)"},{"line_number":629,"context_line":"    return _pass_context(executor.submit, func, *args, **kwargs)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"def is_none_string(val):"}],"source_content_type":"text/x-python","patch_set":2,"id":"f9d45a99_e1adc8fc","line":629,"updated":"2025-11-13 10:29:14.000000000","message":"Any chance we could inline this now that it only has one caller?","commit_id":"054dac0ff1097aa304c218c26ec426ec60804976"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a6d11be10b58bb76545352bc38242b47f4c2cee7","unresolved":false,"context_lines":[{"line_number":626,"context_line":"            \"queued. If this happens repeatedly then the size of the pool is \""},{"line_number":627,"context_line":"            \"too small for the load or there are stuck threads filling the \""},{"line_number":628,"context_line":"            \"pool.\", executor.name, func)"},{"line_number":629,"context_line":"    return _pass_context(executor.submit, func, *args, **kwargs)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"def is_none_string(val):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c520332_1bfcfb6f","line":629,"in_reply_to":"f9d45a99_e1adc8fc","updated":"2025-11-21 10:51:23.000000000","message":"good point","commit_id":"054dac0ff1097aa304c218c26ec426ec60804976"}]}
