)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"21f6d2d9a07a9a02cd051741d57f5a88b2f27378","unresolved":true,"context_lines":[{"line_number":26,"context_line":"prevent false \"down\" reports from heartbeat lag under CI parallel"},{"line_number":27,"context_line":"load (bug 2160254)."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Reduces the 10 slowest tests from 47-61s each to 2-8s each, saving"},{"line_number":30,"context_line":"approximately 8 minutes of cumulative test time across the suite."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Related-Bug: #2167088"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9201e034_03ff5d7c","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":65},"updated":"2026-10-26 18:41:39.000000000","message":"++ this is a good improvement","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b4ac412d693ccba7c128da776d7b403d52503cf6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"prevent false \"down\" reports from heartbeat lag under CI parallel"},{"line_number":27,"context_line":"load (bug 2160254)."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Reduces the 10 slowest tests from 47-61s each to 2-8s each, saving"},{"line_number":30,"context_line":"approximately 8 minutes of cumulative test time across the suite."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Related-Bug: #2167088"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"63987372_0eba9aa2","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":65},"in_reply_to":"9201e034_03ff5d7c","updated":"2026-10-26 20:00:17.000000000","message":"Done","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"21f6d2d9a07a9a02cd051741d57f5a88b2f27378","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e2c2cf1c_0a0fa313","updated":"2026-10-26 18:41:39.000000000","message":"good idea, thanks, 1 comment otherwise this looks like a good improvement","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b4ac412d693ccba7c128da776d7b403d52503cf6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"faf742f2_05d27e94","updated":"2026-10-26 20:00:17.000000000","message":"lgtm","commit_id":"034b5241aea8dcebd37cadf831c26baafae249c2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b1b802833c8dcc9d0fa9bdac8010f40e8a0ae422","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"aaed44a6_c642ea9e","updated":"2026-10-27 08:46:52.000000000","message":"nice thanks","commit_id":"034b5241aea8dcebd37cadf831c26baafae249c2"}],"nova/tests/functional/test_graceful_shutdown.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"21f6d2d9a07a9a02cd051741d57f5a88b2f27378","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        # service_down_time (30s) and is not what these tests exercise."},{"line_number":140,"context_line":"        # Mark it forced_down so the servicegroup reports \"down\""},{"line_number":141,"context_line":"        # immediately."},{"line_number":142,"context_line":"        self._set_forced_down(host, binary, True)"},{"line_number":143,"context_line":"        self._wait_for_service_parameter("},{"line_number":144,"context_line":"            host, binary, {\u0027state\u0027: \u0027down\u0027}, max_retries\u003d10)"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"60981f0e_7999ec59","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":49},"updated":"2026-10-26 18:41:39.000000000","message":"++, _restart_compute reset this but for safer side,maybe we can reset this flag in addcleanup also \n\n        self.addCleanup(self._set_forced_down(hostname, \u0027nova-compute\u0027, False))","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ef1dd1f36191cdeac77ef5eaca576fc25de50dac","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        # service_down_time (30s) and is not what these tests exercise."},{"line_number":140,"context_line":"        # Mark it forced_down so the servicegroup reports \"down\""},{"line_number":141,"context_line":"        # immediately."},{"line_number":142,"context_line":"        self._set_forced_down(host, binary, True)"},{"line_number":143,"context_line":"        self._wait_for_service_parameter("},{"line_number":144,"context_line":"            host, binary, {\u0027state\u0027: \u0027down\u0027}, max_retries\u003d10)"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f5585de3_4d6a8d3c","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":49},"in_reply_to":"60981f0e_7999ec59","updated":"2026-10-26 18:43:27.000000000","message":"Nice point, will update.","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b4ac412d693ccba7c128da776d7b403d52503cf6","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        # service_down_time (30s) and is not what these tests exercise."},{"line_number":140,"context_line":"        # Mark it forced_down so the servicegroup reports \"down\""},{"line_number":141,"context_line":"        # immediately."},{"line_number":142,"context_line":"        self._set_forced_down(host, binary, True)"},{"line_number":143,"context_line":"        self._wait_for_service_parameter("},{"line_number":144,"context_line":"            host, binary, {\u0027state\u0027: \u0027down\u0027}, max_retries\u003d10)"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"78edae07_8964d1ae","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":49},"in_reply_to":"dce0f727_3fee151a","updated":"2026-10-26 20:00:17.000000000","message":"i see. thanks for checking.","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"16a60fd2975de1c9c8a01cb951dac9ac7fc0bac0","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        # service_down_time (30s) and is not what these tests exercise."},{"line_number":140,"context_line":"        # Mark it forced_down so the servicegroup reports \"down\""},{"line_number":141,"context_line":"        # immediately."},{"line_number":142,"context_line":"        self._set_forced_down(host, binary, True)"},{"line_number":143,"context_line":"        self._wait_for_service_parameter("},{"line_number":144,"context_line":"            host, binary, {\u0027state\u0027: \u0027down\u0027}, max_retries\u003d10)"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dce0f727_3fee151a","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":49},"in_reply_to":"f5585de3_4d6a8d3c","updated":"2026-10-26 18:54:00.000000000","message":"Actually, sorry I tried this and it does not work because by the time `addCleanup()` is running, the `self.admin_api.get_services()` returns an empty list because services have already been torn down and so there is no service for us to set forced_down.","commit_id":"0bec3403e18893cacae7bc54d2fac4d069befba5"}]}
