)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"ef9f45eeab3abe63827daa28decba405b6da81ca","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Return 404 instead of 401 for tokens w/o roles"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a scoped-token was validated and the user didn\u0027t have any role assignment"},{"line_number":10,"context_line":"on a project, keystone would return a 401 Unauthorized. This was the"},{"line_number":11,"context_line":"case when the fernet token provider was enabled because the reference is"},{"line_number":12,"context_line":"rebuilt on every request. The uuid token provider has a different behavior - if"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_c985c407","line":9,"updated":"2016-06-07 22:32:15.000000000","message":"This may seem like a nit but the lines have too many characters in the commit message.  I am not able to properly read the commit message. Please reformat the lines so they are not more than the limit which looks to be 70 characters","commit_id":"fde57f68e290575e874234fc751d2380637a07f5"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"6406e1a9defcd1c44ea19146855098f80029c49a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Return 404 instead of 401 for tokens w/o roles"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a scoped-token was validated and the user didn\u0027t have any role assignment"},{"line_number":10,"context_line":"on a project, keystone would return a 401 Unauthorized. This was the"},{"line_number":11,"context_line":"case when the fernet token provider was enabled because the reference is"},{"line_number":12,"context_line":"rebuilt on every request. The uuid token provider has a different behavior - if"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_27cd8f66","line":9,"in_reply_to":"7aa08908_c985c407","updated":"2016-06-07 23:44:24.000000000","message":"Interview Question:\n\nGiven a text buffer with x number of lines of various length, come up with a script to reformat it so that each line is no more than 70 characters.\n\nYou have 30 minutes.","commit_id":"fde57f68e290575e874234fc751d2380637a07f5"}],"keystone/tests/unit/test_v3_auth.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"522fd62bdc78cc035d64fc619051b038704a3ee7","unresolved":false,"context_lines":[{"line_number":394,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":395,"context_line":"                          project_scoped_token)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    @wip(\u0027waiting on bug #1541621\u0027)"},{"line_number":398,"context_line":"    def test_project_scoped_token_is_invalid_after_deleting_grant(self):"},{"line_number":399,"context_line":"        # disable caching so that user grant deletion is not hidden"},{"line_number":400,"context_line":"        # by token caching"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_5e0fe587","line":397,"range":{"start_line":397,"start_character":26,"end_line":397,"end_character":33},"updated":"2016-06-07 15:00:40.000000000","message":"This depends on the bug and, at the same time has a Closes-Bug to it in the commit message?\n\nSo https://review.openstack.org/#/c/277436/ haven\u0027t fixed the issue?","commit_id":"f165842335d9d0c5477ce1a4a3bc2319786af256"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"4b241af8ac9371e017f4d73185ac2263119ba009","unresolved":false,"context_lines":[{"line_number":394,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":395,"context_line":"                          project_scoped_token)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    @wip(\u0027waiting on bug #1541621\u0027)"},{"line_number":398,"context_line":"    def test_project_scoped_token_is_invalid_after_deleting_grant(self):"},{"line_number":399,"context_line":"        # disable caching so that user grant deletion is not hidden"},{"line_number":400,"context_line":"        # by token caching"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_6f381bf0","line":397,"range":{"start_line":397,"start_character":26,"end_line":397,"end_character":33},"in_reply_to":"7aa08908_5e0fe587","updated":"2016-06-07 19:32:56.000000000","message":"Right, https://review.openstack.org/#/c/277436/ didn\u0027t fix the issue for fernet case, since the bug was masked by token caching.","commit_id":"f165842335d9d0c5477ce1a4a3bc2319786af256"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"de66c7c630c5b856aab16acfe857bea59e1107ea","unresolved":false,"context_lines":[{"line_number":412,"context_line":"        self.assignment_api.delete_grant(self.role[\u0027id\u0027],"},{"line_number":413,"context_line":"                                         user_id\u003dself.user[\u0027id\u0027],"},{"line_number":414,"context_line":"                                         project_id\u003dself.project[\u0027id\u0027])"},{"line_number":415,"context_line":"        # Ensure validating a token for a disabled user fails"},{"line_number":416,"context_line":"        self.assertRaises(exception.TokenNotFound,"},{"line_number":417,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":418,"context_line":"                          project_scoped_token)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_0486ad64","line":415,"range":{"start_line":415,"start_character":42,"end_line":415,"end_character":55},"updated":"2016-06-07 14:48:10.000000000","message":"disabled user? think it is \"deleted grant\", right?","commit_id":"f165842335d9d0c5477ce1a4a3bc2319786af256"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"522fd62bdc78cc035d64fc619051b038704a3ee7","unresolved":false,"context_lines":[{"line_number":412,"context_line":"        self.assignment_api.delete_grant(self.role[\u0027id\u0027],"},{"line_number":413,"context_line":"                                         user_id\u003dself.user[\u0027id\u0027],"},{"line_number":414,"context_line":"                                         project_id\u003dself.project[\u0027id\u0027])"},{"line_number":415,"context_line":"        # Ensure validating a token for a disabled user fails"},{"line_number":416,"context_line":"        self.assertRaises(exception.TokenNotFound,"},{"line_number":417,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":418,"context_line":"                          project_scoped_token)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_24bda968","line":415,"range":{"start_line":415,"start_character":42,"end_line":415,"end_character":55},"in_reply_to":"7aa08908_0486ad64","updated":"2016-06-07 15:00:40.000000000","message":"++ Maybe:\n\n\"Ensure the token has been revoked\"","commit_id":"f165842335d9d0c5477ce1a4a3bc2319786af256"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"4b241af8ac9371e017f4d73185ac2263119ba009","unresolved":false,"context_lines":[{"line_number":412,"context_line":"        self.assignment_api.delete_grant(self.role[\u0027id\u0027],"},{"line_number":413,"context_line":"                                         user_id\u003dself.user[\u0027id\u0027],"},{"line_number":414,"context_line":"                                         project_id\u003dself.project[\u0027id\u0027])"},{"line_number":415,"context_line":"        # Ensure validating a token for a disabled user fails"},{"line_number":416,"context_line":"        self.assertRaises(exception.TokenNotFound,"},{"line_number":417,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":418,"context_line":"                          project_scoped_token)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_0f287799","line":415,"range":{"start_line":415,"start_character":42,"end_line":415,"end_character":55},"in_reply_to":"7aa08908_24bda968","updated":"2016-06-07 19:32:56.000000000","message":"Done","commit_id":"f165842335d9d0c5477ce1a4a3bc2319786af256"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"d0987aee685f00b93c088bab9628f1e8cda9e681","unresolved":false,"context_lines":[{"line_number":393,"context_line":"                          self.token_provider_api.validate_token,"},{"line_number":394,"context_line":"                          project_scoped_token)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def test_project_scoped_token_is_invalid_after_deleting_grant(self):"},{"line_number":397,"context_line":"        # disable caching so that user grant deletion is not hidden"},{"line_number":398,"context_line":"        # by token caching"},{"line_number":399,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_d6f603f8","line":396,"range":{"start_line":396,"start_character":8,"end_line":396,"end_character":65},"updated":"2016-06-07 22:10:23.000000000","message":"nice, this is the right place to put this tests, it will be run by: TestPKITokenAPIs, TestUUIDTokenAPIs and TestFernetTokenAPIs","commit_id":"fde57f68e290575e874234fc751d2380637a07f5"}],"keystone/token/provider.py":[{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"624369d10df232e165f105e569cd62a41df13947","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        except exception.Unauthorized as e:"},{"line_number":305,"context_line":"            LOG.debug(\u0027Unable to validate token: %s\u0027, e)"},{"line_number":306,"context_line":"            raise exception.TokenNotFound(token_id\u003dtoken_id)"},{"line_number":307,"context_line":"        if version \u003d\u003d self.V2:"},{"line_number":308,"context_line":"            return self.driver.validate_v2_token(token_ref)"},{"line_number":309,"context_line":"        raise exception.UnsupportedTokenVersionException()"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_bba440b9","line":307,"updated":"2016-05-30 13:41:41.000000000","message":"why not keep this v2 version inside the try? Are you sure that this behavior only happen with v3?","commit_id":"2ab449f8e196c2185fe5451f3e590f7d26f11fee"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"e1bde4f6f14ebb091827bf37033f01413a8060fb","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        except exception.Unauthorized as e:"},{"line_number":305,"context_line":"            LOG.debug(\u0027Unable to validate token: %s\u0027, e)"},{"line_number":306,"context_line":"            raise exception.TokenNotFound(token_id\u003dtoken_id)"},{"line_number":307,"context_line":"        if version \u003d\u003d self.V2:"},{"line_number":308,"context_line":"            return self.driver.validate_v2_token(token_ref)"},{"line_number":309,"context_line":"        raise exception.UnsupportedTokenVersionException()"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_ba322c0e","line":307,"in_reply_to":"9abb7d3a_bba440b9","updated":"2016-05-31 20:32:48.000000000","message":"I don\u0027t think it is safe to move the V2 if block into try because of the Unauthorized exception raised in this line: https://github.com/openstack/keystone/blob/996b0c7e1019235d384648f74de24542b0a736d7/keystone/token/providers/common.py#L732. I think that\u0027s an Unauthorized exception we want to preserve and we only want to add this fix for the V3 fernet token case.","commit_id":"2ab449f8e196c2185fe5451f3e590f7d26f11fee"}]}
