)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"cb8beb8127231e735233ac827a3d526fc7aaa637","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use real discovery object in auth_token middleware."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Auth token middleware has always done it\u0027s own version of discovery. It"},{"line_number":10,"context_line":"is slightly more lenient than the one in keystoneclient however we"},{"line_number":11,"context_line":"should use the standard tools for these jobs."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a890539_452525ad","line":9,"updated":"2014-11-18 22:58:05.000000000","message":"change \"it\u0027s\" to \"its\"","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"88d4d5a87a452bb19c88b35937176e8b67ffa235","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use real discovery object in auth_token middleware."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Auth token middleware has always done it\u0027s own version of discovery. It"},{"line_number":10,"context_line":"is slightly more lenient than the one in keystoneclient however we"},{"line_number":11,"context_line":"should use the standard tools for these jobs."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a890539_9b868e12","line":9,"in_reply_to":"5a890539_452525ad","updated":"2014-11-18 23:53:12.000000000","message":"Done","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"}],"keystonemiddleware/auth_token.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"cb8beb8127231e735233ac827a3d526fc7aaa637","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"            return self._req_auth_version"},{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":"        disc \u003d discover.Discover(self._adapter,"},{"line_number":1528,"context_line":"                                 auth_url\u003dauth_url + \u0027/\u0027,"},{"line_number":1529,"context_line":"                                 authenticated\u003dFalse)"},{"line_number":1530,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_e568d123","line":1527,"updated":"2014-11-18 22:58:05.000000000","message":"should probably do session\u003dself._adapter since it\u0027s a named argument.","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"88d4d5a87a452bb19c88b35937176e8b67ffa235","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"            return self._req_auth_version"},{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":"        disc \u003d discover.Discover(self._adapter,"},{"line_number":1528,"context_line":"                                 auth_url\u003dauth_url + \u0027/\u0027,"},{"line_number":1529,"context_line":"                                 authenticated\u003dFalse)"},{"line_number":1530,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_e01b5f1a","line":1527,"in_reply_to":"5a890539_e568d123","updated":"2014-11-18 23:53:12.000000000","message":"Done","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"cb8beb8127231e735233ac827a3d526fc7aaa637","unresolved":false,"context_lines":[{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":"        disc \u003d discover.Discover(self._adapter,"},{"line_number":1528,"context_line":"                                 auth_url\u003dauth_url + \u0027/\u0027,"},{"line_number":1529,"context_line":"                                 authenticated\u003dFalse)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        for version in _LIST_OF_VERSIONS_TO_ATTEMPT:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_65786190","line":1528,"updated":"2014-11-18 22:58:05.000000000","message":"why does \u0027/\u0027 have to be added? add a comment. (or fix Discover so that it works when / isn\u0027t there.)","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"88d4d5a87a452bb19c88b35937176e8b67ffa235","unresolved":false,"context_lines":[{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":"        disc \u003d discover.Discover(self._adapter,"},{"line_number":1528,"context_line":"                                 auth_url\u003dauth_url + \u0027/\u0027,"},{"line_number":1529,"context_line":"                                 authenticated\u003dFalse)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        for version in _LIST_OF_VERSIONS_TO_ATTEMPT:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_60d76f24","line":1528,"in_reply_to":"5a890539_65786190","updated":"2014-11-18 23:53:12.000000000","message":"Was a remnant of httpretty testing days, if you didn\u0027t have a / it wouldn\u0027t match the URL so the tests are set up to require it. Done.","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"cb8beb8127231e735233ac827a3d526fc7aaa637","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"                return version"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"        self._LOG.error(_LE(\u0027Attempted versions [%s] not supported by server\u0027),"},{"line_number":1538,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1539,"context_line":"        raise ServiceError(_(\u0027No compatible apis supported by server\u0027))"},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_a5808947","line":1538,"updated":"2014-11-18 22:58:05.000000000","message":"The original code printed out the versions that the server supports. This is useful so shouldn\u0027t be removed... use raw_version_data().","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"2f403dea8442a1805c910c65845194375279bb9f","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"                return version"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"        self._LOG.error(_LE(\u0027Attempted versions [%s] not supported by server\u0027),"},{"line_number":1538,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1539,"context_line":"        raise ServiceError(_(\u0027No compatible apis supported by server\u0027))"},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_7b34824a","line":1538,"in_reply_to":"5a890539_a5808947","updated":"2014-11-19 00:12:44.000000000","message":"Actually looking again now trying to rebase the following patches. This gets changed to ask for \u0027v3\u0027 then for \u0027v2\u0027. It will never actually see a discovery object so we don\u0027t have any way to get this list in future.","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"88d4d5a87a452bb19c88b35937176e8b67ffa235","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"                return version"},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"        self._LOG.error(_LE(\u0027Attempted versions [%s] not supported by server\u0027),"},{"line_number":1538,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1539,"context_line":"        raise ServiceError(_(\u0027No compatible apis supported by server\u0027))"},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_5b8c2636","line":1538,"in_reply_to":"5a890539_a5808947","updated":"2014-11-18 23:53:12.000000000","message":"Done","commit_id":"112865e4c35203428bb8601a00acd3e651eadfc0"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d2de47db6dfb5cada0a8abf4233f3cf8ab3b3e46","unresolved":false,"context_lines":[{"line_number":184,"context_line":"from six.moves import urllib"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"from keystonemiddleware import _memcache_crypt as memcache_crypt"},{"line_number":187,"context_line":"from keystonemiddleware.i18n import _, _LC, _LE, _LI, _LW"},{"line_number":188,"context_line":"from keystonemiddleware.openstack.common import memorycache"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_8b2292ff","line":187,"updated":"2014-11-19 23:57:34.000000000","message":"_LC was added but it\u0027s not used as far as I can tell.","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"1e066d3f6c53ffe4cdbcbafd3c97bff8d9a22e83","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"        if self._req_auth_version:"},{"line_number":1522,"context_line":"            self._LOG.info(_LI(\u0027Auth Token proceeding with requested %s apis\u0027),"},{"line_number":1523,"context_line":"                           self._req_auth_version)"},{"line_number":1524,"context_line":"            return self._req_auth_version"},{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_6e9af0c6","line":1524,"updated":"2014-11-19 11:26:54.000000000","message":"Return statement in the middle of function... Don\u0027t see anything wrong for now, but potential contributor will have to pay attention to all these exit points instead of single one.","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":9101,"name":"wanghong","email":"reviewwanghong@126.com","username":"wanghong"},"change_message_id":"7b6dc51b9ce5c2fd2d275c92654c14952e5dc712","unresolved":false,"context_lines":[{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        auth_url \u003d self._adapter.get_endpoint(interface\u003dauth.AUTH_INTERFACE)"},{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        disc \u003d discover.Discover(session\u003dself._adapter.session,"},{"line_number":1529,"context_line":"                                 auth_url\u003dauth_url,"},{"line_number":1530,"context_line":"                                 authenticated\u003dFalse)"},{"line_number":1531,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_e17897fa","line":1528,"updated":"2014-11-20 01:19:56.000000000","message":"I think \u0027disc\u0027 is not a good name.:)","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"1e066d3f6c53ffe4cdbcbafd3c97bff8d9a22e83","unresolved":false,"context_lines":[{"line_number":1533,"context_line":"            if disc.url_for(version):"},{"line_number":1534,"context_line":"                self._LOG.info(_LI(\u0027Auth Token confirmed use of %s apis\u0027),"},{"line_number":1535,"context_line":"                               version)"},{"line_number":1536,"context_line":"                return version"},{"line_number":1537,"context_line":""},{"line_number":1538,"context_line":"        self._LOG.error(\u0027Attempted versions [%s] not supported by server\u0027,"},{"line_number":1539,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_8e3b9c9b","line":1536,"updated":"2014-11-19 11:26:54.000000000","message":"Reminds me of \u0027goto\u0027 statements :)","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d2de47db6dfb5cada0a8abf4233f3cf8ab3b3e46","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"                               version)"},{"line_number":1536,"context_line":"                return version"},{"line_number":1537,"context_line":""},{"line_number":1538,"context_line":"        self._LOG.error(\u0027Attempted versions [%s] not supported by server\u0027,"},{"line_number":1539,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1540,"context_line":"        raise ServiceError(\u0027No compatible apis supported by server\u0027)"},{"line_number":1541,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_8bf45288","line":1538,"updated":"2014-11-19 23:57:34.000000000","message":"add _LE() around the string for translation.","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d2de47db6dfb5cada0a8abf4233f3cf8ab3b3e46","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"                return version"},{"line_number":1537,"context_line":""},{"line_number":1538,"context_line":"        self._LOG.error(\u0027Attempted versions [%s] not supported by server\u0027,"},{"line_number":1539,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1540,"context_line":"        raise ServiceError(\u0027No compatible apis supported by server\u0027)"},{"line_number":1541,"context_line":""},{"line_number":1542,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_eb1156b0","line":1539,"updated":"2014-11-19 23:57:34.000000000","message":"Regarding \"Actually looking again now trying to rebase the following patches. This gets changed to ask for \u0027v3\u0027 then for \u0027v2\u0027. It will never actually see a discovery object so we don\u0027t have any way to get this list in future.\" -- those future changes might not be accepted.","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d2de47db6dfb5cada0a8abf4233f3cf8ab3b3e46","unresolved":false,"context_lines":[{"line_number":1537,"context_line":""},{"line_number":1538,"context_line":"        self._LOG.error(\u0027Attempted versions [%s] not supported by server\u0027,"},{"line_number":1539,"context_line":"                        \u0027, \u0027.join(_LIST_OF_VERSIONS_TO_ATTEMPT))"},{"line_number":1540,"context_line":"        raise ServiceError(\u0027No compatible apis supported by server\u0027)"},{"line_number":1541,"context_line":""},{"line_number":1542,"context_line":"    def _json_request(self, method, path, **kwargs):"},{"line_number":1543,"context_line":"        \"\"\"HTTP request helper used to make json requests."}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_eb2a36e6","line":1540,"updated":"2014-11-19 23:57:34.000000000","message":"add _() around the string for translation.","commit_id":"ec85e8bbab51b6e5218b5dd11ecd4c4e2f185802"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":184,"context_line":"from six.moves import urllib"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"from keystonemiddleware import _memcache_crypt as memcache_crypt"},{"line_number":187,"context_line":"from keystonemiddleware.i18n import _, _LC, _LE, _LI, _LW"},{"line_number":188,"context_line":"from keystonemiddleware.openstack.common import memorycache"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_47708d40","line":187,"updated":"2014-12-01 22:42:45.000000000","message":"_LC isn\u0027t used as far as I can tell.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":184,"context_line":"from six.moves import urllib"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"from keystonemiddleware import _memcache_crypt as memcache_crypt"},{"line_number":187,"context_line":"from keystonemiddleware.i18n import _, _LC, _LE, _LI, _LW"},{"line_number":188,"context_line":"from keystonemiddleware.openstack.common import memorycache"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_8aceac81","line":187,"in_reply_to":"5a890539_47708d40","updated":"2014-12-03 02:28:47.000000000","message":"Done","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":344,"context_line":"_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":345,"context_line":"CONF \u003d cfg.CONF"},{"line_number":346,"context_line":"CONF.register_opts(_OPTS, group\u003d_AUTHTOKEN_GROUP)"},{"line_number":347,"context_line":"_VERSIONS_TO_ATTEMPT \u003d [\u0027v3.0\u0027, \u0027v2.0\u0027]"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"_HEADER_TEMPLATE \u003d {"},{"line_number":350,"context_line":"    \u0027X%s-Domain-Id\u0027: \u0027domain_id\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_c79b9d64","line":347,"updated":"2014-12-01 22:42:45.000000000","message":"this change is unrelated.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":344,"context_line":"_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":345,"context_line":"CONF \u003d cfg.CONF"},{"line_number":346,"context_line":"CONF.register_opts(_OPTS, group\u003d_AUTHTOKEN_GROUP)"},{"line_number":347,"context_line":"_VERSIONS_TO_ATTEMPT \u003d [\u0027v3.0\u0027, \u0027v2.0\u0027]"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"_HEADER_TEMPLATE \u003d {"},{"line_number":350,"context_line":"    \u0027X%s-Domain-Id\u0027: \u0027domain_id\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_ca68b48a","line":347,"in_reply_to":"5a890539_c79b9d64","updated":"2014-12-03 02:28:47.000000000","message":"Done","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                                       tenant_name\u003dadmin_tenant_name)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        self._LOG \u003d log"},{"line_number":554,"context_line":"        self._discovery \u003d None"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"    def get_token(self, *args, **kwargs):"},{"line_number":557,"context_line":"        return self._plugin.get_token(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_a899e27a","line":554,"updated":"2014-12-01 22:42:45.000000000","message":"suggest call this self._discover since that\u0027s the class type.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                                       tenant_name\u003dadmin_tenant_name)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        self._LOG \u003d log"},{"line_number":554,"context_line":"        self._discovery \u003d None"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"    def get_token(self, *args, **kwargs):"},{"line_number":557,"context_line":"        return self._plugin.get_token(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_ea6570af","line":554,"in_reply_to":"5a890539_a899e27a","updated":"2014-12-03 02:28:47.000000000","message":"Done","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":556,"context_line":"    def get_token(self, *args, **kwargs):"},{"line_number":557,"context_line":"        return self._plugin.get_token(*args, **kwargs)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def get_endpoint(self, session, interface\u003dNone, version\u003dNone, **kwargs):"},{"line_number":560,"context_line":"        if interface \u003d\u003d auth.AUTH_INTERFACE:"},{"line_number":561,"context_line":"            return self._identity_uri"},{"line_number":562,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_080f56e2","line":559,"updated":"2014-12-01 22:42:45.000000000","message":"this method could use a docstring since I have no idea how it\u0027s supposed to work... it used to raise exceptions.EndpointNotFound() and now it doesn\u0027t... which is correct?","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":556,"context_line":"    def get_token(self, *args, **kwargs):"},{"line_number":557,"context_line":"        return self._plugin.get_token(*args, **kwargs)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def get_endpoint(self, session, interface\u003dNone, version\u003dNone, **kwargs):"},{"line_number":560,"context_line":"        if interface \u003d\u003d auth.AUTH_INTERFACE:"},{"line_number":561,"context_line":"            return self._identity_uri"},{"line_number":562,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_aaf52884","line":559,"in_reply_to":"5a890539_080f56e2","updated":"2014-12-03 02:28:47.000000000","message":"copied from the abstract get_endpoint. \n\nIf get_endpoint returns none then the session will return EndpointNotFound if one was needed. In this case we should have been returning None but raising EndpointNotFound just short circuited the process a little.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                                                auth_url\u003dself._identity_uri,"},{"line_number":566,"context_line":"                                                authenticated\u003dFalse)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if version:"},{"line_number":569,"context_line":"            if not self._discovery.url_for(version):"},{"line_number":570,"context_line":"                return None"},{"line_number":571,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_28297237","line":568,"updated":"2014-12-01 22:42:45.000000000","message":"Should move this before line 563 since there\u0027s no need to create self._discovery since it\u0027s not used if version is falsy.\n\nAlso, could use \"if not version: return None\". then can unindent.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                                                auth_url\u003dself._identity_uri,"},{"line_number":566,"context_line":"                                                authenticated\u003dFalse)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if version:"},{"line_number":569,"context_line":"            if not self._discovery.url_for(version):"},{"line_number":570,"context_line":"                return None"},{"line_number":571,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_4a23e457","line":568,"in_reply_to":"5a890539_28297237","updated":"2014-12-03 02:28:47.000000000","message":"Done","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"                self._LOG.info(_LI(\u0027Auth Token confirmed use of %s apis\u0027),"},{"line_number":1537,"context_line":"                               auth_version)"},{"line_number":1538,"context_line":"                return auth_version"},{"line_number":1539,"context_line":""},{"line_number":1540,"context_line":"        msg \u003d _(\u0027Did not get suitable API version from keystone\u0027)"},{"line_number":1541,"context_line":"        raise ServiceError(msg)"},{"line_number":1542,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_085836f9","line":1539,"updated":"2014-12-01 22:42:45.000000000","message":"The log with the attempted and supported versions should be still be done.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"                self._LOG.info(_LI(\u0027Auth Token confirmed use of %s apis\u0027),"},{"line_number":1537,"context_line":"                               auth_version)"},{"line_number":1538,"context_line":"                return auth_version"},{"line_number":1539,"context_line":""},{"line_number":1540,"context_line":"        msg \u003d _(\u0027Did not get suitable API version from keystone\u0027)"},{"line_number":1541,"context_line":"        raise ServiceError(msg)"},{"line_number":1542,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_2aa778be","line":1539,"in_reply_to":"5a890539_085836f9","updated":"2014-12-03 02:28:47.000000000","message":"So this was the problem from previous patch - I don\u0027t have access to this data any more. The above plugin is going to be used in the basic case but i want to push people to using different plugins with v3. \n\nOnce we start looking at other plugins there\u0027s no way (on purpose) for me to query something like all available versions - all i know is that there is one for the version i ask for.","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fff500b6c2a11ff741df0d1009f785c8cbbea3aa","unresolved":false,"context_lines":[{"line_number":1537,"context_line":"                               auth_version)"},{"line_number":1538,"context_line":"                return auth_version"},{"line_number":1539,"context_line":""},{"line_number":1540,"context_line":"        msg \u003d _(\u0027Did not get suitable API version from keystone\u0027)"},{"line_number":1541,"context_line":"        raise ServiceError(msg)"},{"line_number":1542,"context_line":""},{"line_number":1543,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_e8392aa4","line":1540,"updated":"2014-12-01 22:42:45.000000000","message":"I don\u0027t see any reason to change the message, it was \u0027No compatible apis supported by server\u0027","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"5233847b49b55236ff4f26288bfb013e7d120b33","unresolved":false,"context_lines":[{"line_number":1537,"context_line":"                               auth_version)"},{"line_number":1538,"context_line":"                return auth_version"},{"line_number":1539,"context_line":""},{"line_number":1540,"context_line":"        msg \u003d _(\u0027Did not get suitable API version from keystone\u0027)"},{"line_number":1541,"context_line":"        raise ServiceError(msg)"},{"line_number":1542,"context_line":""},{"line_number":1543,"context_line":"    def _json_request(self, method, path, **kwargs):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_0ad47c1e","line":1540,"in_reply_to":"5a890539_e8392aa4","updated":"2014-12-03 02:28:47.000000000","message":"Done","commit_id":"57ec11f88b318a8b6e9748c58432a72845a7aef1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ae0ae169dba5e1b4105bf871d6270f219de2639b","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                                               authenticated\u003dFalse)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"        if not self._discover.url_for(version):"},{"line_number":606,"context_line":"            return None"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        # NOTE(jamielennox): for backwards compatibility here we don\u0027t"},{"line_number":609,"context_line":"        # actually use the URL from discovery we hack it up instead. :("}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_b068dfba","line":606,"updated":"2014-12-04 22:09:32.000000000","message":"A comment would be useful here -- # The requested version isn\u0027t supported.","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e0445d57f3a6feb2010ea404fc7666d4699d91be","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                                               authenticated\u003dFalse)"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"        if not self._discover.url_for(version):"},{"line_number":606,"context_line":"            return None"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        # NOTE(jamielennox): for backwards compatibility here we don\u0027t"},{"line_number":609,"context_line":"        # actually use the URL from discovery we hack it up instead. :("}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_49c0f2df","line":606,"in_reply_to":"5a890539_b068dfba","updated":"2014-12-05 00:01:20.000000000","message":"Done","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ae0ae169dba5e1b4105bf871d6270f219de2639b","unresolved":false,"context_lines":[{"line_number":612,"context_line":"        elif version \u003d\u003d \u0027v3.0\u0027 or version[0] \u003d\u003d 3:"},{"line_number":613,"context_line":"            return \u0027%s/v3\u0027 % self._identity_uri"},{"line_number":614,"context_line":"        else:"},{"line_number":615,"context_line":"            return None"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"    def invalidate(self):"},{"line_number":618,"context_line":"        return self._plugin.invalidate()"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_90a5a304","line":615,"updated":"2014-12-04 22:09:32.000000000","message":"this should raise some sort of error, not EndpointNotFound but an error indicating that the hack is inadequate now. for example raise Exception(_(\u0027Unsupported version %s\u0027))","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e0445d57f3a6feb2010ea404fc7666d4699d91be","unresolved":false,"context_lines":[{"line_number":612,"context_line":"        elif version \u003d\u003d \u0027v3.0\u0027 or version[0] \u003d\u003d 3:"},{"line_number":613,"context_line":"            return \u0027%s/v3\u0027 % self._identity_uri"},{"line_number":614,"context_line":"        else:"},{"line_number":615,"context_line":"            return None"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"    def invalidate(self):"},{"line_number":618,"context_line":"        return self._plugin.invalidate()"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_69b3ee99","line":615,"in_reply_to":"5a890539_90a5a304","updated":"2014-12-05 00:01:20.000000000","message":"Not sure what is more appropriate here - however i guess it doesn\u0027t matter. This should never be reached.","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"151a266bc8cdcb7874bf0c70f357114cc5461c7e","unresolved":false,"context_lines":[{"line_number":582,"context_line":"        implementation should use best effort with the information available to"},{"line_number":583,"context_line":"        determine the endpoint."},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"        :param Session session: The session object that the auth_plugin"},{"line_number":586,"context_line":"                                belongs to."},{"line_number":587,"context_line":"        :param tuple version: The version number required for this endpoint."},{"line_number":588,"context_line":"        :param str interface: what visibility the endpoint should have."}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_ff879058","line":585,"updated":"2014-12-05 00:55:25.000000000","message":"this should be keystoneclient.session.Session.","commit_id":"29aa87b1bf2878bc8c5a413226340d465339bf57"}],"keystonemiddleware/tests/test_auth_token_middleware.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ae0ae169dba5e1b4105bf871d6270f219de2639b","unresolved":false,"context_lines":[{"line_number":1443,"context_line":"        signing_url \u003d \"%s/newadmin%s\" % (BASE_HOST, self.signing_path)"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"        self.requests.register_uri(\u0027GET\u0027,"},{"line_number":1446,"context_line":"                                   \u0027%s/newadmin\u0027 % BASE_HOST,"},{"line_number":1447,"context_line":"                                   json\u003dVERSION_LIST_v3,"},{"line_number":1448,"context_line":"                                   status_code\u003d300)"},{"line_number":1449,"context_line":"        self.requests.register_uri(\u0027GET\u0027, ca_url, text\u003d\u0027FAKECA\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_709cb70e","line":1446,"updated":"2014-12-04 22:09:32.000000000","message":"this should be a var before ca_url --\n\n identity_url \u003d \u0027%s/newadmin\u0027 % BASE_HOST \n ca_url \u003d \"%s/%s\" % (identity_url, self.ca_path)\n\nThis would make for less copying and it would be easier to follow where this is coming from.","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e0445d57f3a6feb2010ea404fc7666d4699d91be","unresolved":false,"context_lines":[{"line_number":1443,"context_line":"        signing_url \u003d \"%s/newadmin%s\" % (BASE_HOST, self.signing_path)"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"        self.requests.register_uri(\u0027GET\u0027,"},{"line_number":1446,"context_line":"                                   \u0027%s/newadmin\u0027 % BASE_HOST,"},{"line_number":1447,"context_line":"                                   json\u003dVERSION_LIST_v3,"},{"line_number":1448,"context_line":"                                   status_code\u003d300)"},{"line_number":1449,"context_line":"        self.requests.register_uri(\u0027GET\u0027, ca_url, text\u003d\u0027FAKECA\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_29900642","line":1446,"in_reply_to":"5a890539_709cb70e","updated":"2014-12-05 00:01:20.000000000","message":"Done","commit_id":"edb04178e115a619fa1f1f4c876f541e9322fae4"}]}
