)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make the LDAP debug option a configurable setting"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The LDAP OPT_DEBUG_LEVEL is very useful for debugging LDAP"},{"line_number":10,"context_line":"problems with Keystone. This changes makes it easier to set"},{"line_number":11,"context_line":"and find. The default will be to have it disabled."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I342fe2eea752bd8632074600386f0173e7328132"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAW3%2F%2Fh%2F4%3D","line":10,"updated":"2014-04-13 16:50:06.000000000","message":"change \"changes\" to \"change\"","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The LDAP OPT_DEBUG_LEVEL is very useful for debugging LDAP"},{"line_number":10,"context_line":"problems with Keystone. This changes makes it easier to set"},{"line_number":11,"context_line":"and find. The default will be to have it disabled."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I342fe2eea752bd8632074600386f0173e7328132"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAW3%2F%2FiAA%3D","line":12,"updated":"2014-04-13 16:50:06.000000000","message":"suggest add a DocImpact","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"}],"etc/keystone.conf.sample":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c44c13850679cf8c81d3ce4462285d2a6491dbd5","unresolved":false,"context_lines":[{"line_number":862,"context_line":"# while a value of 4095 provides a verbose level of"},{"line_number":863,"context_line":"# debugging. (integer value)"},{"line_number":864,"context_line":"#debug_level\u003d\u003cNone\u003e"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"# Search base for users. (string value)"},{"line_number":867,"context_line":"#user_tree_dn\u003d\u003cNone\u003e"},{"line_number":868,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAW3%2F%2FYJM%3D","line":865,"updated":"2014-04-15 02:08:54.000000000","message":"use \"tox -e sample_config\" to generate the sample config file.","commit_id":"15cffaf3720f0072ccc1748ba1ef425850a69358"}],"keystone/common/config.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                        \u0027\"finding\" or \"default\". The \"default\" option falls \u0027"},{"line_number":441,"context_line":"                        \u0027back to using default dereferencing configured by \u0027"},{"line_number":442,"context_line":"                        \u0027your ldap.conf.\u0027),"},{"line_number":443,"context_line":"        cfg.IntOpt(\u0027debug_level\u0027, default\u003d\u00270\u0027,"},{"line_number":444,"context_line":"                   help\u003d\u0027Sets the LDAP debugging level for LDAP calls. \u0027"},{"line_number":445,"context_line":"                        \u0027A value of 0 means that debugging is not enabled. \u0027"},{"line_number":446,"context_line":"                        \u0027This value is a bitmask, consult your LDAP \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2Fg%3D","line":443,"updated":"2014-04-13 16:50:06.000000000","message":"suggest have no default value, and have the server not set the value if it\u0027s not set.\n\nAlso, the default here is a string but it\u0027s an IntOpt.","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"}],"keystone/common/ldap/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    @abc.abstractmethod"},{"line_number":240,"context_line":"    def connect(self, url, page_size\u003d0, alias_dereferencing\u003dNone,"},{"line_number":241,"context_line":"                use_tls\u003dFalse, tls_cacertfile\u003dNone, tls_cacertdir\u003dNone,"},{"line_number":242,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003d0):"},{"line_number":243,"context_line":"        raise exception.NotImplemented()"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2Fc%3D","line":242,"updated":"2014-04-13 16:50:06.000000000","message":"suggest use debug_level\u003dNone","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def connect(self, url, page_size\u003d0, alias_dereferencing\u003dNone,"},{"line_number":309,"context_line":"                use_tls\u003dFalse, tls_cacertfile\u003dNone, tls_cacertdir\u003dNone,"},{"line_number":310,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003d0):"},{"line_number":311,"context_line":"        LOG.debug(\"LDAP init: url\u003d%s\", url)"},{"line_number":312,"context_line":"        LOG.debug(\u0027LDAP init: use_tls\u003d%s tls_cacertfile\u003d%s tls_cacertdir\u003d%s \u0027"},{"line_number":313,"context_line":"                  \u0027tls_req_cert\u003d%s tls_avail\u003d%s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2FY%3D","line":310,"updated":"2014-04-13 16:50:06.000000000","message":"suggest use debug_level\u003dNone","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                  use_tls, tls_cacertfile, tls_cacertdir,"},{"line_number":315,"context_line":"                  tls_req_cert, ldap.TLS_AVAIL)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        if debug_level !\u003d 0:"},{"line_number":318,"context_line":"            ldap.set_option(ldap.OPT_DEBUG_LEVEL, debug_level)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        using_ldaps \u003d url.lower().startswith(\"ldaps\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2FU%3D","line":317,"updated":"2014-04-13 16:50:06.000000000","message":"suggest \n\n if debug_level is not None:","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"    def connect(self, url, page_size\u003d0, alias_dereferencing\u003dNone,"},{"line_number":454,"context_line":"                use_tls\u003dFalse, tls_cacertfile\u003dNone, tls_cacertdir\u003dNone,"},{"line_number":455,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003d0):"},{"line_number":456,"context_line":"        return self.conn.connect(url, page_size, alias_dereferencing,"},{"line_number":457,"context_line":"                                 use_tls, tls_cacertfile, tls_cacertdir,"},{"line_number":458,"context_line":"                                 tls_req_cert, chase_referrals, debug_level)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2FQ%3D","line":455,"updated":"2014-04-13 16:50:06.000000000","message":"suggest use debug_level\u003dNone","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003d0):"},{"line_number":456,"context_line":"        return self.conn.connect(url, page_size, alias_dereferencing,"},{"line_number":457,"context_line":"                                 use_tls, tls_cacertfile, tls_cacertdir,"},{"line_number":458,"context_line":"                                 tls_req_cert, chase_referrals, debug_level)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def set_option(self, option, invalue):"},{"line_number":461,"context_line":"        return self.conn.set_option(option, invalue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2FA%3D","line":458,"updated":"2014-04-13 16:50:06.000000000","message":"suggest do debug_level\u003ddebug_level","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c44c13850679cf8c81d3ce4462285d2a6491dbd5","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003dNone):"},{"line_number":456,"context_line":"        return self.conn.connect(url, page_size, alias_dereferencing,"},{"line_number":457,"context_line":"                                 use_tls, tls_cacertfile, tls_cacertdir,"},{"line_number":458,"context_line":"                                 tls_req_cert, chase_referrals, debug_level)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def set_option(self, option, invalue):"},{"line_number":461,"context_line":"        return self.conn.set_option(option, invalue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2FYI4%3D","line":458,"updated":"2014-04-15 02:08:54.000000000","message":"suggest do debug_level\u003ddebug_level","commit_id":"15cffaf3720f0072ccc1748ba1ef425850a69358"}],"keystone/tests/fakeldap.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"399496f898152827b336a6da8678ecd34ccff5a8","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def connect(self, url, page_size\u003d0, alias_dereferencing\u003dNone,"},{"line_number":197,"context_line":"                use_tls\u003dFalse, tls_cacertfile\u003dNone, tls_cacertdir\u003dNone,"},{"line_number":198,"context_line":"                tls_req_cert\u003d\u0027demand\u0027, chase_referrals\u003dNone, debug_level\u003d0):"},{"line_number":199,"context_line":"        if url.startswith(\u0027fake://memory\u0027):"},{"line_number":200,"context_line":"            if url not in FakeShelves:"},{"line_number":201,"context_line":"                FakeShelves[url] \u003d FakeShelve()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2Fh%2B8%3D","line":198,"updated":"2014-04-13 16:50:06.000000000","message":"debug_level\u003dNone","commit_id":"c47b1ca0b5d73615c34825886ac77d72723434cd"}],"keystone/tests/test_backend_ldap.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c44c13850679cf8c81d3ce4462285d2a6491dbd5","unresolved":false,"context_lines":[{"line_number":968,"context_line":"            url\u003d\u0027fake://memory\u0027,"},{"line_number":969,"context_line":"            debug_level\u003d4095)"},{"line_number":970,"context_line":"        user_api \u003d identity.backends.ldap.UserApi(CONF)"},{"line_number":971,"context_line":"        user_api.get_connection(user\u003dNone, password\u003dNone)"},{"line_number":972,"context_line":""},{"line_number":973,"context_line":"        # The last call_arg should be a dictionary and should contain"},{"line_number":974,"context_line":"        # debug_level. Check to make sure the value of debug_level"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2FYIU%3D","line":971,"updated":"2014-04-15 02:08:54.000000000","message":"there\u0027s some code copied from test_chase_referrals_on that should be put into a function.","commit_id":"15cffaf3720f0072ccc1748ba1ef425850a69358"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c44c13850679cf8c81d3ce4462285d2a6491dbd5","unresolved":false,"context_lines":[{"line_number":973,"context_line":"        # The last call_arg should be a dictionary and should contain"},{"line_number":974,"context_line":"        # debug_level. Check to make sure the value of debug_level"},{"line_number":975,"context_line":"        # is as expected."},{"line_number":976,"context_line":"        self.assertEqual(4095, mocked_fakeldap.call_args[-1][\u0027debug_level\u0027])"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    def test_wrong_ldap_scope(self):"},{"line_number":979,"context_line":"        self.config_fixture.config(group\u003d\u0027ldap\u0027, query_scope\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2FYH8%3D","line":976,"updated":"2014-04-15 02:08:54.000000000","message":"use a variable for this number so that it\u0027s obvious that it\u0027s the same as at line 969.  Also, could use a random number so that it\u0027s obvious that 4095 isn\u0027t a special value.","commit_id":"15cffaf3720f0072ccc1748ba1ef425850a69358"}]}
