)]}'
{"nova/api/openstack/compute/contrib/hosts.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"972b62d9710bd553ffc09e2867fc0344b6be194f","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @wsgi.serializers(xml\u003dHostIndexTemplate)"},{"line_number":183,"context_line":"    def index(self, req):"},{"line_number":184,"context_line":"        \"\"\""},{"line_number":185,"context_line":"        :returns: A dict in the format:"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            {\u0027hosts\u0027: [{\u0027host_name\u0027: \u0027some.host.name\u0027,"},{"line_number":188,"context_line":"               \u0027service\u0027: \u0027cells\u0027},"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALn%2F%2F0lA%3D","line":185,"updated":"2012-11-03 07:22:48.000000000","message":"The tree structure that is established by cells is lost, is that intentional?","commit_id":"b06dfe6ecefd8b6913dc6cef098188efeec737a6"}],"nova/cells/rpcapi.py":[{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"51e3e1dc21c7c10d53ac782d3e899aff2ebd049e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                             topic\u003dtopic,"},{"line_number":184,"context_line":"                                             rpc_message\u003drpc_message,"},{"line_number":185,"context_line":"                                             call\u003dcall,"},{"line_number":186,"context_line":"                                             timeout\u003dtimeout),"},{"line_number":187,"context_line":"                         timeout\u003dtimeout,"},{"line_number":188,"context_line":"                         version\u003d\u00271.2\u0027)"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlGA%3D","line":186,"updated":"2013-01-15 06:53:56.000000000","message":"It seems a bit weird that we\u0027re using timeout both for our call to our RPC server, and also passing it as a param so that the child cell can use it in it\u0027s RPC call.\n\nSo the effect would be either:\n\n + The real timeout is no_of_cells*timeout_param\n + The top level timeout will nullify all timeouts passed down, because as soon as it times out it doesn\u0027t matter if the child calls return or not","commit_id":"a2a899877c5d8c68f6d755fb727f8247f29602cb"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"213f7078d62936cb5738a9e833d44e87d4ecd5db","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                             topic\u003dtopic,"},{"line_number":184,"context_line":"                                             rpc_message\u003drpc_message,"},{"line_number":185,"context_line":"                                             call\u003dcall,"},{"line_number":186,"context_line":"                                             timeout\u003dtimeout),"},{"line_number":187,"context_line":"                         timeout\u003dtimeout,"},{"line_number":188,"context_line":"                         version\u003d\u00271.2\u0027)"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlEc%3D","line":186,"in_reply_to":"AAAAM3%2F%2FlGA%3D","updated":"2013-01-15 07:43:14.000000000","message":"Imagine the case where the RPC timeout in the child cell is configured to be smaller than the timeout wanted by the call here.  The larger timeout that is wanted needs to be passed down.  Yes, it\u0027s slightly kludgy in that the cell\u003c-\u003ecell timeout comes into play here.  I need to make that behave with this.  It\u0027s such a small issue that I\u0027ll just file a bug for it after this patch lands and fix it sometime later.  Even if the child cell has a much larger timeout... you\u0027d want it to exit out as early as possible so we don\u0027t have wasted resources just sitting around for no useful purpose.","commit_id":"a2a899877c5d8c68f6d755fb727f8247f29602cb"}],"nova/cells/utils.py":[{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"47ad20fc07ffaf0b6ca966af216c63ef6e579c91","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def split_host_and_cell(cell_and_host):"},{"line_number":63,"context_line":"    \"\"\"Split a combined cell@host and return them.\"\"\""},{"line_number":64,"context_line":"    return cell_and_host.split(_PATH_HOST_SEP)"}],"source_content_type":"text/x-python","patch_set":32,"id":"AAAAM3%2F%2Fm7w%3D","line":64,"updated":"2013-01-14 05:33:33.000000000","message":"Perhaps it\u0027d be good to check that there\u0027s only 2 strings in the retval, and throw an exception saying: \"Invalid cell/host name; should have one and only one \u0027%s\u0027 separator\" % _PATH_HOST_SEP\n\nThat would be easier to find if it was thrown here, rather than at some unpredictable higher level.","commit_id":"0230c221f29cd9edde6c63f574501a422c7437ba"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"f543453d7f123937d0a99e441a6e00d04916bcf7","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def split_host_and_cell(cell_and_host):"},{"line_number":63,"context_line":"    \"\"\"Split a combined cell@host and return them.\"\"\""},{"line_number":64,"context_line":"    return cell_and_host.split(_PATH_HOST_SEP)"}],"source_content_type":"text/x-python","patch_set":32,"id":"AAAAM3%2F%2Fm0s%3D","line":64,"in_reply_to":"AAAAM3%2F%2Fm7w%3D","updated":"2013-01-14 08:38:29.000000000","message":"I\u0027ll add an argument to it so it only splits once.","commit_id":"0230c221f29cd9edde6c63f574501a422c7437ba"},{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"1763c58a6bfc641382591700a612981ca26603c1","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    \"\"\""},{"line_number":76,"context_line":"    compute_node[\u0027id\u0027] \u003d cell_with_item(cell_name, compute_node[\u0027id\u0027])"},{"line_number":77,"context_line":"    # Might have a \u0027service\u0027 backref.  But if is_primitive() was used"},{"line_number":78,"context_line":"    # on this and it recursed too deep, \u0027service\u0027 may be \"?\"."},{"line_number":79,"context_line":"    service \u003d compute_node.get(\u0027service\u0027)"},{"line_number":80,"context_line":"    if isinstance(service, dict):"},{"line_number":81,"context_line":"        _add_cell_to_service(service, cell_name)"}],"source_content_type":"text/x-python","patch_set":49,"id":"AAAAM3%2F%2Fgeo%3D","line":78,"updated":"2013-01-18 01:25:31.000000000","message":"What if it\u0027s not a dict ? perhaps we should debug log it ? or raise ?","commit_id":"b56ed9d5ee08499fb9315d2e7d15bb2584add2c1"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"e59a54f167a76584c6d849c0bb29835815b46a16","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    \"\"\""},{"line_number":76,"context_line":"    compute_node[\u0027id\u0027] \u003d cell_with_item(cell_name, compute_node[\u0027id\u0027])"},{"line_number":77,"context_line":"    # Might have a \u0027service\u0027 backref.  But if is_primitive() was used"},{"line_number":78,"context_line":"    # on this and it recursed too deep, \u0027service\u0027 may be \"?\"."},{"line_number":79,"context_line":"    service \u003d compute_node.get(\u0027service\u0027)"},{"line_number":80,"context_line":"    if isinstance(service, dict):"},{"line_number":81,"context_line":"        _add_cell_to_service(service, cell_name)"}],"source_content_type":"text/x-python","patch_set":49,"id":"AAAAM3%2F%2FgVk%3D","line":78,"in_reply_to":"AAAAM3%2F%2Fgeo%3D","updated":"2013-01-18 03:06:10.000000000","message":"it\u0027s normal behavior of is_primitive() and passing around objects between services, unfortunately.  If it\u0027s not a dict here, then [\u0027service\u0027] cannot reasonably be used... therefore ignoring it is fine.","commit_id":"b56ed9d5ee08499fb9315d2e7d15bb2584add2c1"}],"nova/compute/cells_api.py":[{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"51e3e1dc21c7c10d53ac782d3e899aff2ebd049e","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                                                     filters\u003dfilters)"},{"line_number":522,"context_line":"        return availability_zones.set_availability_zones(context, services)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    def service_get_by_compute_host(self, context, host_name):"},{"line_number":525,"context_line":"        return self.cells_rpcapi.service_get_by_compute_host(context,"},{"line_number":526,"context_line":"                                                             host_name)"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlFs%3D","line":524,"updated":"2013-01-15 06:53:56.000000000","message":"Maybe we should just verify that host_name has a valid path!to!cell here before hitting the rpc","commit_id":"a2a899877c5d8c68f6d755fb727f8247f29602cb"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"213f7078d62936cb5738a9e833d44e87d4ecd5db","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                                                     filters\u003dfilters)"},{"line_number":522,"context_line":"        return availability_zones.set_availability_zones(context, services)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    def service_get_by_compute_host(self, context, host_name):"},{"line_number":525,"context_line":"        return self.cells_rpcapi.service_get_by_compute_host(context,"},{"line_number":526,"context_line":"                                                             host_name)"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlEA%3D","line":524,"in_reply_to":"AAAAM3%2F%2FlFs%3D","updated":"2013-01-15 07:43:14.000000000","message":"Maybe, but I was trying to keep the code that dealt with this behavior within the cells manager itself..  Maybe it\u0027s better to be here, but I dunno.","commit_id":"a2a899877c5d8c68f6d755fb727f8247f29602cb"}],"nova/tests/cells/test_cells_messaging.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"73f70cdc5962199288e90e8f1e41bb02a9549a82","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                fake_host_name,"},{"line_number":789,"context_line":"                fake_topic,"},{"line_number":790,"context_line":"                fake_rpc_message, False, timeout\u003dNone)"},{"line_number":791,"context_line":""},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"class CellsBroadcastMethodsTestCase(test.TestCase):"},{"line_number":794,"context_line":"    \"\"\"Test case for _BroadcastMessageMethods class.  Most of these"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FkMM%3D","line":791,"updated":"2013-01-15 20:19:54.000000000","message":"No idea how these tests pass.  They are completely wrong.","commit_id":"a2a899877c5d8c68f6d755fb727f8247f29602cb"}]}
