)]}'
{"nova/tests/functional/integrated_helpers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"79afef350366696768d1f5423ec5830d4c8ef9bd","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        }"},{"line_number":433,"context_line":"        self._migrate_or_resize(server, resize_req)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def _live_migrate(self, server, migration_final_status):"},{"line_number":436,"context_line":"        self.api.post_server_action("},{"line_number":437,"context_line":"            server[\u0027id\u0027],"},{"line_number":438,"context_line":"            {\u0027os-migrateLive\u0027: {\u0027host\u0027: None,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_415ead45","line":435,"range":{"start_line":435,"start_character":8,"end_line":435,"end_character":21},"updated":"2020-05-05 10:38:15.000000000","message":"It annoys me that this doesn\u0027t have a \u0027_server\u0027 suffix, but neither do most of the resize helpers so...","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"85695e093ffa3748556cb1b1088677111c5c428d","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        }"},{"line_number":433,"context_line":"        self._migrate_or_resize(server, resize_req)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def _live_migrate(self, server, migration_final_status):"},{"line_number":436,"context_line":"        self.api.post_server_action("},{"line_number":437,"context_line":"            server[\u0027id\u0027],"},{"line_number":438,"context_line":"            {\u0027os-migrateLive\u0027: {\u0027host\u0027: None,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_3ae1faff","line":435,"range":{"start_line":435,"start_character":8,"end_line":435,"end_character":21},"in_reply_to":"1f493fa4_415ead45","updated":"2020-05-05 19:02:25.000000000","message":"You can\u0027t live migrate anything *but* a server, so technically _live_migrate_server would be a pleonasm ;)","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"}],"nova/tests/functional/libvirt/test_numa_live_migration.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"187ca420111c802db042db064d188d435fa5d841","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self._assert_host_consumed_cpus(\u0027host_a\u0027, [])"},{"line_number":235,"context_line":"        self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":236,"context_line":"        self._assert_instance_pinned_cpus(self.server_a[\u0027id\u0027],"},{"line_number":237,"context_line":"                                          [0, 1], [2, 3])"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self._run_periodics()"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_7aaa62d2","line":237,"range":{"start_line":237,"start_character":42,"end_line":237,"end_character":56},"updated":"2020-05-05 18:51:58.000000000","message":"so. much. better.","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"85695e093ffa3748556cb1b1088677111c5c428d","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self._assert_host_consumed_cpus(\u0027host_a\u0027, [])"},{"line_number":235,"context_line":"        self._assert_host_consumed_cpus(\u0027host_b\u0027, [0, 1, 2, 3])"},{"line_number":236,"context_line":"        self._assert_instance_pinned_cpus(self.server_a[\u0027id\u0027],"},{"line_number":237,"context_line":"                                          [0, 1], [2, 3])"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        self._run_periodics()"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_fa3152a4","line":237,"range":{"start_line":237,"start_character":42,"end_line":237,"end_character":56},"in_reply_to":"1f493fa4_7aaa62d2","updated":"2020-05-05 19:02:25.000000000","message":"Yep, and there were a few others that I forgot.","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"187ca420111c802db042db064d188d435fa5d841","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        def live_migration(*args, **kwargs):"},{"line_number":276,"context_line":"            self._run_periodics()"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"            # During the migration, server_a is consuming CPUs 0,1 on host_a,"},{"line_number":279,"context_line":"            # while all 4 of host_b\u0027s CPU are consumed by server_b and the"},{"line_number":280,"context_line":"            # incoming # migration."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_1a835e58","line":277,"updated":"2020-05-05 18:51:58.000000000","message":"Whitespace damage :(","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"85695e093ffa3748556cb1b1088677111c5c428d","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        def live_migration(*args, **kwargs):"},{"line_number":276,"context_line":"            self._run_periodics()"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"            # During the migration, server_a is consuming CPUs 0,1 on host_a,"},{"line_number":279,"context_line":"            # while all 4 of host_b\u0027s CPU are consumed by server_b and the"},{"line_number":280,"context_line":"            # incoming # migration."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_bafeaaab","line":277,"in_reply_to":"1f493fa4_1a835e58","updated":"2020-05-05 19:02:25.000000000","message":"This was actually intentional, feels like better visual separation between running periodics, checking resource tracker CPUs, and checking migration status.","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e2d41f557d6575d9219d3f374bc41009e2749aa7","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        def live_migration(*args, **kwargs):"},{"line_number":276,"context_line":"            self._run_periodics()"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"            # During the migration, server_a is consuming CPUs 0,1 on host_a,"},{"line_number":279,"context_line":"            # while all 4 of host_b\u0027s CPU are consumed by server_b and the"},{"line_number":280,"context_line":"            # incoming # migration."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_bac18a31","line":277,"in_reply_to":"1f493fa4_1a899e25","updated":"2020-05-05 19:10:03.000000000","message":"OK, it\u0027s gone :)","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"54a801fca159a89cb3c5c59755a654f99f5e958c","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        def live_migration(*args, **kwargs):"},{"line_number":276,"context_line":"            self._run_periodics()"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"            # During the migration, server_a is consuming CPUs 0,1 on host_a,"},{"line_number":279,"context_line":"            # while all 4 of host_b\u0027s CPU are consumed by server_b and the"},{"line_number":280,"context_line":"            # incoming # migration."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_1a899e25","line":277,"in_reply_to":"1f493fa4_bafeaaab","updated":"2020-05-05 19:06:40.000000000","message":"That\u0027s fine, but when you\u0027re looking at git blame and you see a line changed with a subject line that looks like not-just-cleanup, it leads you down a rabbit hole. \"In addition to making this huge potentially destabilizing change, I also wanted an extra space here.\"","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"187ca420111c802db042db064d188d435fa5d841","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        \"\"\"Designed to stub fakelibvirt\u0027s migrateToURI3 and \"fail\" the"},{"line_number":307,"context_line":"        live migration by monkeypatching jobStats() to return an error."},{"line_number":308,"context_line":"        \"\"\""},{"line_number":309,"context_line":"        self.assertTrue(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        # During the migration, server_a is consuming CPUs 0,1 on host_a, while"},{"line_number":312,"context_line":"        # all 4 of host_b\u0027s CPU are consumed by server_b and the incoming"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_9a964e94","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":23},"updated":"2020-05-05 18:51:58.000000000","message":"Hrm, isn\u0027t this discouraged for anything other than actual bools? I thought we were always supposed to compare to something, or at least use assert_is_instance() type things...","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"85695e093ffa3748556cb1b1088677111c5c428d","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        \"\"\"Designed to stub fakelibvirt\u0027s migrateToURI3 and \"fail\" the"},{"line_number":307,"context_line":"        live migration by monkeypatching jobStats() to return an error."},{"line_number":308,"context_line":"        \"\"\""},{"line_number":309,"context_line":"        self.assertTrue(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        # During the migration, server_a is consuming CPUs 0,1 on host_a, while"},{"line_number":312,"context_line":"        # all 4 of host_b\u0027s CPU are consumed by server_b and the incoming"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_5a5966fc","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":23},"in_reply_to":"1f493fa4_9a964e94","updated":"2020-05-05 19:02:25.000000000","message":"Done","commit_id":"b822ff6ed0a3fcc486852869c5e97c9bf0583814"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"54a801fca159a89cb3c5c59755a654f99f5e958c","unresolved":false,"context_lines":[{"line_number":354,"context_line":"            self._rpc_pin_host(\u0027host_b\u0027)"},{"line_number":355,"context_line":"        self._live_migrate(self.server_a, \u0027error\u0027)"},{"line_number":356,"context_line":"        self.assertEqual(\u0027host_a\u0027, self.get_host(self.server_a[\u0027id\u0027]))"},{"line_number":357,"context_line":"        self.assertFalse(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Check consumed and pinned CPUs. Things should be as they were before"},{"line_number":360,"context_line":"        # the live migration, with CPUs 0,1 consumed on both hosts by the 2"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_1a8ebe26","line":357,"range":{"start_line":357,"start_character":7,"end_line":357,"end_character":24},"updated":"2020-05-05 19:06:40.000000000","message":"Shouldn\u0027t this be assertIsNone() then?","commit_id":"82a701bbda127f01d997dc5ac53c912d223db5f2"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e2d41f557d6575d9219d3f374bc41009e2749aa7","unresolved":false,"context_lines":[{"line_number":354,"context_line":"            self._rpc_pin_host(\u0027host_b\u0027)"},{"line_number":355,"context_line":"        self._live_migrate(self.server_a, \u0027error\u0027)"},{"line_number":356,"context_line":"        self.assertEqual(\u0027host_a\u0027, self.get_host(self.server_a[\u0027id\u0027]))"},{"line_number":357,"context_line":"        self.assertFalse(self._get_migration_context(self.server_a[\u0027id\u0027]))"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Check consumed and pinned CPUs. Things should be as they were before"},{"line_number":360,"context_line":"        # the live migration, with CPUs 0,1 consumed on both hosts by the 2"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_9acf6e56","line":357,"range":{"start_line":357,"start_character":7,"end_line":357,"end_character":24},"in_reply_to":"1f493fa4_1a8ebe26","updated":"2020-05-05 19:10:03.000000000","message":"Yeah","commit_id":"82a701bbda127f01d997dc5ac53c912d223db5f2"}]}
