)]}'
{"nova/compute/api.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"fd5af5aea55bf3ec2f2d0b193b59b9a3ad1254b0","unresolved":false,"context_lines":[{"line_number":1797,"context_line":"    def add_host_to_aggregate(self, context, aggregate_id, host):"},{"line_number":1798,"context_line":"        \"\"\"Adds the host to an aggregate.\"\"\""},{"line_number":1799,"context_line":"        # validates the host; ComputeHostNotFound is raised if invalid"},{"line_number":1800,"context_line":"        service \u003d self.db.service_get_all_compute_by_host(context, host)[0]"},{"line_number":1801,"context_line":"        queue \u003d self.db.queue_get_for(context, service.topic, host)"},{"line_number":1802,"context_line":"        # add host, and reflects action in the aggregate operational state"},{"line_number":1803,"context_line":"        aggregate \u003d self.db.aggregate_get(context, aggregate_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEH%2F%2F%2BnE%3D","line":1800,"updated":"2012-01-24 22:39:17.000000000","message":"This lookup only needs to happen if the first conditional is met. You might as well move it there","commit_id":"5cce804c4cef8bc64db5b9f2f620de0e4386bcb5"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"fd5af5aea55bf3ec2f2d0b193b59b9a3ad1254b0","unresolved":false,"context_lines":[{"line_number":1798,"context_line":"        \"\"\"Adds the host to an aggregate.\"\"\""},{"line_number":1799,"context_line":"        # validates the host; ComputeHostNotFound is raised if invalid"},{"line_number":1800,"context_line":"        service \u003d self.db.service_get_all_compute_by_host(context, host)[0]"},{"line_number":1801,"context_line":"        queue \u003d self.db.queue_get_for(context, service.topic, host)"},{"line_number":1802,"context_line":"        # add host, and reflects action in the aggregate operational state"},{"line_number":1803,"context_line":"        aggregate \u003d self.db.aggregate_get(context, aggregate_id)"},{"line_number":1804,"context_line":"        if aggregate.operational_state in [aggregate_states.CREATED,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEH%2F%2F%2BnI%3D","line":1801,"updated":"2012-01-24 22:39:17.000000000","message":"You don\u0027t need to make this call until just before the rpc cast. There are several error cases that could happen between here and there which would result in a wasted db query.","commit_id":"5cce804c4cef8bc64db5b9f2f620de0e4386bcb5"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"fd5af5aea55bf3ec2f2d0b193b59b9a3ad1254b0","unresolved":false,"context_lines":[{"line_number":1830,"context_line":"        \"\"\"Removes host from the aggregate.\"\"\""},{"line_number":1831,"context_line":"        # validates the host; ComputeHostNotFound is raised if invalid"},{"line_number":1832,"context_line":"        service \u003d self.db.service_get_all_compute_by_host(context, host)[0]"},{"line_number":1833,"context_line":"        queue \u003d self.db.queue_get_for(context, service.topic, host)"},{"line_number":1834,"context_line":"        aggregate \u003d self.db.aggregate_get(context, aggregate_id)"},{"line_number":1835,"context_line":"        if aggregate.operational_state in [aggregate_states.ACTIVE,"},{"line_number":1836,"context_line":"                                           aggregate_states.ERROR]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEH%2F%2F%2BnA%3D","line":1833,"updated":"2012-01-24 22:39:17.000000000","message":"Similiar thing here: you can move the service and queue lookups down to the rpc.cast","commit_id":"5cce804c4cef8bc64db5b9f2f620de0e4386bcb5"}],"nova/compute/manager.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"fd5af5aea55bf3ec2f2d0b193b59b9a3ad1254b0","unresolved":false,"context_lines":[{"line_number":2185,"context_line":"                                          \" for FLAGS.running_deleted_\""},{"line_number":2186,"context_line":"                                          \"instance_action\"), locals())"},{"line_number":2187,"context_line":""},{"line_number":2188,"context_line":"    def add_aggregate_host(self, context, aggregate_id, host):"},{"line_number":2189,"context_line":"        raise NotImplementedError()"},{"line_number":2190,"context_line":""},{"line_number":2191,"context_line":"    def remove_aggregate_host(self, context, aggregate_id, host):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEH%2F%2F%2Bmw%3D","line":2188,"updated":"2012-01-24 22:39:17.000000000","message":"Could you add docstrings to these two functions, as I\u0027m not 100% sure what their responsibilities are at this level.","commit_id":"5cce804c4cef8bc64db5b9f2f620de0e4386bcb5"}]}
