)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5347,"name":"Eddie Sheffield","email":"eddie.sheffield@rackspace.com","username":"eddie-sheffield"},"change_message_id":"e3b6dd90b6e0605fa87cff340cd9075c4dce32fe","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jin Long Wang \u003cagileclipse@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-11 23:38:22 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add logs in images.py which in both glance v1 and v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In both glance v1 and v2, if policies forbide an action, when it occurs there are no logs."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2FmjQ%3D","line":7,"updated":"2014-02-12 03:24:33.000000000","message":"First line should be no more than 50 chars. Also a little awkward to read and doesn\u0027t quite summarize as well as it might. Perhaps something like:\n\n\"Add logging when policies forbid an action\"\n\nExpand on the details (images.py in both v1 and v2) in the longer description.","commit_id":"a0b8bb27513f67e9f07d9d0acdd47e6bbbb9ca26"},{"author":{"_account_id":5347,"name":"Eddie Sheffield","email":"eddie.sheffield@rackspace.com","username":"eddie-sheffield"},"change_message_id":"e3b6dd90b6e0605fa87cff340cd9075c4dce32fe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add logs in images.py which in both glance v1 and v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In both glance v1 and v2, if policies forbide an action, when it occurs there are no logs."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1270229"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2Fmio%3D","line":9,"updated":"2014-02-12 03:24:33.000000000","message":"Lines in the description of the commit must be broken at 72 characters maximum. For example:\n\n\"There is currently no logging in images.py of glance API v1 or v2 when\npolicies forbid an action. This patch adds logging in these situations.","commit_id":"a0b8bb27513f67e9f07d9d0acdd47e6bbbb9ca26"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"44884456644f28b743e9292df52afa092bd81200","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add logs in images.py which in both glance v1 and v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In both glance v1 and v2, if policies forbide an action, when it occurs there are no logs."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1270229"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2FmiA%3D","line":9,"updated":"2014-02-12 03:26:08.000000000","message":"See http://docs.openstack.org/developer/hacking/#commit-messages","commit_id":"a0b8bb27513f67e9f07d9d0acdd47e6bbbb9ca26"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"d5f51f845a09935960884d51299e813383f5bb61","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In both glance v1 and v2, if policies forbide an action, when it occurs there are no logs."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1270229"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I32afbfc98a3de6370b0396f39c2cf481f6fc47a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2FllM%3D","line":11,"updated":"2014-02-12 06:59:43.000000000","message":"From the bug report and what you did in this change, I think this patch is a partial fix, for example IMO followings are related to this bug also (it\u0027s not a complete list):\n\nhttps://github.com/openstack/glance/blob/master/glance/api/v2/image_data.py#L156\n\nhttps://github.com/openstack/glance/blob/master/glance/api/v2/image_members.py#L72\n\nhttps://github.com/openstack/glance/blob/master/glance/api/v2/image_tags.py#L64\n\nhttps://github.com/openstack/glance/blob/master/glance/api/v1/members.py#L47\n\nSo in short, I prefer to:\n1. Change this to Partial-Bug: #1270229\n2. If you plan to *closes* this bug you need to change more files.\n\nthanks.","commit_id":"a0b8bb27513f67e9f07d9d0acdd47e6bbbb9ca26"}],"glance/api/cached_images.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"e72260d6bb3722e8aad60e3ea815b5db39b9c1ae","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":45,"context_line":"        except exception.Forbidden as e:"},{"line_number":46,"context_line":"            LOG.debug(unicode(e))"},{"line_number":47,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dunicode(e))"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUX%2F%2B8Ck%3D","line":46,"updated":"2014-02-18 04:15:32.000000000","message":"Nit: a minor suggestion is that what about do unicode() conversion first, catch the result, and reuse it at next line. This can save CPU tick you know.\n\n    msg \u003d unicode(e)\n    LOG.debug(msg)\n    raise webob.exc.HTTPForbidden(explanation\u003dmsg)\n\nThis comment is also applicable for other change lines in this patch. Thanks.","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"78cc3dcdb191502bf57349823afb6cf348beaad4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":45,"context_line":"        except exception.Forbidden as e:"},{"line_number":46,"context_line":"            LOG.debug(unicode(e))"},{"line_number":47,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dunicode(e))"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_0d511c0e","line":46,"in_reply_to":"AAAAU3%2F%2FiVs%3D","updated":"2014-08-27 10:29:57.000000000","message":"even better use utils.exception_to_str(e)","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"abeabad0d3dee2f2e4e9a741864413b1c7017a73","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":45,"context_line":"        except exception.Forbidden as e:"},{"line_number":46,"context_line":"            LOG.debug(unicode(e))"},{"line_number":47,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003dunicode(e))"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAU3%2F%2FiVs%3D","line":46,"in_reply_to":"AAAAUX%2F%2B8Ck%3D","updated":"2014-02-26 02:41:02.000000000","message":"btw, pls use six.text_type() instead unicode() to improve py3 compatibility.","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"35156f7b15d2d4b419722c3de37fca674bc5d17a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":47,"context_line":"        except exception.Forbidden:"},{"line_number":48,"context_line":"            LOG.warning(_LW(\"User is not allowed to manage the image cache.\"))"},{"line_number":49,"context_line":"            raise webob.exc.HTTPForbidden()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f7ed3226","line":48,"updated":"2015-01-07 14:30:04.000000000","message":"Most of the other warning messages have \"User not permitted...\" instead of \"User is not allowed...\"\n\nShould these be consistent?","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"60f073da5e93d6416cc0542709ee0579df293ca2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":47,"context_line":"        except exception.Forbidden:"},{"line_number":48,"context_line":"            LOG.warning(_LW(\"User is not allowed to manage the image cache.\"))"},{"line_number":49,"context_line":"            raise webob.exc.HTTPForbidden()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_af08aa2d","line":48,"in_reply_to":"3a961159_f7ed3226","updated":"2015-01-07 21:10:51.000000000","message":"+1","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":47,"context_line":"        except exception.Forbidden:"},{"line_number":48,"context_line":"            LOG.warning(_LW(\"User is not allowed to manage the image cache.\"))"},{"line_number":49,"context_line":"            raise webob.exc.HTTPForbidden()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_7062faad","line":48,"in_reply_to":"3a961159_f7ed3226","updated":"2015-01-08 22:44:45.000000000","message":"Done","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"532b9a02d74762cc94e26aeb21c70f3ca55d3c1e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.policy.enforce(req.context, \u0027manage_image_cache\u0027, {})"},{"line_number":47,"context_line":"        except exception.Forbidden:"},{"line_number":48,"context_line":"            LOG.warning(_LW(\"User not permitted to manage the image cache.\"))"},{"line_number":49,"context_line":"            raise webob.exc.HTTPForbidden()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def get_cached_images(self, req):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_50133eb7","line":48,"updated":"2015-01-08 22:50:26.000000000","message":"The \".\" should be removed from the end to be consistent.","commit_id":"973531b7cda5897ff7198bf84d1fe0a5c3808f48"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from glance.common import wsgi"},{"line_number":26,"context_line":"from glance import i18n"},{"line_number":27,"context_line":"from glance import image_cache"},{"line_number":28,"context_line":"import glance.openstack.common.log as logging"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":"_LW \u003d i18n._LW"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_6aea13a1","line":28,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from glance.common import wsgi"},{"line_number":26,"context_line":"from glance import i18n"},{"line_number":27,"context_line":"from glance import image_cache"},{"line_number":28,"context_line":"import glance.openstack.common.log as logging"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":"_LW \u003d i18n._LW"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_3871f6a8","line":28,"in_reply_to":"9a80dd14_6aea13a1","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/middleware/cache.py":[{"author":{"_account_id":9520,"name":"David Koo (koofoss)","email":"david.koo@huawei.com","username":"koofoss"},"change_message_id":"145adc3331ea75cfab64d5f97f4c8742e5d77093","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        try:"},{"line_number":122,"context_line":"            self._enforce(request, \u0027download_image\u0027)"},{"line_number":123,"context_line":"        except webob.exc.HTTPForbidden as e:"},{"line_number":124,"context_line":"            LOG.debug(unicode(e))"},{"line_number":125,"context_line":"            return None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        LOG.debug(_(\"Cache hit for image \u0027%s\u0027\"), image_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAU3%2F%2Fid4%3D","line":124,"updated":"2014-02-26 02:35:24.000000000","message":"I don\u0027t think we need to log the same message in every place in the call stack - just logging it at the source is good enough otherwise there would be a lot of noise in the logs.\n\n(Here and in other places)\n\nWhat do you think?","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"78cc3dcdb191502bf57349823afb6cf348beaad4","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        try:"},{"line_number":122,"context_line":"            self._enforce(request, \u0027download_image\u0027)"},{"line_number":123,"context_line":"        except webob.exc.HTTPForbidden as e:"},{"line_number":124,"context_line":"            LOG.debug(unicode(e))"},{"line_number":125,"context_line":"            return None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        LOG.debug(_(\"Cache hit for image \u0027%s\u0027\"), image_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_0dd4bc45","line":124,"in_reply_to":"AAAAU3%2F%2FiU4%3D","updated":"2014-08-27 10:29:57.000000000","message":"+1","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"abeabad0d3dee2f2e4e9a741864413b1c7017a73","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        try:"},{"line_number":122,"context_line":"            self._enforce(request, \u0027download_image\u0027)"},{"line_number":123,"context_line":"        except webob.exc.HTTPForbidden as e:"},{"line_number":124,"context_line":"            LOG.debug(unicode(e))"},{"line_number":125,"context_line":"            return None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        LOG.debug(_(\"Cache hit for image \u0027%s\u0027\"), image_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAU3%2F%2FiU4%3D","line":124,"in_reply_to":"AAAAU3%2F%2Fid4%3D","updated":"2014-02-26 02:41:02.000000000","message":"+1","commit_id":"83d7ebb5f6d737b11362fd3b1250c1c956e1cb4e"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"35156f7b15d2d4b419722c3de37fca674bc5d17a","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d _LW(\"Not allowed to perform the \u0027%s\u0027 action.\") % action"},{"line_number":106,"context_line":"            LOG.warning(msg)"},{"line_number":107,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg, request\u003dreq)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f778d290","line":105,"updated":"2015-01-07 14:30:04.000000000","message":"In all other warning messages, it starts with \"User is not...\"\n\nIs there a reason why this one does not?","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d _LW(\"Not allowed to perform the \u0027%s\u0027 action.\") % action"},{"line_number":106,"context_line":"            LOG.warning(msg)"},{"line_number":107,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg, request\u003dreq)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f01b4a19","line":105,"in_reply_to":"3a961159_f778d290","updated":"2015-01-08 22:44:45.000000000","message":"Done","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d _LW(\"Not allowed to perform the \u0027%s\u0027 action.\") % action"},{"line_number":106,"context_line":"            LOG.warning(msg)"},{"line_number":107,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg, request\u003dreq)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _get_v1_image_metadata(self, request, image_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_2eef3cb2","line":106,"updated":"2015-01-08 19:42:56.000000000","message":"It would be better to format this as \n\nLOG.warning(_LW(\"Not allowed to perform the \u0027%s\u0027 action.\"), action)\n\nsee: http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d _LW(\"Not allowed to perform the \u0027%s\u0027 action.\") % action"},{"line_number":106,"context_line":"            LOG.warning(msg)"},{"line_number":107,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg, request\u003dreq)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _get_v1_image_metadata(self, request, image_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_d0200e4b","line":106,"in_reply_to":"3a961159_2eef3cb2","updated":"2015-01-08 22:44:45.000000000","message":"The other sections of glance use the pattern I\u0027m using above. We could address this in a different patchset though.","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"532b9a02d74762cc94e26aeb21c70f3ca55d3c1e","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d (_LW(\"User not permitted to perform the \u0027%s\u0027 action.\") %"},{"line_number":106,"context_line":"                   action)"},{"line_number":107,"context_line":"            LOG.warning(msg)"},{"line_number":108,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg, request\u003dreq)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_104616c0","line":105,"updated":"2015-01-08 22:50:26.000000000","message":"\".\" should be removed from the end to be consistent.","commit_id":"973531b7cda5897ff7198bf84d1fe0a5c3808f48"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from glance import i18n"},{"line_number":37,"context_line":"from glance import image_cache"},{"line_number":38,"context_line":"from glance import notifier"},{"line_number":39,"context_line":"import glance.openstack.common.log as logging"},{"line_number":40,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_0a40b7a3","line":39,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from glance import i18n"},{"line_number":37,"context_line":"from glance import image_cache"},{"line_number":38,"context_line":"from glance import notifier"},{"line_number":39,"context_line":"import glance.openstack.common.log as logging"},{"line_number":40,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_b85d0617","line":39,"in_reply_to":"9a80dd14_0a40b7a3","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/v1/images.py":[{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":155,"context_line":"        except exception.Forbidden:"},{"line_number":156,"context_line":"            msg \u003d _LW(\"User is not allowed to perform \u0027%s\u0027 action\") % action"},{"line_number":157,"context_line":"            LOG.warning(msg)"},{"line_number":158,"context_line":"            raise HTTPForbidden()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def _enforce_image_property_quota(self,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_0e3b6038","line":157,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"532b9a02d74762cc94e26aeb21c70f3ca55d3c1e","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":155,"context_line":"        except exception.Forbidden:"},{"line_number":156,"context_line":"            msg \u003d _LW(\"User is not allowed to perform \u0027%s\u0027 action\") % action"},{"line_number":157,"context_line":"            LOG.warning(msg)"},{"line_number":158,"context_line":"            raise HTTPForbidden()"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_90fbe679","line":156,"updated":"2015-01-08 22:50:26.000000000","message":"Should this say \"User not permitted...\" instead?","commit_id":"973531b7cda5897ff7198bf84d1fe0a5c3808f48"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":46,"context_line":"from glance.common import wsgi"},{"line_number":47,"context_line":"from glance import i18n"},{"line_number":48,"context_line":"from glance import notifier"},{"line_number":49,"context_line":"import glance.openstack.common.log as logging"},{"line_number":50,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_aa16cba4","line":49,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":46,"context_line":"from glance.common import wsgi"},{"line_number":47,"context_line":"from glance import i18n"},{"line_number":48,"context_line":"from glance import notifier"},{"line_number":49,"context_line":"import glance.openstack.common.log as logging"},{"line_number":50,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_38a8d6da","line":49,"in_reply_to":"9a80dd14_aa16cba4","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"22e1814800ce31092f177636f11d3e006147f794","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":155,"context_line":"        except exception.Forbidden:"},{"line_number":156,"context_line":"            msg \u003d _LW(\"User is not allowed to perform \u0027%s\u0027 action\") % action"},{"line_number":157,"context_line":"            LOG.warning(msg)"},{"line_number":158,"context_line":"            raise HTTPForbidden()"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_ddc4ae93","line":156,"updated":"2015-04-13 06:41:34.000000000","message":"A small nit.\n\nJust for consistency please remove \u0027is\u0027 from the message.","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            self.policy.enforce(req.context, action, target)"},{"line_number":155,"context_line":"        except exception.Forbidden:"},{"line_number":156,"context_line":"            msg \u003d _LW(\"User is not allowed to perform \u0027%s\u0027 action\") % action"},{"line_number":157,"context_line":"            LOG.warning(msg)"},{"line_number":158,"context_line":"            raise HTTPForbidden()"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_18b2ba4c","line":156,"in_reply_to":"7aaa499b_ddc4ae93","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/v1/members.py":[{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            self.policy.enforce(req.context, action, {})"},{"line_number":49,"context_line":"        except exception.Forbidden:"},{"line_number":50,"context_line":"            msg \u003d _LW(\"User not permitted to perform \u0027%s\u0027 action\") % action"},{"line_number":51,"context_line":"            LOG.warning(msg)"},{"line_number":52,"context_line":"            raise webob.exc.HTTPForbidden()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _raise_404_if_image_deleted(self, req, image_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_0e228000","line":51,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"60f073da5e93d6416cc0542709ee0579df293ca2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d ("},{"line_number":106,"context_line":"                _LW(\"User not permitted to remove membership from image \u0027%s\u0027\")"},{"line_number":107,"context_line":"                % image_id)"},{"line_number":108,"context_line":"            LOG.warning(msg)"},{"line_number":109,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_aaab38d4","line":106,"updated":"2015-01-07 21:10:51.000000000","message":"you can do this in 2 lines, if you fold on string rather than using a parentheses for the msg var.","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":104,"context_line":"        except exception.Forbidden as e:"},{"line_number":105,"context_line":"            msg \u003d ("},{"line_number":106,"context_line":"                _LW(\"User not permitted to remove membership from image \u0027%s\u0027\")"},{"line_number":107,"context_line":"                % image_id)"},{"line_number":108,"context_line":"            LOG.warning(msg)"},{"line_number":109,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_10ee16ed","line":106,"in_reply_to":"3a961159_aaab38d4","updated":"2015-01-08 22:44:45.000000000","message":"Done","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            msg \u003d ("},{"line_number":106,"context_line":"                _LW(\"User not permitted to remove membership from image \u0027%s\u0027\")"},{"line_number":107,"context_line":"                % image_id)"},{"line_number":108,"context_line":"            LOG.warning(msg)"},{"line_number":109,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        return webob.exc.HTTPNoContent()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_2e1d7cbe","line":108,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from glance.common import utils"},{"line_number":24,"context_line":"from glance.common import wsgi"},{"line_number":25,"context_line":"from glance import i18n"},{"line_number":26,"context_line":"import glance.openstack.common.log as logging"},{"line_number":27,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_ea0c4395","line":26,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from glance.common import utils"},{"line_number":24,"context_line":"from glance.common import wsgi"},{"line_number":25,"context_line":"from glance import i18n"},{"line_number":26,"context_line":"import glance.openstack.common.log as logging"},{"line_number":27,"context_line":"import glance.registry.client.v1.api as registry"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_f8aeeee4","line":26,"in_reply_to":"9a80dd14_ea0c4395","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/v2/image_data.py":[{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":177,"context_line":"        except exception.Forbidden as e:"},{"line_number":178,"context_line":"            msg \u003d _LW(\"User not permitted to download image \u0027%s\u0027\") % image_id"},{"line_number":179,"context_line":"            LOG.warning(msg)"},{"line_number":180,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        return image"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ae808cbf","line":179,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":222,"context_line":"        except exception.Forbidden as e:"},{"line_number":223,"context_line":"            msg \u003d _LW(\"User not permitted to download image \u0027%s\u0027\") % image"},{"line_number":224,"context_line":"            LOG.warning(msg)"},{"line_number":225,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":226,"context_line":"        # NOTE(saschpe): \"response.app_iter \u003d ...\" currently resets Content-MD5"},{"line_number":227,"context_line":"        # (https://github.com/Pylons/webob/issues/86), so it should be set"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ce8318c9","line":224,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import glance.gateway"},{"line_number":25,"context_line":"from glance import i18n"},{"line_number":26,"context_line":"import glance.notifier"},{"line_number":27,"context_line":"import glance.openstack.common.log as logging"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_0a27d712","line":27,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import glance.gateway"},{"line_number":25,"context_line":"from glance import i18n"},{"line_number":26,"context_line":"import glance.notifier"},{"line_number":27,"context_line":"import glance.openstack.common.log as logging"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_b8b4e634","line":27,"in_reply_to":"9a80dd14_0a27d712","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/v2/image_members.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"60f073da5e93d6416cc0542709ee0579df293ca2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_8a975c8f","line":1,"updated":"2015-01-07 21:10:51.000000000","message":"?","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"35156f7b15d2d4b419722c3de37fca674bc5d17a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import glance.schema"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":"_ \u003d i18n._"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_d74e766e","line":36,"updated":"2015-01-07 14:30:04.000000000","message":"This line is a duplicate of the line below, and should be removed.","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import glance.schema"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":"_ \u003d i18n._"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_90a8468d","line":36,"in_reply_to":"3a961159_d74e766e","updated":"2015-01-08 22:44:45.000000000","message":"Done","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"532b9a02d74762cc94e26aeb21c70f3ca55d3c1e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from glance import i18n"},{"line_number":31,"context_line":"import glance.notifier"},{"line_number":32,"context_line":"import glance.openstack.common.log as logging"},{"line_number":33,"context_line":"import glance.schema"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":"_ \u003d i18n._"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_9032065c","line":33,"updated":"2015-01-08 22:50:26.000000000","message":"Was the extra line deleted intentionally?","commit_id":"973531b7cda5897ff7198bf84d1fe0a5c3808f48"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import glance.gateway"},{"line_number":30,"context_line":"from glance import i18n"},{"line_number":31,"context_line":"import glance.notifier"},{"line_number":32,"context_line":"import glance.openstack.common.log as logging"},{"line_number":33,"context_line":"import glance.schema"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_4a1d4fbd","line":32,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import glance.gateway"},{"line_number":30,"context_line":"from glance import i18n"},{"line_number":31,"context_line":"import glance.notifier"},{"line_number":32,"context_line":"import glance.openstack.common.log as logging"},{"line_number":33,"context_line":"import glance.schema"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_98848a5e","line":32,"in_reply_to":"9a80dd14_4a1d4fbd","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}],"glance/api/v2/images.py":[{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"35156f7b15d2d4b419722c3de37fca674bc5d17a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        except exception.Invalid as e:"},{"line_number":69,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":70,"context_line":"        except exception.Forbidden as e:"},{"line_number":71,"context_line":"            msg \u003d _LW(\"User not permitted to create image.\")"},{"line_number":72,"context_line":"            LOG.warning(msg)"},{"line_number":73,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":74,"context_line":"        except exception.InvalidParameterValue as e:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f7861264","line":71,"updated":"2015-01-07 14:30:04.000000000","message":"Most of these messages do not have a \".\" at the end.  Should they be consistent?","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"84422377c2e00e32a4651e2cc67d8384cde5d894","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        except exception.Invalid as e:"},{"line_number":69,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":70,"context_line":"        except exception.Forbidden as e:"},{"line_number":71,"context_line":"            msg \u003d _LW(\"User not permitted to create image.\")"},{"line_number":72,"context_line":"            LOG.warning(msg)"},{"line_number":73,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":74,"context_line":"        except exception.InvalidParameterValue as e:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_50897e24","line":71,"in_reply_to":"3a961159_f7861264","updated":"2015-01-08 22:44:45.000000000","message":"Done","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            return image_repo.get(image_id)"},{"line_number":127,"context_line":"        except exception.Forbidden as e:"},{"line_number":128,"context_line":"            msg \u003d _LW(\"User not permitted to show image \u0027%s\u0027\") % image_id"},{"line_number":129,"context_line":"            LOG.warning(msg)"},{"line_number":130,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":131,"context_line":"        except exception.NotFound as e:"},{"line_number":132,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_4e6f2828","line":129,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":11864,"name":"Ben Roble","email":"ben.roble@rackspace.com","username":"broble"},"change_message_id":"f3b0e8415fbc696784074d1f0eddc36b72e6f844","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            image_repo.remove(image)"},{"line_number":225,"context_line":"        except exception.Forbidden as e:"},{"line_number":226,"context_line":"            msg \u003d _LW(\"User not permitted to delete image \u0027%s\u0027.\") % image_id"},{"line_number":227,"context_line":"            LOG.warning(msg)"},{"line_number":228,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":229,"context_line":"        except exception.NotFound as e:"},{"line_number":230,"context_line":"            msg \u003d (_(\"Failed to find image %(image_id)s to delete\") %"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_6e614438","line":227,"updated":"2015-01-08 19:42:56.000000000","message":"1. Same comment as earlier about adding variables to logs http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1e0c60999be7385bcdc1d35d5853b75d2aca502a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"532b9a02d74762cc94e26aeb21c70f3ca55d3c1e","unresolved":false,"context_lines":[{"line_number":223,"context_line":"            image.delete()"},{"line_number":224,"context_line":"            image_repo.remove(image)"},{"line_number":225,"context_line":"        except exception.Forbidden as e:"},{"line_number":226,"context_line":"            msg \u003d _LW(\"User not permitted to delete image \u0027%s\u0027.\") % image_id"},{"line_number":227,"context_line":"            LOG.warning(msg)"},{"line_number":228,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":229,"context_line":"        except exception.NotFound as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_d03f2e23","line":226,"updated":"2015-01-08 22:50:26.000000000","message":"The \".\" should be removed from the end in order to be consistent.","commit_id":"973531b7cda5897ff7198bf84d1fe0a5c3808f48"},{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"e89b0c242e84a65835c6023a806068c4e69f4b20","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import glance.gateway"},{"line_number":33,"context_line":"from glance import i18n"},{"line_number":34,"context_line":"import glance.notifier"},{"line_number":35,"context_line":"import glance.openstack.common.log as logging"},{"line_number":36,"context_line":"import glance.schema"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_8a7ae7ee","line":35,"updated":"2015-03-20 19:27:18.000000000","message":"from oslo_log import log as logging","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import glance.gateway"},{"line_number":33,"context_line":"from glance import i18n"},{"line_number":34,"context_line":"import glance.notifier"},{"line_number":35,"context_line":"import glance.openstack.common.log as logging"},{"line_number":36,"context_line":"import glance.schema"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_7889be74","line":35,"in_reply_to":"9a80dd14_8a7ae7ee","updated":"2015-04-15 16:01:28.000000000","message":"Done","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"22e1814800ce31092f177636f11d3e006147f794","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        except exception.Invalid as e:"},{"line_number":151,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":152,"context_line":"        except exception.Forbidden as e:"},{"line_number":153,"context_line":"            LOG.debug(utils.exception_to_str(e))"},{"line_number":154,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":155,"context_line":"        except exception.InvalidParameterValue as e:"},{"line_number":156,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_3d871263","line":153,"updated":"2015-04-13 06:41:34.000000000","message":"Why id the log level debug here and warn everywhere else?","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bd25749156cb4dffcc7a7e9f295a24e92f570c21","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        except exception.Invalid as e:"},{"line_number":151,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":152,"context_line":"        except exception.Forbidden as e:"},{"line_number":153,"context_line":"            LOG.debug(utils.exception_to_str(e))"},{"line_number":154,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":155,"context_line":"        except exception.InvalidParameterValue as e:"},{"line_number":156,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_b8fe26ac","line":153,"in_reply_to":"7aaa499b_3d871263","updated":"2015-04-15 16:01:28.000000000","message":"It should be debug level everywhere as pointed out by Erno.","commit_id":"0a14e47aa0181bafba9af9d51be92b36d25ceb64"}]}
