)]}'
{"nova/compute/resource_tracker.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"598a28ff68e14e905860a918073800df1d280343","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                # which is what happened before we added this optimization."},{"line_number":503,"context_line":"                # This _should_ not be possible, of course."},{"line_number":504,"context_line":"                LOG.error(_LE(\u0027Migration for instance %(uuid)s refers to \u0027"},{"line_number":505,"context_line":"                              \u0027another host\\\u0027s instance!\u0027),"},{"line_number":506,"context_line":"                          {\u0027uuid\u0027: migration.instance_uuid})"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_20bcaa04","line":505,"range":{"start_line":505,"start_character":43,"end_line":505,"end_character":45},"updated":"2016-02-03 20:54:42.000000000","message":"It would be better to use double quotes to avoid this\n\nhttps://www.python.org/dev/peps/pep-0008/#string-quotes","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1d950be2e60cd14ada008a00d9a05e0b8932836c","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                # which is what happened before we added this optimization."},{"line_number":503,"context_line":"                # This _should_ not be possible, of course."},{"line_number":504,"context_line":"                LOG.error(_LE(\u0027Migration for instance %(uuid)s refers to \u0027"},{"line_number":505,"context_line":"                              \u0027another host\\\u0027s instance!\u0027),"},{"line_number":506,"context_line":"                          {\u0027uuid\u0027: migration.instance_uuid})"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_406be11e","line":505,"range":{"start_line":505,"start_character":43,"end_line":505,"end_character":45},"in_reply_to":"5a5ae5dd_20bcaa04","updated":"2016-02-03 21:18:16.000000000","message":"That one part of PEP8 is wrong :D","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"}],"nova/objects/migration.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e9c5e749b044b5515139053ee32fc8fb3513f6c0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    @property"},{"line_number":121,"context_line":"    def instance(self):"},{"line_number":122,"context_line":"        if not hasattr(self, \u0027_cached_instance\u0027):"},{"line_number":123,"context_line":"            self._cached_instance \u003d objects.Instance.get_by_uuid("},{"line_number":124,"context_line":"                self._context, self.instance_uuid)"},{"line_number":125,"context_line":"        return self._cached_instance"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_591fe808","line":123,"range":{"start_line":123,"start_character":53,"end_line":123,"end_character":64},"updated":"2019-10-21 16:38:27.000000000","message":"We might want to join migration_context and flavor here since if we hit the KeyError in _pair_instances_to_migrations we\u0027re still going to load the Migration.instance this way and then need to lazy-load the migration_context and flavor on the instance:\n\nhttps://zuul.opendev.org/t/openstack/build/2b10b4a240b84245bcee3366db93951d/log/logs/screen-n-cpu.txt.gz#2655\n\nOct 21 13:35:16.639055 ubuntu-bionic-rax-iad-0012404623 nova-compute[26938]: DEBUG nova.compute.resource_tracker [None req-dd5ddbad-4234-4288-bbab-2c3d20b7f4ad None None] Migration for instance cd4148a2-4550-4e83-b6f7-c91752eaf779 refers to another host\u0027s instance! {{(pid\u003d26938) _pair_instances_to_migrations /opt/stack/new/nova/nova/compute/resource_tracker.py:899}}\n\nOct 21 13:35:16.679189 ubuntu-bionic-rax-iad-0012404623 nova-compute[26938]: DEBUG nova.objects.instance [None req-dd5ddbad-4234-4288-bbab-2c3d20b7f4ad None None] Lazy-loading \u0027migration_context\u0027 on Instance uuid cd4148a2-4550-4e83-b6f7-c91752eaf779 {{(pid\u003d26938) obj_load_attr /opt/stack/new/nova/nova/objects/instance.py:1086}}\n\nOct 21 13:35:16.687868 ubuntu-bionic-rax-iad-0012404623 nova-compute[26938]: INFO nova.compute.resource_tracker [None req-dd5ddbad-4234-4288-bbab-2c3d20b7f4ad None None] [instance: cd4148a2-4550-4e83-b6f7-c91752eaf779] Updating resource usage from migration 407fd025-e8ba-4012-ade7-d0255d2a1837\n\nOct 21 13:35:16.688171 ubuntu-bionic-rax-iad-0012404623 nova-compute[26938]: DEBUG nova.objects.instance [None req-dd5ddbad-4234-4288-bbab-2c3d20b7f4ad None None] Lazy-loading \u0027flavor\u0027 on Instance uuid cd4148a2-4550-4e83-b6f7-c91752eaf779 {{(pid\u003d26938) obj_load_attr /opt/stack/new/nova/nova/objects/instance.py:1086}}\n\n^ are the logs from a CI run where update_available_resource runs on the dest host to track the incoming migration before the instance.host is changed to point at the dest host so it\u0027s not in the dict of instances when _pair_instances_to_migrations runs.","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4fc539ca27bb955fbd3edc58eb1f6f3c904709db","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    @property"},{"line_number":121,"context_line":"    def instance(self):"},{"line_number":122,"context_line":"        if not hasattr(self, \u0027_cached_instance\u0027):"},{"line_number":123,"context_line":"            self._cached_instance \u003d objects.Instance.get_by_uuid("},{"line_number":124,"context_line":"                self._context, self.instance_uuid)"},{"line_number":125,"context_line":"        return self._cached_instance"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_5974c8d0","line":123,"range":{"start_line":123,"start_character":53,"end_line":123,"end_character":64},"in_reply_to":"3fa7e38b_591fe808","updated":"2019-10-21 17:07:59.000000000","message":"https://review.opendev.org/#/c/689846/","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"5061b0697a398bbb015dbaa7c8fda97f732faef8","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                instance.uuid,"},{"line_number":1025,"context_line":"                mock_pair.call_args_list[0][0][0][0].instance_uuid)"},{"line_number":1026,"context_line":"            self.assertEqual(instance.uuid,"},{"line_number":1027,"context_line":"                             mock_pair.call_args_list[0][0][1][0].uuid)"},{"line_number":1028,"context_line":"            self.assertEqual("},{"line_number":1029,"context_line":"                [\u0027system_metadata\u0027, \u0027numa_topology\u0027, \u0027flavor\u0027,"},{"line_number":1030,"context_line":"                 \u0027migration_context\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_fa7d0de8","line":1027,"updated":"2016-02-03 04:03:33.000000000","message":"Perhaps consider the following instead of indexing [0][0][0][0] \u0026 [0][0][1][0].\n\n    migrations, instances \u003d mock_pair.call_args[0]\n    self.assertEqual(instance.uuid, migrations[0].instance_uuid)\n    self.assertEqual(instance.uuid, instances[0].uuid)\n\nOr the following if you prefer `call_args_list`:\n\n    migrations, instances \u003d mock_pair.call_args_list[0][0]\n    self.assertEqual(instance.uuid, migrations[0].instance_uuid)\n    self.assertEqual(instance.uuid, instances[0].uuid)","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"598a28ff68e14e905860a918073800df1d280343","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                instance.uuid,"},{"line_number":1025,"context_line":"                mock_pair.call_args_list[0][0][0][0].instance_uuid)"},{"line_number":1026,"context_line":"            self.assertEqual(instance.uuid,"},{"line_number":1027,"context_line":"                             mock_pair.call_args_list[0][0][1][0].uuid)"},{"line_number":1028,"context_line":"            self.assertEqual("},{"line_number":1029,"context_line":"                [\u0027system_metadata\u0027, \u0027numa_topology\u0027, \u0027flavor\u0027,"},{"line_number":1030,"context_line":"                 \u0027migration_context\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_c031160d","line":1027,"in_reply_to":"5a5ae5dd_fa7d0de8","updated":"2016-02-03 20:54:42.000000000","message":"+1","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"64fc9ed9480f40f02bfb13c80b20db93e0977e98","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                instance.uuid,"},{"line_number":1025,"context_line":"                mock_pair.call_args_list[0][0][0][0].instance_uuid)"},{"line_number":1026,"context_line":"            self.assertEqual(instance.uuid,"},{"line_number":1027,"context_line":"                             mock_pair.call_args_list[0][0][1][0].uuid)"},{"line_number":1028,"context_line":"            self.assertEqual("},{"line_number":1029,"context_line":"                [\u0027system_metadata\u0027, \u0027numa_topology\u0027, \u0027flavor\u0027,"},{"line_number":1030,"context_line":"                 \u0027migration_context\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_2b0ed434","line":1027,"in_reply_to":"5a5ae5dd_fa7d0de8","updated":"2016-02-03 16:23:56.000000000","message":"Sure, if I have to rebase this again I\u0027ll change that.","commit_id":"7a9942c5924d7ccfe321c54d0b5e70cfb3aede57"}]}
