)]}'
{"quantum/api/v2/base.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a7fea1eb774f47a2e209dffbfa651309bb0668f4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"             exceptions.Conflict: webob.exc.HTTPConflict,"},{"line_number":33,"context_line":"             exceptions.BadRequest: webob.exc.HTTPBadRequest,"},{"line_number":34,"context_line":"             exceptions.ServiceUnavailable: webob.exc.HTTPServiceUnavailable,"},{"line_number":35,"context_line":"             # Some plugins enforce policies as well"},{"line_number":36,"context_line":"             exceptions.NotAuthorized: webob.exc.HTTPForbidden,"},{"line_number":37,"context_line":"             netaddr.AddrFormatError: webob.exc.HTTPBadRequest,"},{"line_number":38,"context_line":"             AttributeError: webob.exc.HTTPBadRequest,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3KE%3D","line":35,"updated":"2012-12-30 14:40:33.000000000","message":"It this comment still needed? NotAuthorized is raised not only from plugins but also core features.","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d86f1d6889a063371a9aac75b73b6ffd75161693","unresolved":false,"context_lines":[{"line_number":32,"context_line":"             exceptions.Conflict: webob.exc.HTTPConflict,"},{"line_number":33,"context_line":"             exceptions.BadRequest: webob.exc.HTTPBadRequest,"},{"line_number":34,"context_line":"             exceptions.ServiceUnavailable: webob.exc.HTTPServiceUnavailable,"},{"line_number":35,"context_line":"             # Some plugins enforce policies as well"},{"line_number":36,"context_line":"             exceptions.NotAuthorized: webob.exc.HTTPForbidden,"},{"line_number":37,"context_line":"             netaddr.AddrFormatError: webob.exc.HTTPBadRequest,"},{"line_number":38,"context_line":"             AttributeError: webob.exc.HTTPBadRequest,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3GY%3D","line":35,"in_reply_to":"AAAAM3%2F%2F3KE%3D","updated":"2012-12-30 16:17:34.000000000","message":"Done","commit_id":"5961e0b985fd52654646289a62d28122045d297f"}],"quantum/common/exceptions.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a7fea1eb774f47a2e209dffbfa651309bb0668f4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    message \u003d _(\"Unsupported port state: %(port_state)s\")"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class InUse(Conflict):"},{"line_number":87,"context_line":"    message \u003d _(\"The resource is inuse\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3KI%3D","line":86,"updated":"2012-12-30 14:40:33.000000000","message":"InUse is widely used. It may be listed in FAULT_MAP. It depends on you.","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d86f1d6889a063371a9aac75b73b6ffd75161693","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    message \u003d _(\"Unsupported port state: %(port_state)s\")"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class InUse(Conflict):"},{"line_number":87,"context_line":"    message \u003d _(\"The resource is inuse\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3GQ%3D","line":86,"in_reply_to":"AAAAM3%2F%2F3KI%3D","updated":"2012-12-30 16:17:34.000000000","message":"Done","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a7fea1eb774f47a2e209dffbfa651309bb0668f4","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    message \u003d _(\"The resource is inuse\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"class ServiceUnavailable(QuantumException):"},{"line_number":91,"context_line":"    message \u003d _(\"The service is unailable\")"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3J8%3D","line":90,"updated":"2012-12-30 14:40:33.000000000","message":"It is better that base exceptions in FAULT_MAP are placed at the top of the file. If so, it is easy to check which exception is defined in FAULT_MAP.","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d86f1d6889a063371a9aac75b73b6ffd75161693","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    message \u003d _(\"The resource is inuse\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"class ServiceUnavailable(QuantumException):"},{"line_number":91,"context_line":"    message \u003d _(\"The service is unailable\")"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3GM%3D","line":90,"in_reply_to":"AAAAM3%2F%2F3J8%3D","updated":"2012-12-30 16:17:34.000000000","message":"Done","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d86f1d6889a063371a9aac75b73b6ffd75161693","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    message \u003d _(\"Malformed request body: %(reason)s\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class Invalid(Error):"},{"line_number":177,"context_line":"    pass"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3F4%3D","line":176,"updated":"2012-12-30 16:17:34.000000000","message":"At the moment this exception is only used when two plugins are started: ryu and meta plugin. It does not go through the web interface.","commit_id":"5961e0b985fd52654646289a62d28122045d297f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a7fea1eb774f47a2e209dffbfa651309bb0668f4","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    message \u003d _(\"Malformed request body: %(reason)s\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class Invalid(Error):"},{"line_number":177,"context_line":"    pass"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F3KM%3D","line":176,"updated":"2012-12-30 14:40:33.000000000","message":"Invalid is not listed in FAULT_MAP.\n\nThis exception is the only exception which inherits Error (from openstack.common). I have not understood which should be used Error and OpenStackException.","commit_id":"5961e0b985fd52654646289a62d28122045d297f"}],"quantum/plugins/ryu/db/api_v2.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"10ded9b17ad31ea57d47e717951a663ed028ae06","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            if count \u003e self._TRANSACTION_RETRY_MAX:"},{"line_number":173,"context_line":"                # if this happens too often, increase _TRANSACTION_RETRY_MAX"},{"line_number":174,"context_line":"                LOG.warn(_(\"Transaction retry reaches to %d. \""},{"line_number":175,"context_line":"                           \"abandon to allocate tunnel key.\"), count)"},{"line_number":176,"context_line":"                raise q_exc.ResourceExhausted()"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return new_key"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F3Ac%3D","line":175,"updated":"2012-12-31 04:05:37.000000000","message":"I am used to \u0027Abandon tunnel key allocation\u0027 since you are update the message.","commit_id":"d7ada474a3d9fb60a5b945900548e47ea5d190df"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":172,"context_line":"            if count \u003e self._TRANSACTION_RETRY_MAX:"},{"line_number":173,"context_line":"                # if this happens too often, increase _TRANSACTION_RETRY_MAX"},{"line_number":174,"context_line":"                LOG.warn(_(\"Transaction retry reaches to %d. \""},{"line_number":175,"context_line":"                           \"abandon to allocate tunnel key.\"), count)"},{"line_number":176,"context_line":"                raise q_exc.ResourceExhausted()"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return new_key"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F28k%3D","line":175,"in_reply_to":"AAAAM3%2F%2F3Ac%3D","updated":"2012-12-31 08:05:31.000000000","message":"Done","commit_id":"d7ada474a3d9fb60a5b945900548e47ea5d190df"}]}
