)]}'
{"ironic/common/exception.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a457c4251e7b0472b8a81a2842013edbf2ef5b59","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    message \u003d _(\"Invalid image href %(image_href)s.\")"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"class KeystoneUnauthorized(IronicException):"},{"line_number":329,"context_line":"    message \u003d _(\"Not authorized in Keystone.\")"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_a780dc8b","line":328,"updated":"2014-10-07 15:22:43.000000000","message":"We had a discussion on IRC about this [1]. The concern is that we don\u0027t want to break any drivers that are out of tree. It is possible that there are drivers out there that are coded to look for CatalogUnauthorized/CatalogFailure. So I think we should alias the exception.\n\nEg, at the top of this file somewhere, add:\nCatalogUnauthorized\u003dKeystoneUnauthorized\nCatalogFailure\u003dKeystoneFailure\n\n(Not sure if we need to comment them and if so, what the comment might be.)\n\n[1] http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2014-10-07.log, starting around 2014-10-07T15:00:02","commit_id":"06b8055342912d6a7588e85d6815b96e91ad4f8f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"893f5a2c12255ba600ecc3fd2cbab1981e61640b","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    message \u003d _(\"Invalid image href %(image_href)s.\")"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"class KeystoneUnauthorized(IronicException):"},{"line_number":329,"context_line":"    message \u003d _(\"Not authorized in Keystone.\")"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_0d80e9be","line":328,"in_reply_to":"baa201ad_2d992d6e","updated":"2014-10-07 16:12:40.000000000","message":"Oops, you\u0027re right. I looked at python-ironicclient, and there were aliases at the top of the file, but yeah, those were for exceptions that were imported.","commit_id":"06b8055342912d6a7588e85d6815b96e91ad4f8f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"19815f9484df1cd1f019d6d9537421257cb9c738","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    message \u003d _(\"Invalid image href %(image_href)s.\")"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"class KeystoneUnauthorized(IronicException):"},{"line_number":329,"context_line":"    message \u003d _(\"Not authorized in Keystone.\")"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_2d992d6e","line":328,"in_reply_to":"baa201ad_a780dc8b","updated":"2014-10-07 16:07:11.000000000","message":"+1 I think the comment is welcome saying that it\u0027s being kept for backward compat and that it should be removed on the next cycle\n\nAlso, I don\u0027t think you can create the alias on the top of the file, just doing it right under the new exceptions seems fine","commit_id":"06b8055342912d6a7588e85d6815b96e91ad4f8f"}],"ironic/common/keystone.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"13bda9af3d4c962fa13c3c91a1489301bbd6edfc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                         tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":59,"context_line":"                         auth_url\u003dauth_url)"},{"line_number":60,"context_line":"    except ksexception.Unauthorized:"},{"line_number":61,"context_line":"        raise exception.KeystoneUnauthorized"},{"line_number":62,"context_line":"    except ksexception.AuthorizationFailure as err:"},{"line_number":63,"context_line":"        raise exception.KeystoneFailure(_(\u0027Could not perform authorization \u0027"},{"line_number":64,"context_line":"                                          \u0027process: %s\u0027) % err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_78ae992f","line":61,"updated":"2014-10-07 12:46:45.000000000","message":"please change to raising instance:\n\n raise exception.KeystoneUnauthorized()","commit_id":"214ca7c5fcb9f8783df03d6ba00ea56e67fa5cb1"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"3a8d868435fc17343e671e30109f506503e90a0f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                         tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":59,"context_line":"                         auth_url\u003dauth_url)"},{"line_number":60,"context_line":"    except ksexception.Unauthorized:"},{"line_number":61,"context_line":"        raise exception.KeystoneUnauthorized"},{"line_number":62,"context_line":"    except ksexception.AuthorizationFailure as err:"},{"line_number":63,"context_line":"        raise exception.KeystoneFailure(_(\u0027Could not perform authorization \u0027"},{"line_number":64,"context_line":"                                          \u0027process: %s\u0027) % err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_bb4f1b33","line":61,"in_reply_to":"baa201ad_78ae992f","updated":"2014-10-07 13:14:22.000000000","message":"Done","commit_id":"214ca7c5fcb9f8783df03d6ba00ea56e67fa5cb1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"13bda9af3d4c962fa13c3c91a1489301bbd6edfc","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        raise exception.KeystoneUnauthorized"},{"line_number":62,"context_line":"    except ksexception.AuthorizationFailure as err:"},{"line_number":63,"context_line":"        raise exception.KeystoneFailure(_(\u0027Could not perform authorization \u0027"},{"line_number":64,"context_line":"                                          \u0027process: %s\u0027) % err)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def get_keystone_url(auth_url, auth_version):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_b8a4814b","line":64,"updated":"2014-10-07 12:46:45.000000000","message":"maybe\n\n Could not authorize in keystone: %s","commit_id":"214ca7c5fcb9f8783df03d6ba00ea56e67fa5cb1"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"3a8d868435fc17343e671e30109f506503e90a0f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        raise exception.KeystoneUnauthorized"},{"line_number":62,"context_line":"    except ksexception.AuthorizationFailure as err:"},{"line_number":63,"context_line":"        raise exception.KeystoneFailure(_(\u0027Could not perform authorization \u0027"},{"line_number":64,"context_line":"                                          \u0027process: %s\u0027) % err)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def get_keystone_url(auth_url, auth_version):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_7bc85355","line":64,"in_reply_to":"baa201ad_b8a4814b","updated":"2014-10-07 13:14:22.000000000","message":"Done","commit_id":"214ca7c5fcb9f8783df03d6ba00ea56e67fa5cb1"}]}
