)]}'
{"keystone/common/wsgi.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"02eb566f016b3a860f813269f0dc779ea6d0903f","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            raise exception.ValidationError(message\u003dmsg)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    @classmethod"},{"line_number":308,"context_line":"    def base_url(cls, context, endpoint_type\u003dNone):"},{"line_number":309,"context_line":"        url \u003d CONF[\u0027public_endpoint\u0027]"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        if url:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_2a9f7e02","line":308,"range":{"start_line":308,"start_character":29,"end_line":308,"end_character":49},"updated":"2018-06-12 19:54:02.000000000","message":"This isn\u0027t used, we can remove it by the looks of it.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"40f9c86d3e0a7e0cb8956b38c2f012c2e4711b82","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            raise exception.ValidationError(message\u003dmsg)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    @classmethod"},{"line_number":308,"context_line":"    def base_url(cls, context, endpoint_type\u003dNone):"},{"line_number":309,"context_line":"        url \u003d CONF[\u0027public_endpoint\u0027]"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        if url:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_2a145e4c","line":308,"range":{"start_line":308,"start_character":29,"end_line":308,"end_character":49},"in_reply_to":"5f7c97a3_2a9f7e02","updated":"2018-06-12 19:57:03.000000000","message":"Yes, but going for minimal changes, changing this affects 100s of extra lines. I was going to isolate that.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"}],"keystone/conf/default.py":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"195a6b1d95bdb498ce89d9619f158f780017801c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    \u0027admin_endpoint\u0027,"},{"line_number":60,"context_line":"    deprecated_since\u003dversionutils.deprecated.ROCKY,"},{"line_number":61,"context_line":"    deprecated_for_removal\u003dTrue,"},{"line_number":62,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":63,"context_line":"With the removal of the 2.0 API keystone does not distinguish between admin"},{"line_number":64,"context_line":"and public endpoints."},{"line_number":65,"context_line":"\"\"\"),"},{"line_number":66,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":67,"context_line":"The base admin endpoint URL for Keystone that is advertised to clients (NOTE:"},{"line_number":68,"context_line":"this does NOT affect how Keystone listens for connections). Defaults to the"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_6a3b369b","line":65,"range":{"start_line":62,"start_character":4,"end_line":65,"end_character":5},"updated":"2018-06-12 19:24:39.000000000","message":"Did we ever decide on a release to remove this?","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"02eb566f016b3a860f813269f0dc779ea6d0903f","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    \u0027admin_endpoint\u0027,"},{"line_number":60,"context_line":"    deprecated_since\u003dversionutils.deprecated.ROCKY,"},{"line_number":61,"context_line":"    deprecated_for_removal\u003dTrue,"},{"line_number":62,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":63,"context_line":"With the removal of the 2.0 API keystone does not distinguish between admin"},{"line_number":64,"context_line":"and public endpoints."},{"line_number":65,"context_line":"\"\"\"),"},{"line_number":66,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":67,"context_line":"The base admin endpoint URL for Keystone that is advertised to clients (NOTE:"},{"line_number":68,"context_line":"this does NOT affect how Keystone listens for connections). Defaults to the"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_cab28a94","line":65,"range":{"start_line":62,"start_character":4,"end_line":65,"end_character":5},"in_reply_to":"5f7c97a3_6a3b369b","updated":"2018-06-12 19:54:02.000000000","message":"We should be able to remove this once we stop actually referencing it in code. Having the option defined in configuration shouldn\u0027t break anything if it isn\u0027t used. Stein?","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"40f9c86d3e0a7e0cb8956b38c2f012c2e4711b82","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    \u0027admin_endpoint\u0027,"},{"line_number":60,"context_line":"    deprecated_since\u003dversionutils.deprecated.ROCKY,"},{"line_number":61,"context_line":"    deprecated_for_removal\u003dTrue,"},{"line_number":62,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":63,"context_line":"With the removal of the 2.0 API keystone does not distinguish between admin"},{"line_number":64,"context_line":"and public endpoints."},{"line_number":65,"context_line":"\"\"\"),"},{"line_number":66,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":67,"context_line":"The base admin endpoint URL for Keystone that is advertised to clients (NOTE:"},{"line_number":68,"context_line":"this does NOT affect how Keystone listens for connections). Defaults to the"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0a3882eb","line":65,"range":{"start_line":62,"start_character":4,"end_line":65,"end_character":5},"in_reply_to":"5f7c97a3_6a3b369b","updated":"2018-06-12 19:57:03.000000000","message":"Yes, Rocky v2.0 is totally gone. That said, I\u0027m leaving this here (deprecated) in the case someone is leaning on it for something silly [we don\u0027t reference it anywhere]","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"15c780c96b6262dd083d34c769a083e7f29176de","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    deprecated_since\u003dversionutils.deprecated.ROCKY,"},{"line_number":61,"context_line":"    deprecated_for_removal\u003dTrue,"},{"line_number":62,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":63,"context_line":"With the removal of the 2.0 API keystone does not distinguish between admin"},{"line_number":64,"context_line":"and public endpoints."},{"line_number":65,"context_line":"\"\"\"),"},{"line_number":66,"context_line":"    help\u003dutils.fmt(\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_ccd30f37","line":63,"range":{"start_line":63,"start_character":24,"end_line":63,"end_character":27},"updated":"2018-06-18 21:09:00.000000000","message":"nit: v2.0","commit_id":"d1af78b3f7069f11deedc13a5a276707c8efa591"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"15c780c96b6262dd083d34c769a083e7f29176de","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    deprecated_for_removal\u003dTrue,"},{"line_number":62,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":63,"context_line":"With the removal of the 2.0 API keystone does not distinguish between admin"},{"line_number":64,"context_line":"and public endpoints."},{"line_number":65,"context_line":"\"\"\"),"},{"line_number":66,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":67,"context_line":"The base admin endpoint URL for Keystone that is advertised to clients (NOTE:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_ccbc6fdd","line":64,"updated":"2018-06-18 21:09:00.000000000","message":"nit: amend with - \n\n  public endpoint since both are effectively the same.","commit_id":"d1af78b3f7069f11deedc13a5a276707c8efa591"}],"keystone/server/wsgi.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"02eb566f016b3a860f813269f0dc779ea6d0903f","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Keystone does not differentiate between \"admin\" and public with the removal"},{"line_number":29,"context_line":"# of V2.0"},{"line_number":30,"context_line":"initialize_admin_application \u003d initialize_public_application"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_8aa81220","line":30,"updated":"2018-06-12 19:54:02.000000000","message":"This is strictly for backwards compat, yeah? How long should we expect to keep this around?","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"3f4831115850cef02d6ccc6fdb84a972351dbeb8","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Keystone does not differentiate between \"admin\" and public with the removal"},{"line_number":29,"context_line":"# of V2.0"},{"line_number":30,"context_line":"initialize_admin_application \u003d initialize_public_application"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_9b46f350","line":30,"in_reply_to":"5f7c97a3_050cf5e9","updated":"2018-06-14 17:10:01.000000000","message":"I would hope 2 years, but honestly, this might just be a forever thing since we can just alias it, fire and forget.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"40f9c86d3e0a7e0cb8956b38c2f012c2e4711b82","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Keystone does not differentiate between \"admin\" and public with the removal"},{"line_number":29,"context_line":"# of V2.0"},{"line_number":30,"context_line":"initialize_admin_application \u003d initialize_public_application"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ea098630","line":30,"in_reply_to":"5f7c97a3_8aa81220","updated":"2018-06-12 19:57:03.000000000","message":"Yes, for backwards compat, but we should keep it for the forseeable future, some folks use keystone-admin-wsgi still (*we need to telegraph a removal of that).","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"53d474f55ec3a6d2f191c2584e44a4c8abac720b","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Keystone does not differentiate between \"admin\" and public with the removal"},{"line_number":29,"context_line":"# of V2.0"},{"line_number":30,"context_line":"initialize_admin_application \u003d initialize_public_application"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0c66e7bc","line":30,"in_reply_to":"5f7c97a3_9b46f350","updated":"2018-06-18 21:05:10.000000000","message":"That\u0027s fair","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1556fc6ea563bcea9430f2f8d1a6aa2bb65fee31","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Keystone does not differentiate between \"admin\" and public with the removal"},{"line_number":29,"context_line":"# of V2.0"},{"line_number":30,"context_line":"initialize_admin_application \u003d initialize_public_application"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_050cf5e9","line":30,"in_reply_to":"5f7c97a3_ea098630","updated":"2018-06-12 20:13:15.000000000","message":"So - 2 years? Or is it too early to tell?","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"}],"keystone/tests/unit/rest.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"02eb566f016b3a860f813269f0dc779ea6d0903f","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    def public_request(self, **kwargs):"},{"line_number":210,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def admin_request(self, **kwargs):"},{"line_number":213,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _get_token_id(self, r):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_2a6d3e02","line":212,"range":{"start_line":212,"start_character":8,"end_line":212,"end_character":21},"updated":"2018-06-12 19:54:02.000000000","message":"I suppose we should refactor this in the future since it doesn\u0027t really mean what it says anymore. In fact, we could completely remove the whole public_request/admin_request pattern and just use request.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"40f9c86d3e0a7e0cb8956b38c2f012c2e4711b82","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    def public_request(self, **kwargs):"},{"line_number":210,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def admin_request(self, **kwargs):"},{"line_number":213,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _get_token_id(self, r):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e50e9930","line":212,"range":{"start_line":212,"start_character":8,"end_line":212,"end_character":21},"in_reply_to":"5f7c97a3_2a6d3e02","updated":"2018-06-12 19:57:03.000000000","message":"It will all go away see other comment about minimal changes per patch and isolation.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1556fc6ea563bcea9430f2f8d1a6aa2bb65fee31","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    def public_request(self, **kwargs):"},{"line_number":210,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def admin_request(self, **kwargs):"},{"line_number":213,"context_line":"        return self._request(app\u003dself.public_app, **kwargs)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _get_token_id(self, r):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e5f459d1","line":212,"range":{"start_line":212,"start_character":8,"end_line":212,"end_character":21},"in_reply_to":"5f7c97a3_e50e9930","updated":"2018-06-12 20:13:15.000000000","message":"++ makes sense","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"}],"keystone/tests/unit/test_versions.py":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"195a6b1d95bdb498ce89d9619f158f780017801c","unresolved":false,"context_lines":[{"line_number":905,"context_line":"    def test_public(self):"},{"line_number":906,"context_line":"        self._test_version(\u0027public\u0027)"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"    def test_admin(self):"},{"line_number":909,"context_line":"        self._test_version(\u0027admin\u0027)"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"class VersionBehindSslTestCase(unit.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_4a067ad0","line":909,"range":{"start_line":908,"start_character":4,"end_line":909,"end_character":35},"updated":"2018-06-12 19:24:39.000000000","message":"Should we keep this?","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"40f9c86d3e0a7e0cb8956b38c2f012c2e4711b82","unresolved":false,"context_lines":[{"line_number":905,"context_line":"    def test_public(self):"},{"line_number":906,"context_line":"        self._test_version(\u0027public\u0027)"},{"line_number":907,"context_line":""},{"line_number":908,"context_line":"    def test_admin(self):"},{"line_number":909,"context_line":"        self._test_version(\u0027admin\u0027)"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"class VersionBehindSslTestCase(unit.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_45298d87","line":909,"range":{"start_line":908,"start_character":4,"end_line":909,"end_character":35},"in_reply_to":"5f7c97a3_4a067ad0","updated":"2018-06-12 19:57:03.000000000","message":"Nope, it provided zero value, we don\u0027t expose that functionality outside of our unit test.","commit_id":"3c62e1c61cab0a49ebac7825be61b3138a50b3f1"}]}
