)]}'
{"glance/api/common.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"373ab8b2b3650cdf2e6747b147ba80f027c98f63","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            \u0027destination_ip\u0027: request.remote_addr,"},{"line_number":69,"context_line":"        }"},{"line_number":70,"context_line":"        if bytes_written !\u003d expected_size:"},{"line_number":71,"context_line":"            notify \u003d notifier.error"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            notify \u003d notifier.info"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FSgw%3D","side":"PARENT","line":71,"updated":"2012-09-25 16:56:16.000000000","message":"This is probably one to keep - this is saying that the glance-api server sent unexpected data. Since this isn\u0027t the fault of the user, it doesn\u0027t qualify for removal.","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"dff0d83d1cab4832e41d415c5bbee8ae9f07fcc2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            \u0027destination_ip\u0027: request.remote_addr,"},{"line_number":69,"context_line":"        }"},{"line_number":70,"context_line":"        if bytes_written !\u003d expected_size:"},{"line_number":71,"context_line":"            notify \u003d notifier.error"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            notify \u003d notifier.info"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FR3I%3D","side":"PARENT","line":71,"in_reply_to":"AAAALH%2F%2FSgw%3D","updated":"2012-09-26 12:34:10.000000000","message":"Ack, I admit I hesitated. :)","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"}],"glance/api/v1/images.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"373ab8b2b3650cdf2e6747b147ba80f027c98f63","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            msg \u003d _(\"Image storage media is full: %s\") % e"},{"line_number":485,"context_line":"            LOG.error(msg)"},{"line_number":486,"context_line":"            self._safe_kill(req, image_id)"},{"line_number":487,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":488,"context_line":"            raise HTTPRequestEntityTooLarge(explanation\u003dmsg, request\u003dreq,"},{"line_number":489,"context_line":"                                            content_type\u003d\u0027text/plain\u0027)"},{"line_number":490,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FSgk%3D","side":"PARENT","line":487,"updated":"2012-09-25 16:56:16.000000000","message":"This is a server-size configuration problem. Keep this notification.","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"dff0d83d1cab4832e41d415c5bbee8ae9f07fcc2","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            msg \u003d _(\"Image storage media is full: %s\") % e"},{"line_number":485,"context_line":"            LOG.error(msg)"},{"line_number":486,"context_line":"            self._safe_kill(req, image_id)"},{"line_number":487,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":488,"context_line":"            raise HTTPRequestEntityTooLarge(explanation\u003dmsg, request\u003dreq,"},{"line_number":489,"context_line":"                                            content_type\u003d\u0027text/plain\u0027)"},{"line_number":490,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FR24%3D","side":"PARENT","line":487,"in_reply_to":"AAAALH%2F%2FSgk%3D","updated":"2012-09-26 12:34:10.000000000","message":"Done","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"373ab8b2b3650cdf2e6747b147ba80f027c98f63","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            msg \u003d _(\"Insufficient permissions on image storage media: %s\") % e"},{"line_number":493,"context_line":"            LOG.error(msg)"},{"line_number":494,"context_line":"            self._safe_kill(req, image_id)"},{"line_number":495,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":496,"context_line":"            raise HTTPServiceUnavailable(explanation\u003dmsg, request\u003dreq,"},{"line_number":497,"context_line":"                                         content_type\u003d\u0027text/plain\u0027)"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FSgs%3D","side":"PARENT","line":495,"updated":"2012-09-25 16:56:16.000000000","message":"This is a server-size configuration problem. Keep this notification.","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"dff0d83d1cab4832e41d415c5bbee8ae9f07fcc2","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            msg \u003d _(\"Insufficient permissions on image storage media: %s\") % e"},{"line_number":493,"context_line":"            LOG.error(msg)"},{"line_number":494,"context_line":"            self._safe_kill(req, image_id)"},{"line_number":495,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":496,"context_line":"            raise HTTPServiceUnavailable(explanation\u003dmsg, request\u003dreq,"},{"line_number":497,"context_line":"                                         content_type\u003d\u0027text/plain\u0027)"},{"line_number":498,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FR20%3D","side":"PARENT","line":495,"in_reply_to":"AAAALH%2F%2FSgs%3D","updated":"2012-09-26 12:34:10.000000000","message":"Done","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"373ab8b2b3650cdf2e6747b147ba80f027c98f63","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                    \"%(exc)s\") % ({\u0027class_name\u0027: e.__class__.__name__,"},{"line_number":522,"context_line":"                    \u0027exc\u0027: str(e)})"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":525,"context_line":"            raise HTTPBadRequest(explanation\u003dmsg, request\u003dreq)"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"    def _activate(self, req, image_id, location):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FSgg%3D","side":"PARENT","line":524,"updated":"2012-09-25 16:56:16.000000000","message":"While this function does raise a 400 (signifying user fault), I don\u0027t think it would be the fault of the user if we caught an exception here (implying we should keep this notification and probably change the return code to 500). What do you think?","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"dff0d83d1cab4832e41d415c5bbee8ae9f07fcc2","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                    \"%(exc)s\") % ({\u0027class_name\u0027: e.__class__.__name__,"},{"line_number":522,"context_line":"                    \u0027exc\u0027: str(e)})"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"            self.notifier.error(\u0027image.upload\u0027, msg)"},{"line_number":525,"context_line":"            raise HTTPBadRequest(explanation\u003dmsg, request\u003dreq)"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"    def _activate(self, req, image_id, location):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FR2o%3D","side":"PARENT","line":524,"in_reply_to":"AAAALH%2F%2FSgg%3D","updated":"2012-09-26 12:34:10.000000000","message":"I checked the registry side code, but actually I think this code is OK. What the registry can raise in this update call is: NotFound, BadRequest or Forbidden, and as far as I can tell, the code here only tries to update using data from the user, so that makes sense.","commit_id":"091bbdf98680657ce6363a387e22dfbf88ed99b4"}]}
