)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"452f9e64706646af33ecfaeb3b2962edd89f153f","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Stabilize functional test for slow instance.save"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If you put a time.sleep(0.1) to instance.save() call then some"},{"line_number":10,"context_line":"functional tests starts to fail as they are not fully waiting for the"},{"line_number":11,"context_line":"things they expect to happen with the instance. Or they assume a certain"},{"line_number":12,"context_line":"order of the notifications to arrive from a multi compute operation."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"971669e4_6d2790f3","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":48},"updated":"2026-08-17 17:17:30.000000000","message":"part of me wonders if we shoudl have a fixture to do that since it is useful at finding these types of db race but that proably will cuase other issues\nso im fine with not doing that.","commit_id":"c052b3c70b5ff37168a2fd8a7c44ea6975af09eb"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a0f3d4bc5b88b15feec9da93c52002a764daba63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7e928961_d1910f31","updated":"2026-08-05 02:53:41.000000000","message":"recheck bug 2160254, change lgtm just a question on \u0027fault\u0027 to be populated during wait","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"610c6aaa9ba4f3914035a14c1a0b1b94a8cc5a2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e96486e1_03f78264","updated":"2026-07-30 08:56:18.000000000","message":"recheck tox cover has another instability in test_revert_resize_dest_compute_graceful_shutdown\n```\n\nTraceback (most recent call last):\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/functional/test_graceful_shutdown.py\", line 438, in test_revert_resize_dest_compute_graceful_shutdown\n    self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/functional/api/client.py\", line 273, in post_server_action\n    return self.api_post(\n           ^^^^^^^^^^^^^^\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/functional/api/client.py\", line 215, in api_post\n    return APIResponse(self.api_request(relative_uri, **kwargs))\n                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/functional/api/client.py\", line 191, in api_request\n    raise OpenStackApiException(\nnova.tests.functional.api.client.OpenStackApiException: Unexpected status code: {\"conflictingRequest\": {\"code\": 409, \"message\": \"Service is unavailable at this time.\"}}\n\n```","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a0f3d4bc5b88b15feec9da93c52002a764daba63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2e1716a1_7e5df5fd","in_reply_to":"e96486e1_03f78264","updated":"2026-08-05 02:53:41.000000000","message":"yeah, I am seeing these failure in other changes also (bug#2160254), let me fix that tomorrow.","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cee5e78569d129f14a3064b4cf9ce78334892457","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9d390337_176403bf","updated":"2026-08-18 01:21:38.000000000","message":"lgtm, thanks","commit_id":"c052b3c70b5ff37168a2fd8a7c44ea6975af09eb"}],"nova/tests/functional/test_cross_cell_migrate.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a0f3d4bc5b88b15feec9da93c52002a764daba63","unresolved":true,"context_lines":[{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # The migration should be in \u0027error\u0027 status."},{"line_number":1111,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":1112,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":1113,"context_line":"        # Assert a fault was recorded."},{"line_number":1114,"context_line":"        self.assertIn(\u0027fault\u0027, server)"},{"line_number":1115,"context_line":"        self.assertIn(\u0027Connection to the hypervisor is broken\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"71b21020_f334a1e6","line":1112,"range":{"start_line":1112,"start_character":7,"end_line":1112,"end_character":50},"updated":"2026-08-05 02:53:41.000000000","message":"this is called in _wait_for_migration_status()[1]. any reason it did not populated the fault in server response during _wait_for_migration_status() itself? I commented in the previous change but I feel like _wait_for_migration_status() should populate/wait for fault to be in server response if \u0027error\u0027 state is asked to wait.\n\n[1] https://github.com/openstack/nova/blob/1a4601ef3a120d898feda81dc1db4de3d99df7f7/nova/tests/functional/integrated_helpers.py#L131","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"558e4e1d589bc711e635758436db603d4c29959c","unresolved":true,"context_lines":[{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # The migration should be in \u0027error\u0027 status."},{"line_number":1111,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":1112,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":1113,"context_line":"        # Assert a fault was recorded."},{"line_number":1114,"context_line":"        self.assertIn(\u0027fault\u0027, server)"},{"line_number":1115,"context_line":"        self.assertIn(\u0027Connection to the hypervisor is broken\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7366c894_06d9f112","line":1112,"range":{"start_line":1112,"start_character":7,"end_line":1112,"end_character":50},"in_reply_to":"71b21020_f334a1e6","updated":"2026-08-14 15:04:35.000000000","message":"fixed in the parent commit. But note that get_server is not called in _wait_for_migration_status","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"452f9e64706646af33ecfaeb3b2962edd89f153f","unresolved":true,"context_lines":[{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # The migration should be in \u0027error\u0027 status."},{"line_number":1111,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":1112,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":1113,"context_line":"        # Assert a fault was recorded."},{"line_number":1114,"context_line":"        self.assertIn(\u0027fault\u0027, server)"},{"line_number":1115,"context_line":"        self.assertIn(\u0027Connection to the hypervisor is broken\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0ca49b99_916d3ec7","line":1112,"range":{"start_line":1112,"start_character":7,"end_line":1112,"end_character":50},"in_reply_to":"7366c894_06d9f112","updated":"2026-08-17 17:17:30.000000000","message":"its called in _wait_for_server_parameter which is what gmaan linked too \nand _wait_for_state_change but your correct _wait_for_migration_status is checking the migration api not the server api so it has no reason to call the server api or return a updated server object\n\nit returns the migration \n\nhttps://github.com/openstack/nova/blob/1a4601ef3a120d898feda81dc1db4de3d99df7f7/nova/tests/functional/integrated_helpers.py#L272-L295\n\nso yes if we want to be sure the server is refreshed with the failed migration fault we should fetch a new copy here.\n\n server \u003d self._wait_for_server_parameter above may have updated it or it may not depnedign on the ordering.","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cee5e78569d129f14a3064b4cf9ce78334892457","unresolved":true,"context_lines":[{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"        # The migration should be in \u0027error\u0027 status."},{"line_number":1111,"context_line":"        self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":1112,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":1113,"context_line":"        # Assert a fault was recorded."},{"line_number":1114,"context_line":"        self.assertIn(\u0027fault\u0027, server)"},{"line_number":1115,"context_line":"        self.assertIn(\u0027Connection to the hypervisor is broken\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3b5a0215_0a017c56","line":1112,"range":{"start_line":1112,"start_character":7,"end_line":1112,"end_character":50},"in_reply_to":"7366c894_06d9f112","updated":"2026-08-18 01:21:38.000000000","message":"yeah, L1107 _wait_for_server_parameter() call is calling the get_server and fetch the response with \u0027fault\u0027 field (as parent fixed it) so this extra self.api.get_server is not needed as such.","commit_id":"ab50f021ac9144fabb45394163dedf170afda55a"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"452f9e64706646af33ecfaeb3b2962edd89f153f","unresolved":true,"context_lines":[{"line_number":6352,"context_line":"        # before the allocation and arqs is cleaned up after the failed"},{"line_number":6353,"context_line":"        # re-schedule so we don\u0027t have a wait to wait for a signal. So we"},{"line_number":6354,"context_line":"        # wait blindly to keep the test case stable. See"},{"line_number":6355,"context_line":"        # _cleanup_when_reschedule_fails for the sequence of events."},{"line_number":6356,"context_line":"        time.sleep(1)"},{"line_number":6357,"context_line":"        self._check_no_allocs_usage(server_uuid)"},{"line_number":6358,"context_line":"        self.cyborg.mock_del_arqs.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":3,"id":"14c91117_c9994817","line":6355,"updated":"2026-08-17 17:17:30.000000000","message":"unfortunet but i geuss the only other suggestion i have would be to do a get server here or some other call taht whs the same effect as the sleep","commit_id":"c052b3c70b5ff37168a2fd8a7c44ea6975af09eb"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cee5e78569d129f14a3064b4cf9ce78334892457","unresolved":true,"context_lines":[{"line_number":6352,"context_line":"        # before the allocation and arqs is cleaned up after the failed"},{"line_number":6353,"context_line":"        # re-schedule so we don\u0027t have a wait to wait for a signal. So we"},{"line_number":6354,"context_line":"        # wait blindly to keep the test case stable. See"},{"line_number":6355,"context_line":"        # _cleanup_when_reschedule_fails for the sequence of events."},{"line_number":6356,"context_line":"        time.sleep(1)"},{"line_number":6357,"context_line":"        self._check_no_allocs_usage(server_uuid)"},{"line_number":6358,"context_line":"        self.cyborg.mock_del_arqs.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":3,"id":"943a02b3_95639104","line":6355,"in_reply_to":"14c91117_c9994817","updated":"2026-08-18 01:21:38.000000000","message":"not sure if get server will help, i was thinking to wait_for_no_allocation but again that will also wait for sometime and call placement again so that is more worst than just sleep here.","commit_id":"c052b3c70b5ff37168a2fd8a7c44ea6975af09eb"}]}
