)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"6a51c62e22ad8e14497a65c8d5ecd230204322f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"99c5fbec_3b89a7a8","updated":"2022-03-14 12:04:12.000000000","message":"Still unstable","commit_id":"86152d78d9b64623185f1c517a546cd8b4ab13e6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"53c89f099ef82f9e537f43c588386d29d7e76872","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e37322cf_16484d83","updated":"2022-03-21 13:53:38.000000000","message":"\n70 successful runs in 10 mins with  \"tox -e functional  -- --until-failure 1944619\"\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 70 tests in 616.6872 sec.\n - Passed: 70\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 314.5939 sec.\n\nso upgrading to +2","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"04ca2e27a969cc7dc52bc581b718177e751376db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"42f30f44_fb60e1ac","updated":"2022-03-21 13:47:11.000000000","message":"+1 while i wait for my local test executions to hit the 10 minute mark\nRan: 35 tests in 303.3060 sec.\n - Passed: 35\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 0\nSum of execute time for each test: 156.7405 sec.\n\nso far so good","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"79d9ec33badec432e33750e3a18661757fae638e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"927ba116_8c80fa78","updated":"2022-03-16 16:44:04.000000000","message":"Finally got this test to be stable. Test result comparations here:\n\n[good] https://gist.github.com/sombrafam/03112dea45b3c6823eae94e47bc7511e\n[bad] https://gist.github.com/sombrafam/3088a3f014dc00e69925b96c351feaf5","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e3b80dfb7f1fa39ad8d047eeb81e32ef2ef1e488","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cef1b148_1a470357","updated":"2022-03-25 20:49:44.000000000","message":"Test LGTM, properly asserts the bug behavior before the fix and will demonstrate the correct behavior after the fix.","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b7dbdeea127e9c43e1c7e651e24d74a1bfe1d0e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fd92e2d2_84eea26f","in_reply_to":"927ba116_8c80fa78","updated":"2022-03-16 18:42:29.000000000","message":"thanks for keeping at this.\n\nill be back form PTO on monday but ill set review priority on this in the interim and review it fully when i get back","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"}],"nova/tests/functional/regressions/test_bug_1944619.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"608c549b824b605d7b1c80e7c388ce9c89f1089d","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        self.server \u003d self._create_server(host\u003d\u0027src\u0027, networks\u003d\u0027none\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Live migrate the instance to another host"},{"line_number":78,"context_line":"        self._live_migrate(self.server, migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":79,"context_line":"                           server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":80,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":81,"context_line":"        # rollback_live_migration_at_source is called if an error happens"}],"source_content_type":"text/x-python","patch_set":2,"id":"56a7cae0_c2144b6a","line":78,"range":{"start_line":78,"start_character":66,"end_line":78,"end_character":74},"updated":"2022-03-11 14:19:10.000000000","message":"ah so the raise on on error vs failed?","commit_id":"86152d78d9b64623185f1c517a546cd8b4ab13e6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a698e9ddc54e289189e122d19bc10617809afdc7","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        self.server \u003d self._create_server(host\u003d\u0027src\u0027, networks\u003d\u0027none\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Live migrate the instance to another host"},{"line_number":78,"context_line":"        self._live_migrate(self.server, migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":79,"context_line":"                           server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":80,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":81,"context_line":"        # rollback_live_migration_at_source is called if an error happens"}],"source_content_type":"text/x-python","patch_set":2,"id":"be9abd78_76484e40","line":78,"range":{"start_line":78,"start_character":66,"end_line":78,"end_character":74},"in_reply_to":"27319a0b_67fa4130","updated":"2022-05-17 12:30:14.000000000","message":"Done","commit_id":"86152d78d9b64623185f1c517a546cd8b4ab13e6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"de7573e22aece3e977ccdf427e61bd8b4e98f98f","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        self.server \u003d self._create_server(host\u003d\u0027src\u0027, networks\u003d\u0027none\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Live migrate the instance to another host"},{"line_number":78,"context_line":"        self._live_migrate(self.server, migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":79,"context_line":"                           server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":80,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":81,"context_line":"        # rollback_live_migration_at_source is called if an error happens"}],"source_content_type":"text/x-python","patch_set":2,"id":"68004c0b_13724446","line":78,"range":{"start_line":78,"start_character":66,"end_line":78,"end_character":74},"in_reply_to":"56a7cae0_c2144b6a","updated":"2022-03-11 14:45:29.000000000","message":"No, the status changes \u0027error\u0027, then \u0027failed\u0027, but if you raise on rollback_live_migration_at_source, you don\u0027t get to the point where it\u0027s changed. I removed the side_effect. It still reproduces the path we want to test.\nI believe there is a bug somewhere in mock, or fixtures that its not incrementing the mock calls when side effect is used. I have run this quite a lotin loop and didn\u0027t see it failing. Ill leave it running more later, but I\u0027m pretty sure its gone.","commit_id":"86152d78d9b64623185f1c517a546cd8b4ab13e6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"55b7d0bdd0f31718fbcc864566c6aab5bc87681d","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        self.server \u003d self._create_server(host\u003d\u0027src\u0027, networks\u003d\u0027none\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Live migrate the instance to another host"},{"line_number":78,"context_line":"        self._live_migrate(self.server, migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":79,"context_line":"                           server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":80,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":81,"context_line":"        # rollback_live_migration_at_source is called if an error happens"}],"source_content_type":"text/x-python","patch_set":2,"id":"27319a0b_67fa4130","line":78,"range":{"start_line":78,"start_character":66,"end_line":78,"end_character":74},"in_reply_to":"68004c0b_13724446","updated":"2022-03-11 15:41:27.000000000","message":"ah ok thanks for explianing.","commit_id":"86152d78d9b64623185f1c517a546cd8b4ab13e6"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e3b80dfb7f1fa39ad8d047eeb81e32ef2ef1e488","unresolved":true,"context_lines":[{"line_number":71,"context_line":"                # Live migrate the instance to another host"},{"line_number":72,"context_line":"                self._live_migrate(self.server,"},{"line_number":73,"context_line":"                                   migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":74,"context_line":"                                   server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":75,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":76,"context_line":"        # rollback_live_migration_at_source is called if an error happens"},{"line_number":77,"context_line":"        # during the  pre_live_migration phase on the destination and therefore"}],"source_content_type":"text/x-python","patch_set":3,"id":"578927fc_c31aeb63","line":74,"updated":"2022-03-25 20:49:44.000000000","message":"Ah, so the reason why the original version of this test intermittently failed is because it was waiting for migration status \u0027error\u0027 before moving on to the asserts below. And the \u0027error\u0027 status is set before _rollback_live_migration() is called [1]. So sometimes, depending on the timing, the test would reach the asserts before the (async) live migrate path reached the rollback_live_migration_at_source() call, so assert_called_once() would fail as ^ wasn\u0027t called yet at that time.\n\nNow since you are waiting for \u0027failed\u0027, it is guaranteed that rollback_live_migration_at_source() will have been called before \u0027failed\u0027 is set.\n\n[1] https://github.com/openstack/nova/blob/6a999d693e710b57c402e51258be7c5b85d4558f/nova/compute/manager.py#L8409","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"32c7563fe8c4cc72ef5b22d35826465f550731ff","unresolved":true,"context_lines":[{"line_number":71,"context_line":"                # Live migrate the instance to another host"},{"line_number":72,"context_line":"                self._live_migrate(self.server,"},{"line_number":73,"context_line":"                                   migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":74,"context_line":"                                   server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":75,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":76,"context_line":"        # rollback_live_migration_at_source is called if an error happens"},{"line_number":77,"context_line":"        # during the  pre_live_migration phase on the destination and therefore"}],"source_content_type":"text/x-python","patch_set":3,"id":"6952c16b_eabfffcd","line":74,"in_reply_to":"578927fc_c31aeb63","updated":"2022-03-28 15:54:04.000000000","message":"Thanks very much for the explanation. I was really curious about what was the problem, and I was thinking that should be something related to mocking not be done in the right context. I really appreciated your help.","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a698e9ddc54e289189e122d19bc10617809afdc7","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                # Live migrate the instance to another host"},{"line_number":72,"context_line":"                self._live_migrate(self.server,"},{"line_number":73,"context_line":"                                   migration_expected_state\u003d\u0027failed\u0027,"},{"line_number":74,"context_line":"                                   server_expected_state\u003d\u0027MIGRATING\u0027)"},{"line_number":75,"context_line":"        # FIXME(erlon): In the current behavior,"},{"line_number":76,"context_line":"        # rollback_live_migration_at_source is called if an error happens"},{"line_number":77,"context_line":"        # during the  pre_live_migration phase on the destination and therefore"}],"source_content_type":"text/x-python","patch_set":3,"id":"1278f10a_63a78306","line":74,"in_reply_to":"6952c16b_eabfffcd","updated":"2022-05-17 12:30:14.000000000","message":"Done","commit_id":"2ddb8bf53fdf9a17c09afc4987ab6efe8ba97696"}]}
