)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"a8916e593abcdbfa00723477d1fecdd44c0fa12f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add user_id_attribute support to _dn_to_id"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is required for LDAP configurations that use user_id_attribute other than default so users can be found in groups"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I112a91dba76a040746723c752e6f2347668bce3f"},{"line_number":12,"context_line":"Closes-Bug: #1692090"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_0fa68e11","line":9,"updated":"2017-05-21 05:35:46.000000000","message":"Please split this into lines of max 79 characters.","commit_id":"3810605d81bc190867298e00d6713d78b8b9553d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e8a20c2d8b7f962216b74cf9e8bc896197c84814","unresolved":false,"context_lines":[{"line_number":11,"context_line":"than the first attribute of the user dn."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I112a91dba76a040746723c752e6f2347668bce3f"},{"line_number":14,"context_line":"Closes-Bug: #1692090"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ff346bd7_75c5fe5a","line":14,"updated":"2017-07-25 20:26:19.000000000","message":"This should have a release note. We have documentation describing how to add one in our Contributor Guide [0].\n\n[0] https://docs.openstack.org/keystone/latest/devref/release-notes.html","commit_id":"704037df7ff95847cd1d9dbdbee87aa0683c9c4c"}],"etc/keystone.conf.sample":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e8a20c2d8b7f962216b74cf9e8bc896197c84814","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"# The LDAP attribute mapped to user IDs in keystone. This must NOT be a"},{"line_number":1162,"context_line":"# multivalued attribute. User IDs are expected to be globally unique across"},{"line_number":1163,"context_line":"# keystone domains and URL-safe. `[ldap] query_scope` must be set to `sub`"},{"line_number":1164,"context_line":"# when using a value other than `cn`. (string value)"},{"line_number":1165,"context_line":"#user_id_attribute \u003d cn"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"# The LDAP attribute mapped to user names in keystone. User names are expected"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"ff346bd7_5538ba9e","line":1164,"updated":"2017-07-25 20:26:19.000000000","message":"We generate this file automatically based on what it registered in code [0]. No need to update this manually - instead just modify the help text in code. This seems like important information to have in the query_scope parameter as well [1].\n\n[0] https://github.com/openstack/keystone/blob/c44a9eaaeb5d2ba5d6ca29565a9d0d4f5da9dd48/keystone/conf/ldap.py#L121-L128\n\n[1] https://github.com/openstack/keystone/blob/c44a9eaaeb5d2ba5d6ca29565a9d0d4f5da9dd48/keystone/conf/ldap.py#L50-L61","commit_id":"704037df7ff95847cd1d9dbdbee87aa0683c9c4c"}],"keystone/identity/backends/ldap/common.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"c8e8bd9f075b268a78a35f21550fd33a6b7091fc","unresolved":false,"context_lines":[{"line_number":1277,"context_line":"            return self._id_to_dn_string(object_id)"},{"line_number":1278,"context_line":""},{"line_number":1279,"context_line":"    def _dn_to_id(self, dn):"},{"line_number":1280,"context_line":"        dn_search \u003d self.get_connection().search_s("},{"line_number":1281,"context_line":"            dn, self.LDAP_SCOPE,"},{"line_number":1282,"context_line":"            \u0027(objectClass\u003d%(objclass)s)\u0027 % {\u0027objclass\u0027: self.object_class},"},{"line_number":1283,"context_line":"            attrlist\u003d[self.id_attr])"}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_0f0ea63a","line":1280,"updated":"2017-08-01 21:19:26.000000000","message":"This turns this from a basic string helper function to a network connection function, which could significantly affect performance and worries me. Have you considered it from that side?","commit_id":"704037df7ff95847cd1d9dbdbee87aa0683c9c4c"}],"keystone/tests/unit/identity/backends/test_ldap_common.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"c8e8bd9f075b268a78a35f21550fd33a6b7091fc","unresolved":false,"context_lines":[{"line_number":555,"context_line":"                }"},{"line_number":556,"context_line":"            ), ]"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"            self.assertEqual(user_id, base_ldap._dn_to_id(dn))"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":""},{"line_number":561,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_8a3724b1","line":558,"updated":"2017-08-01 21:19:26.000000000","message":"This test is structured differently from any other test, so it would help to add comments to explain why it\u0027s different. For example, why are you creating a new LDAP model for this test? I would hope this could be tested with the real model with a couple of mocked methods/side effects?","commit_id":"704037df7ff95847cd1d9dbdbee87aa0683c9c4c"}]}
