)]}'
{"devstack/settings":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"531e930480791217174815809c7a9748c5199ecb","unresolved":false,"context_lines":[{"line_number":76,"context_line":"ES_SERVICE_BIND_PORT\u003d${ES_SERVICE_BIND_PORT:-9200}"},{"line_number":77,"context_line":"ES_SERVICE_PUBLISH_HOST\u003d${ES_SERVICE_PUBLISH_HOST:-${SERVICE_HOST}}"},{"line_number":78,"context_line":"ES_SERVICE_PUBLISH_PORT\u003d${ES_SERVICE_PUBLISH_PORT:-9300}"},{"line_number":79,"context_line":"ES_CLUSTER_NAME\u003d${ES_CLUSTER_NAME:-cluster_123}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"KIBANA_SERVICE_HOST\u003d${KIBANA_SERVICE_HOST:-${SERVICE_HOST}}"},{"line_number":82,"context_line":"KIBANA_SERVICE_PORT\u003d${KIBANA_SERVICE_PORT:-5601}"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"1a6eadb0_b355b9c7","line":79,"updated":"2016-12-13 06:29:10.000000000","message":"devstack, as it was before, please :)","commit_id":"38f6d039221b3432088b18d372fe312285b27a90"}],"monasca_log_api/error_handlers.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"974d8d0efd3f49c3ae0e5c92b25305848619b3fc","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import falcon"},{"line_number":16,"context_line":"from monasca_log_api.reference.common.model import LogEnvelopeException"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def log_envelope_exception_handler(ex, req, resp, params):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1a6eadb0_a7704441","line":16,"updated":"2016-12-16 21:25:17.000000000","message":"There should be an empty line between those.\n\nAlso I believe that, since this file is part of falcon implemention, this file should be moved to monasca_log_api/reference/common/\n\nPlus, you should not import concrete objects but modules, so this line should be\n\n  from monasca_log_api.reference.common import model","commit_id":"aaa013c02edc9011f4d5a23912b361923d5dcaa2"}],"monasca_log_api/reference/v2/logs.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9b93aa14e11db1768fe8b80b56f50bdd5dadaa22","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            res.append_header(\u0027DEPRECATED\u0027, \u0027true\u0027)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def get_envelope(self, log, tenant_id):"},{"line_number":83,"context_line":"        from monasca_log_api.reference.common.model import LogEnvelopeException"},{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            return self._log_creator.new_log_envelope("},{"line_number":86,"context_line":"                log_object\u003dlog,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_3c7815c4","line":83,"updated":"2016-12-12 05:58:01.000000000","message":"I would go into error translation from Falcon, code much cleaner and stuff like that :)","commit_id":"279baca5822ec65244bf9612e872be388e6e9a84"}],"monasca_log_api/server.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"6cd3974d51771c680596693b6e2224a58e6d6c83","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def register_error_handlers(app):"},{"line_number":95,"context_line":"    from monasca_log_api.reference.common.model import LogEnvelopeException"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def log_envelope_exception_handler(ex, req, resp, params):"},{"line_number":98,"context_line":"        raise falcon.HTTPUnprocessableEntity("}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_153ae736","line":95,"updated":"2016-12-12 18:40:24.000000000","message":"Import should be always at the top of the file + I think that better idea would be to move such classes, function into seperate module.","commit_id":"c90ee658a0326d81f50c5f22d6646c161a29ae56"},{"author":{"_account_id":23043,"name":"Jakub Wachowski","email":"jakub.wachowski@ts.fujitsu.com","username":"wachowskij"},"change_message_id":"ff9daeafa9be3b8c6744f5fd4f10092561f06c34","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def register_error_handlers(app):"},{"line_number":95,"context_line":"    from monasca_log_api.reference.common.model import LogEnvelopeException"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def log_envelope_exception_handler(ex, req, resp, params):"},{"line_number":98,"context_line":"        raise falcon.HTTPUnprocessableEntity("}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_f35d71ed","line":95,"in_reply_to":"1a6eadb0_153ae736","updated":"2016-12-13 06:30:54.000000000","message":"Will after I finally make the tempest work.. Right now it seems to be kind of random","commit_id":"c90ee658a0326d81f50c5f22d6646c161a29ae56"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"531e930480791217174815809c7a9748c5199ecb","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def register_error_handlers(app):"},{"line_number":95,"context_line":"    from monasca_log_api.reference.common.model import LogEnvelopeException"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def log_envelope_exception_handler(ex, req, resp, params):"},{"line_number":98,"context_line":"        raise falcon.HTTPUnprocessableEntity("}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_d35235dd","line":95,"updated":"2016-12-13 06:29:10.000000000","message":"Still import is in wrong place.","commit_id":"38f6d039221b3432088b18d372fe312285b27a90"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"974d8d0efd3f49c3ae0e5c92b25305848619b3fc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import os"},{"line_number":17,"context_line":"from wsgiref import simple_server"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from error_handlers import register_error_handlers"},{"line_number":20,"context_line":"import falcon"},{"line_number":21,"context_line":"from monasca_common.simport import simport"},{"line_number":22,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":25,"id":"1a6eadb0_e7095c96","line":19,"updated":"2016-12-16 21:25:17.000000000","message":"Should not be relative import. This should look like\n\n  from monasca_log_api... import error_handlers\n\nbecause, according to OS guidelines, you should import modules instead of concrete objects. Check my comment in error_handlers file too.","commit_id":"aaa013c02edc9011f4d5a23912b361923d5dcaa2"}],"monasca_log_api_tempest/tests/log_api/test_constraints.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"6cd3974d51771c680596693b6e2224a58e6d6c83","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class TestLogApiConstraints(base.BaseLogsTestCase):"},{"line_number":22,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":23,"context_line":"    def test_should_reject_if_body_is_empty(self):"},{"line_number":24,"context_line":"        headers \u003d base._get_headers()"},{"line_number":25,"context_line":"        for cli in self.logs_clients.itervalues():"},{"line_number":26,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_b51133b2","line":23,"updated":"2016-12-12 18:40:24.000000000","message":"that should be another test. Content length might mean that there is something in the payload but still there are no logs.","commit_id":"c90ee658a0326d81f50c5f22d6646c161a29ae56"},{"author":{"_account_id":23043,"name":"Jakub Wachowski","email":"jakub.wachowski@ts.fujitsu.com","username":"wachowskij"},"change_message_id":"ff9daeafa9be3b8c6744f5fd4f10092561f06c34","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class TestLogApiConstraints(base.BaseLogsTestCase):"},{"line_number":22,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":23,"context_line":"    def test_should_reject_if_body_is_empty(self):"},{"line_number":24,"context_line":"        headers \u003d base._get_headers()"},{"line_number":25,"context_line":"        for cli in self.logs_clients.itervalues():"},{"line_number":26,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_f32bb131","line":23,"in_reply_to":"1a6eadb0_b51133b2","updated":"2016-12-13 06:30:54.000000000","message":"The case with the current test is that it assumes that the Content-Length header is not sent to the log-api, but as a matter of fact it is automatically set to \u0027Content-Length: 0\u0027, which results in error","commit_id":"c90ee658a0326d81f50c5f22d6646c161a29ae56"}]}
