)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5d6e36f552f4483de993ee4dd3a97f5e8becfe76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8417d31e_ab6c62b4","updated":"2026-08-08 23:04:33.000000000","message":"recheck sdks job failure not related to this","commit_id":"ba0f53ebb134b3dbb455864c7dead3863a4dc056"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f47e540c58e80013322996a0b54c06e8226b1f94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"aefd98e3_6e0d250f","updated":"2026-08-15 00:59:55.000000000","message":"recheck bug#2163448","commit_id":"d060fb5a8405791b5e3f003b1663b3d9129fa3c0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cf0695c21614288e2ab4bd27669a541cd85ed9e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f7c50806_a45e7e22","updated":"2026-08-15 19:49:44.000000000","message":"recheck ssh timeout in test_image_defined_boot_from_volume","commit_id":"d060fb5a8405791b5e3f003b1663b3d9129fa3c0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4b39d6c463e365d9321e519a85229e4b57f14e74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"bc57960e_cc98f72e","updated":"2026-08-19 21:20:41.000000000","message":"it seems another race in funtional tests in threading mode which is related to this change. fixing that.","commit_id":"a113345e15bc9738f128b2891ec7aa41f1843c1c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7f79cb2bb686b25a791c7dd3eb8c15a1658455e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"38dd88f8_94c1786b","updated":"2026-08-20 01:28:01.000000000","message":"threading mode job failure are valid, still tests not resetting the shutdown flag","commit_id":"6862570c979b8999b11c0a9814df9e9f30370e31"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acd662d46754f3748fdce5a44973056f983b016d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"73242c1e_1c0de05c","updated":"2026-08-21 14:57:38.000000000","message":"Suggestion inline about unifying the shutdown stuff which we seem to mostly be repeating, but it\u0027s not critical.","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c63a7fa6b31b3ae78e1ae97218e85da84feb21c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"9d82f556_6ab1ee11","updated":"2026-08-20 14:51:44.000000000","message":"recheck bug 2164606","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"}],"nova/compute/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acd662d46754f3748fdce5a44973056f983b016d","unresolved":true,"context_lines":[{"line_number":1754,"context_line":"        self.driver.cleanup_host(host\u003dself.host)"},{"line_number":1755,"context_line":"        # At this stage, manager has done with all the tasks/cleanup"},{"line_number":1756,"context_line":"        # and safe to shutdown all the executors so that no new things"},{"line_number":1757,"context_line":"        # can run now."},{"line_number":1758,"context_line":"        # shutdown_all_executors is done after self.driver.cleanup_host"},{"line_number":1759,"context_line":"        # as that shutdown(wait\u003dTrue) the delayed_executors which will"},{"line_number":1760,"context_line":"        # need the main executor to be up to finish the in-progress things."}],"source_content_type":"text/x-python","patch_set":14,"id":"b0dae3df_f4a14f36","line":1757,"updated":"2026-08-21 14:57:38.000000000","message":"Okay, so this goes back to my question about what all could be in `cleanup_host()` which might take a while and need the reserved time you left for it.\n\nThe goal here (which I think is what you\u0027re saying) is that this should ideally be fast because we have tracked all the long-running work via tasks and have waited for those to complete before we even get here. Correct?","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"93ee1175f8e2b42bff049afa7f94dae22fc3237c","unresolved":true,"context_lines":[{"line_number":1754,"context_line":"        self.driver.cleanup_host(host\u003dself.host)"},{"line_number":1755,"context_line":"        # At this stage, manager has done with all the tasks/cleanup"},{"line_number":1756,"context_line":"        # and safe to shutdown all the executors so that no new things"},{"line_number":1757,"context_line":"        # can run now."},{"line_number":1758,"context_line":"        # shutdown_all_executors is done after self.driver.cleanup_host"},{"line_number":1759,"context_line":"        # as that shutdown(wait\u003dTrue) the delayed_executors which will"},{"line_number":1760,"context_line":"        # need the main executor to be up to finish the in-progress things."}],"source_content_type":"text/x-python","patch_set":14,"id":"e0f21866_1f4163c1","line":1757,"in_reply_to":"b0dae3df_f4a14f36","updated":"2026-08-21 15:09:44.000000000","message":"yeah, ideally there should not be anything running in executors as wait-for-in-progress-tasks should finish them. If there is any in queue then we are shutting down executors with wait\u003dfalse so on ongoing will be finished and no new tasks will be pulled from queue.","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"}],"nova/conductor/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"acd662d46754f3748fdce5a44973056f983b016d","unresolved":true,"context_lines":[{"line_number":229,"context_line":"        except Exception:"},{"line_number":230,"context_line":"            LOG.exception("},{"line_number":231,"context_line":"                \u0027%s service failed to shutdown all thread pool executors.\u0027,"},{"line_number":232,"context_line":"                self.service_name)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"@contextlib.contextmanager"}],"source_content_type":"text/x-python","patch_set":14,"id":"734dd672_9a340618","line":232,"updated":"2026-08-21 14:57:38.000000000","message":"This looks identical among the non-compute services.. I wonder if we should just put this in the base `Manager.graceful_shutdown()` and override it in compute to run the driver cleanup stuff first?","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"93ee1175f8e2b42bff049afa7f94dae22fc3237c","unresolved":true,"context_lines":[{"line_number":229,"context_line":"        except Exception:"},{"line_number":230,"context_line":"            LOG.exception("},{"line_number":231,"context_line":"                \u0027%s service failed to shutdown all thread pool executors.\u0027,"},{"line_number":232,"context_line":"                self.service_name)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"@contextlib.contextmanager"}],"source_content_type":"text/x-python","patch_set":14,"id":"f862a2a4_3774714f","line":232,"in_reply_to":"734dd672_9a340618","updated":"2026-08-21 15:09:44.000000000","message":"yeah, we can do that. will refactor it if i need to respin it else during next cycle part-3","commit_id":"28dfa7616ac157ede50dd9e85c146989de16b10d"}],"nova/tests/fixtures/nova.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b74b2fb0991fb8b4cdd5bb73eb8da2b84c1320b1","unresolved":true,"context_lines":[{"line_number":1358,"context_line":"        # that flag here too so later tests in this worker can still"},{"line_number":1359,"context_line":"        # create executors. This take care of executors cleanup for the"},{"line_number":1360,"context_line":"        # new test."},{"line_number":1361,"context_line":"        thread_pool_factory.FACTORY._shutdown \u003d False"},{"line_number":1362,"context_line":"        for executor in executors:"},{"line_number":1363,"context_line":"            # NOTE(gibi): we cannot rely on utils.concurrency_mode_threading"},{"line_number":1364,"context_line":"            # as that might have been mocked during the test when the executor"}],"source_content_type":"text/x-python","patch_set":7,"id":"8d5db6b9_1a5a8d38","line":1361,"updated":"2026-08-14 15:35:37.000000000","message":"I agree to fix the cleanup of those tests and here make an effort to raise if _shutdown is set to True making the test cases with improper cleanup visible.","commit_id":"8813ee935d2b95c282ac9d8ad5e4d7a5e429bf75"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"743854723211d07d015c09a9f21e33ccbcaad8f7","unresolved":false,"context_lines":[{"line_number":1358,"context_line":"        # that flag here too so later tests in this worker can still"},{"line_number":1359,"context_line":"        # create executors. This take care of executors cleanup for the"},{"line_number":1360,"context_line":"        # new test."},{"line_number":1361,"context_line":"        thread_pool_factory.FACTORY._shutdown \u003d False"},{"line_number":1362,"context_line":"        for executor in executors:"},{"line_number":1363,"context_line":"            # NOTE(gibi): we cannot rely on utils.concurrency_mode_threading"},{"line_number":1364,"context_line":"            # as that might have been mocked during the test when the executor"}],"source_content_type":"text/x-python","patch_set":7,"id":"56585cb9_c570d5ed","line":1361,"in_reply_to":"0fb1977b_efa09a7c","updated":"2026-08-19 17:11:02.000000000","message":"Done","commit_id":"8813ee935d2b95c282ac9d8ad5e4d7a5e429bf75"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"503b6132ffd70650172b038d8713f4c1329c4aaa","unresolved":true,"context_lines":[{"line_number":1358,"context_line":"        # that flag here too so later tests in this worker can still"},{"line_number":1359,"context_line":"        # create executors. This take care of executors cleanup for the"},{"line_number":1360,"context_line":"        # new test."},{"line_number":1361,"context_line":"        thread_pool_factory.FACTORY._shutdown \u003d False"},{"line_number":1362,"context_line":"        for executor in executors:"},{"line_number":1363,"context_line":"            # NOTE(gibi): we cannot rely on utils.concurrency_mode_threading"},{"line_number":1364,"context_line":"            # as that might have been mocked during the test when the executor"}],"source_content_type":"text/x-python","patch_set":7,"id":"0fb1977b_efa09a7c","line":1361,"in_reply_to":"8d5db6b9_1a5a8d38","updated":"2026-08-14 16:40:20.000000000","message":"around 40 test failing for this but yeah its test responsibility to cleanup the things at the end and not leave it to global cleanup. let me identify the test and fix there.","commit_id":"8813ee935d2b95c282ac9d8ad5e4d7a5e429bf75"}],"nova/tests/unit/test_thread_pool_factory.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"486d19dba138a0a64ab8b082576b47e0762ba881","unresolved":false,"context_lines":[{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    def setUp(self):"},{"line_number":359,"context_line":"        super().setUp()"},{"line_number":360,"context_line":"        self.useFixture(fixtures.MockPatchObject("},{"line_number":361,"context_line":"            thread_pool_factory.FACTORY, \u0027_shutdown\u0027, False))"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test_get_executor_is_tracked(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"8811df80_316eb7a4","line":360,"updated":"2026-08-19 05:27:25.000000000","message":"pep8: F821 undefined name \u0027fixtures\u0027","commit_id":"fe632a8dd269051f6f728446bffefb9ba741fb02"}]}
