)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d00cf34c9bb280093a096c9593e2d991715c0a3d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"We can handle this case in both the HostManager and ComputeManager"},{"line_number":19,"context_line":"by not casting from the compute if there is no information to send,"},{"line_number":20,"context_line":"and we can also handle it in the HostManager (for older computes)"},{"line_number":21,"context_line":"but just dealing with the HostMappingNotFound gracefully."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This information eventually self-heals via normal operation."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bff0334d_94525b3a","line":21,"updated":"2017-04-11 11:22:45.000000000","message":"by?","commit_id":"b142a8a4ca5213c7790ded89e8bee387f5dbf8ce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"94ef26cc92825eab0e56036e797e3f404abadeb4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"We can handle this case in both the HostManager and ComputeManager"},{"line_number":19,"context_line":"by not casting from the compute if there is no information to send,"},{"line_number":20,"context_line":"and we can also handle it in the HostManager (for older computes)"},{"line_number":21,"context_line":"but just dealing with the HostMappingNotFound gracefully."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This information eventually self-heals via normal operation."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df140735_479b1117","line":21,"updated":"2017-06-02 19:59:53.000000000","message":"s/but just/by just/","commit_id":"aa943499128ba77b062dff75ec9b48e54f7d5021"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c12243b7dd2198af707424f680e9153d353c966a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        self.aggregates \u003d []"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        # Instances on this host"},{"line_number":148,"context_line":"        self.instances \u003d {}"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Allocation ratios for this host"},{"line_number":151,"context_line":"        self.ram_allocation_ratio \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_5b17b8ee","line":148,"updated":"2017-04-07 14:32:51.000000000","message":"So by default the list by hosts is an empty dict. I think it\u0027s totally okay to *not* call the scheduler for something also empty... That\u0027s just creating more race conditions than it\u0027s needed.","commit_id":"e0378ec6321f2526a237890550215b7407c476e9"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"59d335b3f15824fdc2cba154a9e8bada0e6d0a33","unresolved":false,"context_lines":[{"line_number":587,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":588,"context_line":"                \u0027_destroy_evacuated_instances\u0027)"},{"line_number":589,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager._init_instance\u0027,"},{"line_number":590,"context_line":"                mock.NonCallableMock())"},{"line_number":591,"context_line":"    @mock.patch(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":592,"context_line":"                \u0027_update_scheduler_instance_info\u0027, mock.NonCallableMock())"},{"line_number":593,"context_line":"    def test_init_host_no_instances(self, mock_destroy_evac_instances,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_f6e09428","line":590,"range":{"start_line":590,"start_character":16,"end_line":590,"end_character":38},"updated":"2017-06-02 23:36:27.000000000","message":"Nice trick, I\u0027m gonna steal it.","commit_id":"aa943499128ba77b062dff75ec9b48e54f7d5021"}],"nova/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"59d335b3f15824fdc2cba154a9e8bada0e6d0a33","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        ctxt \u003d nova_context.RequestContext()"},{"line_number":783,"context_line":"        instance_info \u003d objects.InstanceList()"},{"line_number":784,"context_line":"        self.host_manager.update_instance_info(ctxt, \u0027host1\u0027, instance_info)"},{"line_number":785,"context_line":"        self.assertDictEqual("},{"line_number":786,"context_line":"            {}, self.host_manager._instance_info[\u0027host1\u0027][\u0027instances\u0027])"},{"line_number":787,"context_line":"        get_by_host.assert_called_once_with(ctxt, \u0027host1\u0027)"},{"line_number":788,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_f6b9b414","line":785,"range":{"start_line":785,"start_character":8,"end_line":785,"end_character":28},"updated":"2017-06-02 23:36:27.000000000","message":"Another thing I didn\u0027t know about. Nice.","commit_id":"aa943499128ba77b062dff75ec9b48e54f7d5021"}]}
