)]}'
{"nova/scheduler/filters/instance_type_filter.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"ca161131bc3ac21c6ae5c9d99b397e4d5f590282","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import nova.scheduler"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova.scheduler.filters import abstract_filter"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F55Y%3D","line":19,"updated":"2011-10-28 18:06:44.000000000","message":"This blank line should be removed (HACKING).","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"ca161131bc3ac21c6ae5c9d99b397e4d5f590282","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova.scheduler.filters import abstract_filter"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(\u0027nova.scheduler.filter.abstract_filter\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class InstanceTypeFilter(abstract_filter.AbstractHostFilter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F55c%3D","line":23,"updated":"2011-10-28 18:06:44.000000000","message":"probably s/abstract_filter/instance_type_filter ?","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"75fb675599a70f31252ce613bf5dbbe63360bfe0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova.scheduler.filters import abstract_filter"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(\u0027nova.scheduler.filter.abstract_filter\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class InstanceTypeFilter(abstract_filter.AbstractHostFilter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F53M%3D","line":23,"in_reply_to":"AAAACX%2F%2F53k%3D","updated":"2011-10-28 18:13:28.000000000","message":"whoops, ignore that.","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"6893d258334bd79375b1fea51a852b6b38be3bb4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova.scheduler.filters import abstract_filter"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(\u0027nova.scheduler.filter.abstract_filter\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class InstanceTypeFilter(abstract_filter.AbstractHostFilter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F53k%3D","line":23,"in_reply_to":"AAAACX%2F%2F55c%3D","updated":"2011-10-28 18:12:08.000000000","message":"Hmm, nope, there are other filters that share the same abstract base class just to raise if not implemented.","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"}],"nova/scheduler/zone_manager.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"ca161131bc3ac21c6ae5c9d99b397e4d5f590282","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            disk \u003d instance[\u0027local_gb\u0027]"},{"line_number":242,"context_line":"            ram \u003d instance[\u0027memory_mb\u0027]"},{"line_number":243,"context_line":"            host_info \u003d host_info_map[instance[\u0027host\u0027]]"},{"line_number":244,"context_line":"            host_info.consume_resources(disk, ram)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        return host_info_map"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F55Q%3D","line":244,"updated":"2011-10-28 18:06:44.000000000","message":"Does this suffer the same problem as the initial \u0027quick fix\u0027?  Ie, we may be double-counting ram/disk?\n\nAlso, we had cases where instance[\u0027host\u0027] didn\u0027t match anything in the compute_nodes table.  I think it was stale data, but we should probably account for it.  So we need something like:\n\nhost_info \u003d host_info_map.get(instance[\u0027host\u0027])  and only update if it exists.","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"6893d258334bd79375b1fea51a852b6b38be3bb4","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            disk \u003d instance[\u0027local_gb\u0027]"},{"line_number":242,"context_line":"            ram \u003d instance[\u0027memory_mb\u0027]"},{"line_number":243,"context_line":"            host_info \u003d host_info_map[instance[\u0027host\u0027]]"},{"line_number":244,"context_line":"            host_info.consume_resources(disk, ram)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        return host_info_map"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F53g%3D","line":244,"in_reply_to":"AAAACX%2F%2F55Q%3D","updated":"2011-10-28 18:12:08.000000000","message":"Oh, it does ... I built this off that branch and may have lost the changes during this gerrit business.","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"6d7405d928f6be055b3c1d3c9ca2c2c22ca9556b","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        for instance in instances:"},{"line_number":241,"context_line":"            disk \u003d instance[\u0027local_gb\u0027]"},{"line_number":242,"context_line":"            ram \u003d instance[\u0027memory_mb\u0027]"},{"line_number":243,"context_line":"            host_info \u003d host_info_map[instance[\u0027host\u0027]]"},{"line_number":244,"context_line":"            host_info.consume_resources(disk, ram)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        return host_info_map"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F5f8%3D","line":243,"updated":"2011-10-31 21:30:49.000000000","message":"Due to stale data, this can cause an exception because an instance\u0027s host is not in the DB.  Had to change to host_info_map.get(...)  and only set if it exists in Rackspace environment.","commit_id":"8b91bcc1c61e14e8171d84647e42ff8ab19b2ab4"}],"nova/tests/scheduler/test_host_filter.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"ca161131bc3ac21c6ae5c9d99b397e4d5f590282","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from nova import exception"},{"line_number":23,"context_line":"from nova import test"},{"line_number":24,"context_line":"from nova.scheduler import zone_manager"},{"line_number":25,"context_line":"from nova.scheduler import distributed_scheduler as dist"},{"line_number":26,"context_line":"from nova.tests.scheduler import fake_zone_manager as ds_fakes"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F55M%3D","line":25,"updated":"2011-10-28 18:06:44.000000000","message":"zone_manager should come after distributed_scheduler (HACKING)","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"6893d258334bd79375b1fea51a852b6b38be3bb4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from nova import exception"},{"line_number":23,"context_line":"from nova import test"},{"line_number":24,"context_line":"from nova.scheduler import zone_manager"},{"line_number":25,"context_line":"from nova.scheduler import distributed_scheduler as dist"},{"line_number":26,"context_line":"from nova.tests.scheduler import fake_zone_manager as ds_fakes"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F53c%3D","line":25,"in_reply_to":"AAAACX%2F%2F55M%3D","updated":"2011-10-28 18:12:08.000000000","message":"whoopsy","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"}],"nova/tests/scheduler/test_least_cost.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"ca161131bc3ac21c6ae5c9d99b397e4d5f590282","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"import copy"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova import test"},{"line_number":21,"context_line":"from nova.scheduler import least_cost"},{"line_number":22,"context_line":"from nova.scheduler import zone_manager"},{"line_number":23,"context_line":"from nova.tests.scheduler import fake_zone_manager"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F55I%3D","line":20,"updated":"2011-10-28 18:06:44.000000000","message":"should be after nova.scheduler* imports (HACKING) before nova.tests.scheduler.","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"6893d258334bd79375b1fea51a852b6b38be3bb4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"import copy"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova import test"},{"line_number":21,"context_line":"from nova.scheduler import least_cost"},{"line_number":22,"context_line":"from nova.scheduler import zone_manager"},{"line_number":23,"context_line":"from nova.tests.scheduler import fake_zone_manager"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F53Y%3D","line":20,"in_reply_to":"AAAACX%2F%2F55I%3D","updated":"2011-10-28 18:12:08.000000000","message":"ah, that\u0027s new to me. thx","commit_id":"26b8bde11146d3d83cc9598169f4b05c27d2f5fe"}]}
