)]}'
{"nova/api/openstack/compute/contrib/hypervisors.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"4e88068d5899da0d615c905faaca664475c14bc6","unresolved":false,"context_lines":[{"line_number":293,"context_line":"    def _get_hypervisor(self, context, compute_id):"},{"line_number":294,"context_line":"        \"\"\"Get hypervisor locally, or from child cell.\"\"\""},{"line_number":295,"context_line":"        try:"},{"line_number":296,"context_line":"            cell_name, compute_id \u003d compute_id.split(\"-\")"},{"line_number":297,"context_line":"        except (ValueError, AttributeError):"},{"line_number":298,"context_line":"            raise webob.exc.HTTPNotFound()"},{"line_number":299,"context_line":"        responses \u003d self.cells_rpcapi.cell_broadcast_call(context, \"down\","}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALn%2F%2F0lU%3D","line":296,"updated":"2012-11-03 07:14:25.000000000","message":"Can ids ever conflict here? Like child compute id would be in multiple cells? Is anything stopping that?","commit_id":"408d8261227ce35207471272bc1bd7e250880fb9"},{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"61a033b478f38468d195f02ae28acda441a23594","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        return dict(hypervisor_statistics\u003dstats)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class CellsHypervisorsController(object):"},{"line_number":250,"context_line":"    \"\"\"The Hypervisors API controller for the OpenStack API for cells.\"\"\""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlyY%3D","line":249,"updated":"2013-01-15 01:02:31.000000000","message":"If possible, I\u0027d like to see the cells code out in it\u0027s own unit. The reason being that for the majority of openstack installs, cells will most likely not be used; these users shouldn\u0027t have to pay for cells in code size and management.\n\nCan we make a new api layer that a single controller calls, and have a cells implementation plus a non cells implementation controlled by options ?\n\nOr possible just a separate cells controller, and an option that chooses which one to use.","commit_id":"2373d45f3a92cc6bb6fb0371df47521e6579d913"},{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"61a033b478f38468d195f02ae28acda441a23594","unresolved":false,"context_lines":[{"line_number":252,"context_line":"    def __init__(self):"},{"line_number":253,"context_line":"        self.api \u003d compute_api.HostAPI()"},{"line_number":254,"context_line":"        self.cells_rpcapi \u003d cells_rpcapi.CellsAPI()"},{"line_number":255,"context_line":"        super(CellsHypervisorsController, self).__init__()"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def _view_hypervisor(self, hypervisor, detail, servers\u003dNone, **kwargs):"},{"line_number":258,"context_line":"        hyp_dict \u003d {"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2Fly0%3D","line":255,"updated":"2013-01-15 01:02:31.000000000","message":"Generally the call to super should be first in an __init__ method.","commit_id":"2373d45f3a92cc6bb6fb0371df47521e6579d913"},{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"61a033b478f38468d195f02ae28acda441a23594","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        self.cells_rpcapi \u003d cells_rpcapi.CellsAPI()"},{"line_number":255,"context_line":"        super(CellsHypervisorsController, self).__init__()"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def _view_hypervisor(self, hypervisor, detail, servers\u003dNone, **kwargs):"},{"line_number":258,"context_line":"        hyp_dict \u003d {"},{"line_number":259,"context_line":"            \u0027id\u0027: hypervisor[\u0027id\u0027],"},{"line_number":260,"context_line":"            \u0027hypervisor_hostname\u0027: hypervisor[\u0027hypervisor_hostname\u0027],"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2Flx8%3D","line":257,"updated":"2013-01-15 01:02:31.000000000","message":"I really like this method, and the way it\u0027s called to do the formatting everywhere :)","commit_id":"2373d45f3a92cc6bb6fb0371df47521e6579d913"}],"nova/cells/messaging.py":[{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"61a033b478f38468d195f02ae28acda441a23594","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"    def get_compute_node_by_id(self, ctxt, cell_name, compute_id):"},{"line_number":1148,"context_line":"        \"\"\"Return compute node entry from a specific cell by ID.\"\"\""},{"line_number":1149,"context_line":"        method_kwargs \u003d dict(compute_id\u003dcompute_id)"},{"line_number":1150,"context_line":"        message \u003d _TargetedMessage(self, ctxt, \u0027get_compute_node_stats\u0027,"},{"line_number":1151,"context_line":"                                    method_kwargs, \u0027down\u0027,"},{"line_number":1152,"context_line":"                                    cell_name, need_response\u003dTrue)"},{"line_number":1153,"context_line":"        return message.process()"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlYg%3D","line":1150,"updated":"2013-01-15 01:02:31.000000000","message":"should read \u0027get_compute_node_by_id\u0027","commit_id":"2373d45f3a92cc6bb6fb0371df47521e6579d913"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"703ba8fdb40b3cd74d9ee378680a0c410822fb38","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                    timeout\u003dtimeout)"},{"line_number":712,"context_line":"        rpc.cast(message.ctxt, topic, rpc_message)"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    def compute_node_get(self, message, compute_node_id):"},{"line_number":715,"context_line":"        \"\"\"Get compute node by ID.\"\"\""},{"line_number":716,"context_line":"        compute_node \u003d self.db.compute_node_get(message.ctxt,"},{"line_number":717,"context_line":"                                                compute_node_id)"}],"source_content_type":"text/x-python","patch_set":46,"id":"AAAAM3%2F%2Fjk0%3D","line":714,"updated":"2013-01-16 03:26:58.000000000","message":"should be compute_id not compute_node_id.","commit_id":"bfd3fb751252c46221791da5fa69566464945a6c"}],"nova/cells/rpcapi.py":[{"author":{"_account_id":4419,"name":"Matthew Sherborne","email":"msherborne+openstack@gmail.com","username":"msherborne+openstack"},"change_message_id":"61a033b478f38468d195f02ae28acda441a23594","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def get_compute_nodes(self, ctxt, hypervisor_match\u003dNone):"},{"line_number":199,"context_line":"        \"\"\"Return list of compute nodes in all cells.\"\"\""},{"line_number":200,"context_line":"        if not CONF.cells.enable:"},{"line_number":201,"context_line":"            return []"},{"line_number":202,"context_line":"        return self.call(ctxt,"},{"line_number":203,"context_line":"                         self.make_msg(\u0027get_compute_nodes\u0027,"},{"line_number":204,"context_line":"                                       hypervisor_match\u003dhypervisor_match),"}],"source_content_type":"text/x-python","patch_set":45,"id":"AAAAM3%2F%2FlYY%3D","line":201,"updated":"2013-01-15 01:02:31.000000000","message":"I think this should raise an exception.\n\nIf you\u0027re calling cells rpcapi, with cells disabled, something is wrong ..\n\nSame for all the others below. Perhaps it could be a @check_cells_is_on decorator that raises an exception for you","commit_id":"2373d45f3a92cc6bb6fb0371df47521e6579d913"}]}
