)]}'
{"etc/keystone.conf.sample":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0b03081c46eb32fe2e3c295ff4fdcba81bc2a88f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"da6ed579_a3e4addf","updated":"2016-01-14 14:59:31.000000000","message":"let the proposal bot make this change","commit_id":"8a17bc1ab0d2ca8e6106e6ee8c16048994da651e"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2038ad2ba4dad1afc3aa754a3e5a8b59acf246a8","unresolved":false,"context_lines":[{"line_number":1940,"context_line":"# Controls the token construction, validation, and revocation operations."},{"line_number":1941,"context_line":"# Entrypoint in the keystone.token.provider namespace. Core providers are"},{"line_number":1942,"context_line":"# [fernet|pkiz|pki|uuid]. (string value)"},{"line_number":1943,"context_line":"#provider \u003d fernet"},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"# Entrypoint for the token persistence backend driver in the"},{"line_number":1946,"context_line":"# keystone.token.persistence namespace. Supplied drivers are kvs, memcache,"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"da6ed579_9d4aaa54","line":1943,"range":{"start_line":1943,"start_character":0,"end_line":1943,"end_character":18},"updated":"2016-01-18 04:00:26.000000000","message":"pls revert this change, bot will update this.","commit_id":"4eda516122e3da5c4252bff24dabf42c858095d0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":1940,"context_line":"# Controls the token construction, validation, and revocation operations."},{"line_number":1941,"context_line":"# Entrypoint in the keystone.token.provider namespace. Core providers are"},{"line_number":1942,"context_line":"# [fernet|pkiz|pki|uuid]. (string value)"},{"line_number":1943,"context_line":"#provider \u003d fernet"},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"# Entrypoint for the token persistence backend driver in the"},{"line_number":1946,"context_line":"# keystone.token.persistence namespace. Supplied drivers are kvs, memcache,"}],"source_content_type":"application/octet-stream","patch_set":19,"id":"5a5ae5dd_b6e4eddf","line":1943,"updated":"2016-02-05 20:44:54.000000000","message":"No need to update this manually","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99c6ce245bdb1cbbe91ab4a2275e4487b994cc39","unresolved":false,"context_lines":[{"line_number":1940,"context_line":"# Controls the token construction, validation, and revocation operations."},{"line_number":1941,"context_line":"# Entrypoint in the keystone.token.provider namespace. Core providers are"},{"line_number":1942,"context_line":"# [fernet|pkiz|pki|uuid]. (string value)"},{"line_number":1943,"context_line":"#provider \u003d fernet"},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"# Entrypoint for the token persistence backend driver in the"},{"line_number":1946,"context_line":"# keystone.token.persistence namespace. Supplied drivers are kvs, memcache,"}],"source_content_type":"application/octet-stream","patch_set":19,"id":"3a57f1b5_8c426f3d","line":1943,"in_reply_to":"5a5ae5dd_b6e4eddf","updated":"2016-02-10 17:39:00.000000000","message":"Done","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"}],"keystone/tests/unit/test_auth.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":662,"context_line":"        super(AuthWithUuidToken, self).config_overrides()"},{"line_number":663,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"    def test_token_auth_with_binding(self):"},{"line_number":666,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, bind\u003d[\u0027kerberos\u0027])"},{"line_number":667,"context_line":"        body_dict \u003d _build_user_auth()"},{"line_number":668,"context_line":"        unscoped_token \u003d self.controller.authenticate("}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_b63e2d89","line":665,"updated":"2016-02-05 20:44:54.000000000","message":"++ Thanks for keeping this test","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"}],"keystone/tests/unit/test_credential.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"CRED_TYPE_EC2 \u003d controllers.CRED_TYPE_EC2"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class TestCredentialEc2(rest.RestfulTestCase):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def config_overrides(self):"},{"line_number":35,"context_line":"        super(TestCredentialEc2, self).config_overrides()"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_366a3d82","line":32,"range":{"start_line":32,"start_character":6,"end_line":32,"end_character":23},"updated":"2016-02-05 20:44:54.000000000","message":"(nit) unrelated rename ? I am fine with doing this for keeping consistency, however we need to rename V2CredentialEc2Controller below too.","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99c6ce245bdb1cbbe91ab4a2275e4487b994cc39","unresolved":false,"context_lines":[{"line_number":29,"context_line":"CRED_TYPE_EC2 \u003d controllers.CRED_TYPE_EC2"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class TestCredentialEc2(rest.RestfulTestCase):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def config_overrides(self):"},{"line_number":35,"context_line":"        super(TestCredentialEc2, self).config_overrides()"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_6ce37334","line":32,"in_reply_to":"5a5ae5dd_366a3d82","updated":"2016-02-10 17:39:00.000000000","message":"I don\u0027t remember changing this. This almost seems unrelated?","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":"        # self.assertValidRoleListResponse(r, expected_length\u003d0,"},{"line_number":160,"context_line":"        #                                  resource_url\u003dcollection_url)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":163,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_b6238d57","line":160,"updated":"2016-02-05 20:44:54.000000000","message":"What\u0027s going on here ? lot\u0027s of commented code","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99c6ce245bdb1cbbe91ab4a2275e4487b994cc39","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":"        # self.assertValidRoleListResponse(r, expected_length\u003d0,"},{"line_number":160,"context_line":"        #                                  resource_url\u003dcollection_url)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":163,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_ec5be3f4","line":160,"in_reply_to":"5a5ae5dd_b6238d57","updated":"2016-02-10 17:39:00.000000000","message":"Yes, this is left over from working through failing tests.","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9393eb6e16ff76a04c29d5a735700b0c541322dd","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                         resource_url\u003dcollection_url)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":161,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_931603f0","line":158,"updated":"2016-02-10 20:17:25.000000000","message":"Why is this now unauthorized?","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"ccfa235eef2205844f3fea2bc3d3a77219f26f33","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                         resource_url\u003dcollection_url)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":161,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_f4b27d93","line":158,"in_reply_to":"3a57f1b5_8e7bff8b","updated":"2016-02-11 20:30:55.000000000","message":"The user running the test should still have authorization to make the call to validate the role list being empty. self.user[\u0027id\u0027] should be a different user here, then, and that should be a separate (previous) patch so you don\u0027t have to change the tests like this.","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"5143e1b1f212a9475c12875ef869ee4df9e04c0e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                         resource_url\u003dcollection_url)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":161,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_14cab94e","line":158,"in_reply_to":"3a57f1b5_931603f0","updated":"2016-02-11 20:24:28.000000000","message":"During delete a grant, keystone will revoke tokens that was accessible by this grant. As you can see here: https://github.com/openstack/keystone/blob/master/keystone/assignment/core.py#L343-L369\n\nSo, this revoke_by_grant will call the _emit_invalidate_grant_token_persistence https://github.com/openstack/keystone/blob/master/keystone/assignment/core.py#L292\n\nSince, fernet tokens are not persistence, I think this part of code will raise this error. \n\nSo we don\u0027t have to change the status for unauthorized, but handle with this revocation issue related to fernet tokens.","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"5143e1b1f212a9475c12875ef869ee4df9e04c0e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                         resource_url\u003dcollection_url)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        self.delete(member_url)"},{"line_number":158,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_crud_user_domain_role_grants_no_user(self):"},{"line_number":161,"context_line":"        \"\"\"Grant role on a domain to a user that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_8e7bff8b","line":158,"in_reply_to":"3a57f1b5_931603f0","updated":"2016-02-11 20:24:28.000000000","message":"This shouldn\u0027t be changed.\n\nIt\u0027s a unauthorized, because during the delete_grant","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9393eb6e16ff76a04c29d5a735700b0c541322dd","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        self.delete(member_url)"},{"line_number":194,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":195,"context_line":"        # self.assertValidRoleListResponse(r, expected_length\u003d0,"},{"line_number":196,"context_line":"        #                                  resource_url\u003dcollection_url)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def test_crud_group_project_role_grants_no_group(self):"},{"line_number":199,"context_line":"        \"\"\"Grant role on a project to a group that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_53d72b23","line":196,"updated":"2016-02-10 20:17:25.000000000","message":"Same?","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"5143e1b1f212a9475c12875ef869ee4df9e04c0e","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        self.delete(member_url)"},{"line_number":194,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":195,"context_line":"        # self.assertValidRoleListResponse(r, expected_length\u003d0,"},{"line_number":196,"context_line":"        #                                  resource_url\u003dcollection_url)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def test_crud_group_project_role_grants_no_group(self):"},{"line_number":199,"context_line":"        \"\"\"Grant role on a project to a group that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_34e575db","line":196,"in_reply_to":"3a57f1b5_53d72b23","updated":"2016-02-11 20:24:28.000000000","message":"Same comment as above and for the others tests.","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9393eb6e16ff76a04c29d5a735700b0c541322dd","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self.delete(member_url)"},{"line_number":233,"context_line":"        r \u003d self.get(collection_url, expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":234,"context_line":"        # self.assertValidRoleListResponse(r, expected_length\u003d0,"},{"line_number":235,"context_line":"        #                                  resource_url\u003dcollection_url)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def test_crud_group_domain_role_grants_no_group(self):"},{"line_number":238,"context_line":"        \"\"\"Grant role on a domain to a group that doesn\u0027t exist."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_13e1b3fe","line":235,"updated":"2016-02-10 20:17:25.000000000","message":"Same?","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9393eb6e16ff76a04c29d5a735700b0c541322dd","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        # validates the same token again; it should not longer be valid."},{"line_number":332,"context_line":"        self.head(\u0027/auth/tokens\u0027,"},{"line_number":333,"context_line":"                  headers\u003d{\u0027x-subject-token\u0027: token},"},{"line_number":334,"context_line":"                  expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @unit.skip_if_cache_disabled(\u0027assignment\u0027)"},{"line_number":337,"context_line":"    def test_delete_grant_from_user_and_project_invalidate_cache(self):"}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_53be4bd5","line":334,"updated":"2016-02-10 20:17:25.000000000","message":"?","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9393eb6e16ff76a04c29d5a735700b0c541322dd","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, gd_entity)"},{"line_number":555,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, ud_entity)"},{"line_number":556,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, gp_entity)"},{"line_number":557,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, up_entity)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_effective_role_assignments(self):"},{"line_number":560,"context_line":"        \"\"\"Call ``GET /role_assignments?effective``."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_b3cf7f7e","line":557,"updated":"2016-02-10 20:17:25.000000000","message":"WIP?","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"5143e1b1f212a9475c12875ef869ee4df9e04c0e","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, gd_entity)"},{"line_number":555,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, ud_entity)"},{"line_number":556,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, gp_entity)"},{"line_number":557,"context_line":"        # self.assertRoleAssignmentNotInListResponse(r, up_entity)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_get_effective_role_assignments(self):"},{"line_number":560,"context_line":"        \"\"\"Call ``GET /role_assignments?effective``."}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_54ea71ad","line":557,"in_reply_to":"3a57f1b5_b3cf7f7e","updated":"2016-02-11 20:24:28.000000000","message":"++","commit_id":"477bf475c158eb1c2ea608d4a51707562168e4f4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2079c5050ea196e1a049e602ccef78b94ca9bac9","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        # to validate the users token as well.  Just scrolling the time"},{"line_number":207,"context_line":"        # forward with the Oslo Fixture does not handle it, but a real"},{"line_number":208,"context_line":"        # delay fixes it.  Not sure why."},{"line_number":209,"context_line":"        time.sleep(1)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        r \u003d self.get(collection_url)"},{"line_number":212,"context_line":"        self.assertValidRoleListResponse(r, expected_length\u003d0,"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_d941710d","line":209,"updated":"2016-07-18 19:00:46.000000000","message":"I attempted to break these fixes out into their own patch - https://review.openstack.org/#/c/343860/","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/tests/unit/test_v3_auth.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0b03081c46eb32fe2e3c295ff4fdcba81bc2a88f","unresolved":false,"context_lines":[{"line_number":1875,"context_line":"        self.kerberos \u003d True"},{"line_number":1876,"context_line":"        self.auth_plugin_config_override("},{"line_number":1877,"context_line":"            methods\u003d[\u0027kerberos\u0027, \u0027password\u0027, \u0027token\u0027])"},{"line_number":1878,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"},{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":""},{"line_number":1881,"context_line":"class TestAuth(test_v3.RestfulTestCase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_43bff1a9","line":1878,"range":{"start_line":1878,"start_character":8,"end_line":1878,"end_character":66},"updated":"2016-01-14 14:59:31.000000000","message":"add a comment here too","commit_id":"8a17bc1ab0d2ca8e6106e6ee8c16048994da651e"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"        super(TestAuthExternalDomain, self).config_overrides()"},{"line_number":2032,"context_line":"        self.kerberos \u003d False"},{"line_number":2033,"context_line":"        self.auth_plugin_config_override(external\u003d\u0027Domain\u0027)"},{"line_number":2034,"context_line":"        # the Fernet token provider doesn\u0027t support bind authentication"},{"line_number":2035,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"    def test_remote_user_with_realm(self):"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_961f7107","line":2034,"updated":"2016-02-05 20:44:54.000000000","message":"Do we need this comment here ?","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99c6ce245bdb1cbbe91ab4a2275e4487b994cc39","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"        super(TestAuthExternalDomain, self).config_overrides()"},{"line_number":2032,"context_line":"        self.kerberos \u003d False"},{"line_number":2033,"context_line":"        self.auth_plugin_config_override(external\u003d\u0027Domain\u0027)"},{"line_number":2034,"context_line":"        # the Fernet token provider doesn\u0027t support bind authentication"},{"line_number":2035,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"    def test_remote_user_with_realm(self):"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_cc0f07e0","line":2034,"in_reply_to":"5a5ae5dd_961f7107","updated":"2016-02-10 17:39:00.000000000","message":"I would think so because it explains why we are switching to the UUID provider to run these tests.","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fbd9600b922e845a00493d6100376912b702d9a0","unresolved":false,"context_lines":[{"line_number":2466,"context_line":"        self.kerberos \u003d False"},{"line_number":2467,"context_line":"        self.auth_plugin_config_override(external\u003d\u0027Domain\u0027)"},{"line_number":2468,"context_line":"        # the Fernet token provider doesn\u0027t support bind authentication"},{"line_number":2469,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"},{"line_number":2470,"context_line":""},{"line_number":2471,"context_line":"    def test_remote_user_with_realm(self):"},{"line_number":2472,"context_line":"        api \u003d auth.controllers.Auth()"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_e292ba56","line":2469,"updated":"2016-07-18 20:11:34.000000000","message":"I refactored this out into https://review.openstack.org/#/c/343886/ in an effort to make this more reviewable.","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/tests/unit/test_v3_filters.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        self.identity_api.update_user(user[\u0027id\u0027], user)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        url_by_name \u003d \u0027/users?name\u003d%my%name%\u0027"},{"line_number":216,"context_line":"        # for some reason this breaks with fernet tokens"},{"line_number":217,"context_line":"        # r \u003d self.get(url_by_name, auth\u003dself.auth,"},{"line_number":218,"context_line":"        #              expected_status\u003dhttp_client.UNAUTHORIZED)"},{"line_number":219,"context_line":"        self.get(url_by_name, auth\u003dself.auth,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_96cd3187","line":216,"updated":"2016-02-05 20:44:54.000000000","message":"Yeah, need to investigate :-)","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"143307f55634b32e127c08965aaa1c77a7f0dc62","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        user[\u0027name\u0027] \u003d \u0027%my%name%\u0027"},{"line_number":215,"context_line":"        self.identity_api.update_user(user[\u0027id\u0027], user)"},{"line_number":216,"context_line":"        url_by_name \u003d \u0027/users?name\u003d%my%name%\u0027"},{"line_number":217,"context_line":"        time.sleep(1)"},{"line_number":218,"context_line":"        r \u003d self.get(url_by_name, auth\u003dself.auth)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        self.assertEqual(1, len(r.result.get(\u0027users\u0027)))"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_ce5fee0c","line":217,"updated":"2016-07-18 15:47:01.000000000","message":"I pulled this out into it\u0027s own patch - hoping to make this more reviewable. \n\nhttps://review.openstack.org/#/c/343738/1","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/tests/unit/test_v3_oauth1.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"2038ad2ba4dad1afc3aa754a3e5a8b59acf246a8","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"class UuidAuthTokenTests(AuthTokenTests):"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def config_overrides(self):"},{"line_number":599,"context_line":"        super(UuidAuthTokenTests, self).config_overrides()"},{"line_number":600,"context_line":"        self.config_fixture.config(group\u003d\u0027token\u0027, provider\u003d\u0027uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da6ed579_98acf88d","line":597,"updated":"2016-01-18 04:00:26.000000000","message":"nice! you catch this!","commit_id":"4eda516122e3da5c4252bff24dabf42c858095d0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"a09678a9c102ab9ace58aded88f1ae839715724e","unresolved":false,"context_lines":[{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def test_delete_keystone_tokens_by_consumer_id(self):"},{"line_number":495,"context_line":"        # NOTE(lbragstad): Fernet tokens are never persisted in the backend."},{"line_number":496,"context_line":"        pass"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def _create_trust_get_token(self):"},{"line_number":499,"context_line":"        ref \u003d unit.new_trust_ref("}],"source_content_type":"text/x-python","patch_set":19,"id":"5a5ae5dd_96a21198","line":496,"updated":"2016-02-05 20:44:54.000000000","message":"I know you copied this from the previous code, but why not use skip here and add the text as the reason of skipping ?","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99c6ce245bdb1cbbe91ab4a2275e4487b994cc39","unresolved":false,"context_lines":[{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def test_delete_keystone_tokens_by_consumer_id(self):"},{"line_number":495,"context_line":"        # NOTE(lbragstad): Fernet tokens are never persisted in the backend."},{"line_number":496,"context_line":"        pass"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def _create_trust_get_token(self):"},{"line_number":499,"context_line":"        ref \u003d unit.new_trust_ref("}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_0c2d1f46","line":496,"in_reply_to":"5a5ae5dd_96a21198","updated":"2016-02-10 17:39:00.000000000","message":"Done","commit_id":"3796bfc200a3442d243776424e576856a4b71bb5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"8b87521ccf64ccfec5f97140167ad54c0edc78b0","unresolved":false,"context_lines":[{"line_number":503,"context_line":"            expected_status\u003dhttp_client.FORBIDDEN)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def test_delete_keystone_tokens_by_consumer_id(self):"},{"line_number":506,"context_line":"        self.skipTest(\u0027Fernet tokens are never persisted in the backend.\u0027)"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    def _create_trust_get_token(self):"},{"line_number":509,"context_line":"        ref \u003d unit.new_trust_ref("}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_9de40a0e","line":506,"updated":"2016-07-18 17:10:59.000000000","message":"Attempted to pull this into it\u0027s own patch in order to make this review more readable.\n\nhttps://review.openstack.org/#/c/343812/","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/tests/unit/test_v3_trust.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"82d47d4b3cbf828ee2b4d76c047edd72bca122a6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self.delete("},{"line_number":89,"context_line":"            \u0027/OS-TRUST/trusts/%(trust_id)s\u0027 % {\u0027trust_id\u0027: trust[\u0027id\u0027]})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        time.sleep(1)"},{"line_number":92,"context_line":"        # ensure the trust is not found"},{"line_number":93,"context_line":"        self.get("},{"line_number":94,"context_line":"            \u0027/OS-TRUST/trusts/%(trust_id)s\u0027 % {\u0027trust_id\u0027: trust[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_9f0eb432","line":91,"updated":"2016-07-18 21:39:55.000000000","message":"This doesn\u0027t seem specific to fernet. Any reason why this was included in the patch?","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"82d47d4b3cbf828ee2b4d76c047edd72bca122a6","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        # delete the trust"},{"line_number":149,"context_line":"        self.delete(\u0027/OS-TRUST/trusts/%(trust_id)s\u0027 % {"},{"line_number":150,"context_line":"            \u0027trust_id\u0027: trust[\u0027id\u0027]})"},{"line_number":151,"context_line":"        time.sleep(1)"},{"line_number":152,"context_line":"        # ensure the trust isn\u0027t found"},{"line_number":153,"context_line":"        self.get(\u0027/OS-TRUST/trusts/%(trust_id)s\u0027 % {"},{"line_number":154,"context_line":"            \u0027trust_id\u0027: trust[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_3f1ea863","line":151,"updated":"2016-07-18 21:39:55.000000000","message":"Same comment here - I can\u0027t seem to get these tests to fail with the fernet provider.","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/tests/unit/token/test_backends.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f5f890b6cb7e9488b8764dc088f89eb46574160d","unresolved":false,"context_lines":[{"line_number":535,"context_line":"        self.token_provider_api.validate_v2_token(self.unscoped_token_id)"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    def test_delete_unscoped_token(self):"},{"line_number":538,"context_line":"        self.skip_if_fernet()"},{"line_number":539,"context_line":"        self.token_provider_api._persistence.delete_token("},{"line_number":540,"context_line":"            self.unscoped_token_id)"},{"line_number":541,"context_line":"        self._check_unscoped_tokens_are_invalid()"}],"source_content_type":"text/x-python","patch_set":38,"id":"dada55a8_fcdb7eeb","line":538,"updated":"2016-07-18 21:33:13.000000000","message":"I have attempted to break these changes out into a new patch - https://review.openstack.org/#/c/343932/","commit_id":"2baa23bc3a7a37f1db109b1194592e15199c0e8e"}],"keystone/token/provider.py":[{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"d7f78aae1d31b38667ce03f3dd37c04a0b0309c7","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def _token_belongs_to(self, token_id, token, belongs_to):"},{"line_number":340,"context_line":"        \"\"\"Check if the token belongs to the right tenant."},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        This is only used on v2 tokens.  The structural validity of the token"},{"line_number":343,"context_line":"        will have already been checked before this method is called."},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":26,"id":"7af24918_6de38134","line":342,"range":{"start_line":342,"start_character":7,"end_line":342,"end_character":38},"updated":"2016-03-04 18:50:50.000000000","message":"The problem is that we are trying to use this on v3 tokens, this sounds like the wrong way to to that.","commit_id":"e9996e0bd55c048a62ab647c2a3b7e80a9e142df"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"89476228502a492e081bf20e287e46ace2df9d32","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":"        if belongs_to:"},{"line_number":347,"context_line":"            token_data \u003d token_model.KeystoneToken(token_id, token)"},{"line_number":348,"context_line":"            if token_data.project_id !\u003d belongs_to:"},{"line_number":349,"context_line":"                raise exception.Unauthorized()"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def issue_v2_token(self, token_ref, roles_ref\u003dNone, catalog_ref\u003dNone):"}],"source_content_type":"text/x-python","patch_set":26,"id":"9aed3d3a_943b2d38","line":348,"range":{"start_line":348,"start_character":15,"end_line":348,"end_character":37},"updated":"2016-02-26 17:24:43.000000000","message":"This change broke the \"test_belongs_to_no_tenant\" https://github.com/openstack/keystone/blob/0811526cea2a9adaae7234e9dc6132b111d5438c/keystone/tests/unit/test_auth.py#L395-L409\n\nSince token_data will not have project_id information. \nBesides, we are change this to v3 concept? How this should work with v2 API?","commit_id":"e9996e0bd55c048a62ab647c2a3b7e80a9e142df"}]}
