)]}'
{"doc/source/configuration.rst":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"06e2a9d79a9be7ebed26a79384e5320d0bd517b2","unresolved":false,"context_lines":[{"line_number":1954,"context_line":".. code-block:: ini"},{"line_number":1955,"context_line":""},{"line_number":1956,"context_line":"  [ldap]"},{"line_number":1957,"context_line":"  url \u003d \"ldap://localhost, ldap://backup.localhost\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_ccbc5fbd","line":1957,"range":{"start_line":1957,"start_character":25,"end_line":1957,"end_character":27},"updated":"2016-02-07 08:06:11.000000000","message":"I\u0027m not sure if the space is allowed","commit_id":"c38222b160fe046134a71d9135662e0cbe6fc2b8"}],"keystone/common/config.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc1db85a43f11b056663c3e4262bd3011504c3c3","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                        \u0027the keystone.endpoint_policy namespace.\u0027),"},{"line_number":566,"context_line":"    ],"},{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":569,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":570,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":571,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_e922bc51","line":568,"updated":"2015-09-29 04:36:52.000000000","message":"we might be able to get away with making this cfg.MultiStrOpt, it\u0027ll look like\n\n  url \u003d ldap://localhost1\n  url \u003d ldap://localhost2\n  ...\n\nthis way it\u0027s actually backwards compatible too.","commit_id":"6b20a6afc58710f22a508ede09d24204fd0e90ef"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"a99b128c76e9933a60006d6ed09d6ca4a3276b5d","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                        \u0027the keystone.endpoint_policy namespace.\u0027),"},{"line_number":566,"context_line":"    ],"},{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":569,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":570,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":571,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_b4714b78","line":568,"in_reply_to":"9a1a9d01_0dfb737a","updated":"2015-09-30 00:11:57.000000000","message":"Done","commit_id":"6b20a6afc58710f22a508ede09d24204fd0e90ef"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"77bb9cdbb13080cf03c3918e1a81c8efd5b4ae33","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                        \u0027the keystone.endpoint_policy namespace.\u0027),"},{"line_number":566,"context_line":"    ],"},{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":569,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":570,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":571,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_0dfb737a","line":568,"in_reply_to":"9a1a9d01_e922bc51","updated":"2015-09-29 10:01:57.000000000","message":"+1 Steve\ncfg.MultiStrOpt is better\nhttp://docs.openstack.org/developer/oslo.config/api/oslo.config.cfg.html","commit_id":"6b20a6afc58710f22a508ede09d24204fd0e90ef"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"8271c72983856f9e678ad126bf7160e231788725","unresolved":false,"context_lines":[{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":569,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":570,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":571,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"},{"line_number":572,"context_line":"                        \u0027for the connection.\u0027),"},{"line_number":573,"context_line":"        cfg.StrOpt(\u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_be284fe3","line":570,"updated":"2015-09-29 20:27:36.000000000","message":"s/specfied/specified/","commit_id":"6b20a6afc58710f22a508ede09d24204fd0e90ef"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"a99b128c76e9933a60006d6ed09d6ca4a3276b5d","unresolved":false,"context_lines":[{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":569,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":570,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":571,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"},{"line_number":572,"context_line":"                        \u0027for the connection.\u0027),"},{"line_number":573,"context_line":"        cfg.StrOpt(\u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_546a2f82","line":570,"in_reply_to":"9a1a9d01_be284fe3","updated":"2015-09-30 00:11:57.000000000","message":"Done","commit_id":"6b20a6afc58710f22a508ede09d24204fd0e90ef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bda1e2c2b3bdcdff13b7e3d61b3b1764b47066e1","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                        \u0027the keystone.endpoint_policy namespace.\u0027),"},{"line_number":566,"context_line":"    ],"},{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.MultiStrOpt(\u0027url\u0027, default\u003d[\u0027ldap://localhost\u0027],"},{"line_number":569,"context_line":"                        help\u003d\u0027URL(s) for connecting to the LDAP server. This \u0027"},{"line_number":570,"context_line":"                             \u0027configuration option may be repeated for \u0027"},{"line_number":571,"context_line":"                             \u0027multiple values. The first URL to successfully \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_e37067a6","line":568,"updated":"2015-09-30 04:35:03.000000000","message":"i\u0027m wondering if we need to deprecate something here, i don\u0027t think we do, even though we are changing the option type, any old deployment will still work, we\u0027re just adding new bits.","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7591973c9f9a4d60d6184c7d4a654f8ed4962cfb","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                        \u0027the keystone.endpoint_policy namespace.\u0027),"},{"line_number":566,"context_line":"    ],"},{"line_number":567,"context_line":"    \u0027ldap\u0027: ["},{"line_number":568,"context_line":"        cfg.MultiStrOpt(\u0027url\u0027, default\u003d[\u0027ldap://localhost\u0027],"},{"line_number":569,"context_line":"                        help\u003d\u0027URL(s) for connecting to the LDAP server. This \u0027"},{"line_number":570,"context_line":"                             \u0027configuration option may be repeated for \u0027"},{"line_number":571,"context_line":"                             \u0027multiple values. The first URL to successfully \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_63ed37b6","line":568,"in_reply_to":"9a1a9d01_e37067a6","updated":"2015-09-30 05:00:12.000000000","message":"I don\u0027t really think its needed in this case.  Or at least I haven\u0027t thought of a case where it matters.","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bda1e2c2b3bdcdff13b7e3d61b3b1764b47066e1","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                        help\u003d\u0027URL(s) for connecting to the LDAP server. This \u0027"},{"line_number":570,"context_line":"                             \u0027configuration option may be repeated for \u0027"},{"line_number":571,"context_line":"                             \u0027multiple values. The first URL to successfully \u0027"},{"line_number":572,"context_line":"                             \u0027bind is used for the connection.\u0027"},{"line_number":573,"context_line":"                             \u0027For example: \u0027"},{"line_number":574,"context_line":"                             \u0027url\u003dldap://localhost:389 \u0027"},{"line_number":575,"context_line":"                             \u0027url\u003dldap://ldap.company.com:389\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_63469750","line":572,"updated":"2015-09-30 04:35:03.000000000","message":"add a space after the period, or the generated sample will be wonky.","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7591973c9f9a4d60d6184c7d4a654f8ed4962cfb","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                        help\u003d\u0027URL(s) for connecting to the LDAP server. This \u0027"},{"line_number":570,"context_line":"                             \u0027configuration option may be repeated for \u0027"},{"line_number":571,"context_line":"                             \u0027multiple values. The first URL to successfully \u0027"},{"line_number":572,"context_line":"                             \u0027bind is used for the connection.\u0027"},{"line_number":573,"context_line":"                             \u0027For example: \u0027"},{"line_number":574,"context_line":"                             \u0027url\u003dldap://localhost:389 \u0027"},{"line_number":575,"context_line":"                             \u0027url\u003dldap://ldap.company.com:389\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_83facb73","line":572,"in_reply_to":"9a1a9d01_63469750","updated":"2015-09-30 05:00:12.000000000","message":"Done","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"34d38c8207ad9b2433ff79026db5f19dcebef3b0","unresolved":false,"context_lines":[{"line_number":550,"context_line":"    \u0027ldap\u0027: ["},{"line_number":551,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":552,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":553,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":554,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"},{"line_number":555,"context_line":"                        \u0027for the connection.\u0027),"},{"line_number":556,"context_line":"        cfg.StrOpt(\u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_32cd2431","line":553,"range":{"start_line":553,"start_character":25,"end_line":553,"end_character":29},"updated":"2016-02-08 17:32:14.000000000","message":"LDAP","commit_id":"9d3b676b1f17fb42fe92a421948ebaa597ba2d24"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"34d38c8207ad9b2433ff79026db5f19dcebef3b0","unresolved":false,"context_lines":[{"line_number":550,"context_line":"    \u0027ldap\u0027: ["},{"line_number":551,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":552,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":553,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":554,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"},{"line_number":555,"context_line":"                        \u0027for the connection.\u0027),"},{"line_number":556,"context_line":"        cfg.StrOpt(\u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_f25b0c84","line":553,"range":{"start_line":553,"start_character":42,"end_line":553,"end_character":50},"updated":"2016-02-08 17:32:14.000000000","message":"specified","commit_id":"9d3b676b1f17fb42fe92a421948ebaa597ba2d24"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"d528e71465a6fc829c1af4a979672ea06dcafe76","unresolved":false,"context_lines":[{"line_number":550,"context_line":"    \u0027ldap\u0027: ["},{"line_number":551,"context_line":"        cfg.StrOpt(\u0027url\u0027, default\u003d\u0027ldap://localhost\u0027,"},{"line_number":552,"context_line":"                   help\u003d\u0027URL(s) for connecting to the LDAP server. Multiple \u0027"},{"line_number":553,"context_line":"                        \u0027ldap URLs may be specfied as a comma separated \u0027"},{"line_number":554,"context_line":"                        \u0027string. The first URL to successfully bind is used \u0027"},{"line_number":555,"context_line":"                        \u0027for the connection.\u0027),"},{"line_number":556,"context_line":"        cfg.StrOpt(\u0027user\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_39bad70b","line":553,"range":{"start_line":553,"start_character":42,"end_line":553,"end_character":50},"in_reply_to":"5a5ae5dd_f25b0c84","updated":"2016-02-08 23:42:27.000000000","message":"Good catch. I\u0027ll do a follow up patch to fix these.","commit_id":"9d3b676b1f17fb42fe92a421948ebaa597ba2d24"}],"keystone/common/ldap/core.py":[{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"2a2c5fcc15fc9b1a9758a5550ec34e4af3bd7327","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                                    tls_req_cert\u003dtls_req_cert,"},{"line_number":511,"context_line":"                                    debug_level\u003ddebug_level)"},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"        self.conn \u003d ldap.initialize(\u0027,\u0027.join(url)"},{"line_number":514,"context_line":"        self.conn.protocol_version \u003d ldap.VERSION3"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        if alias_dereferencing is not None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_7753b539","line":513,"updated":"2015-09-30 01:35:04.000000000","message":"missing close parenthesis here?  or is that a gerrit UI bug?","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bda1e2c2b3bdcdff13b7e3d61b3b1764b47066e1","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                                    tls_req_cert\u003dtls_req_cert,"},{"line_number":511,"context_line":"                                    debug_level\u003ddebug_level)"},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"        self.conn \u003d ldap.initialize(\u0027,\u0027.join(url)"},{"line_number":514,"context_line":"        self.conn.protocol_version \u003d ldap.VERSION3"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        if alias_dereferencing is not None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_a367cfe7","line":513,"in_reply_to":"9a1a9d01_7753b539","updated":"2015-09-30 04:35:03.000000000","message":"nope, it\u0027s missing )","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7591973c9f9a4d60d6184c7d4a654f8ed4962cfb","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                                    tls_req_cert\u003dtls_req_cert,"},{"line_number":511,"context_line":"                                    debug_level\u003ddebug_level)"},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"        self.conn \u003d ldap.initialize(\u0027,\u0027.join(url)"},{"line_number":514,"context_line":"        self.conn.protocol_version \u003d ldap.VERSION3"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        if alias_dereferencing is not None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_e30e278b","line":513,"in_reply_to":"9a1a9d01_a367cfe7","updated":"2015-09-30 05:00:12.000000000","message":"Done","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"}],"keystone/tests/unit/common/test_ldap.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"06e2a9d79a9be7ebed26a79384e5320d0bd517b2","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    \"\"\"Tests for setting multiple LDAP URLs.\"\"\""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def test_multiple_urls_with_comma(self):"},{"line_number":293,"context_line":"        urls \u003d \u0027ldap://localhost, ldap://backup.localhost\u0027"},{"line_number":294,"context_line":"        self.config_fixture.config(group\u003d\u0027ldap\u0027, url\u003durls)"},{"line_number":295,"context_line":"        base_ldap \u003d ks_ldap.BaseLdap(CONF)"},{"line_number":296,"context_line":"        ldap_connection \u003d base_ldap.get_connection()"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a5ae5dd_2cce5363","line":293,"range":{"start_line":293,"start_character":33,"end_line":293,"end_character":34},"updated":"2016-02-07 08:06:11.000000000","message":"Not sure if python-ldap allows the space","commit_id":"c38222b160fe046134a71d9135662e0cbe6fc2b8"}],"keystone/tests/unit/test_ldap_livetest.py":[{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"2a2c5fcc15fc9b1a9758a5550ec34e4af3bd7327","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def create_object(dn, attrs):"},{"line_number":32,"context_line":"    conn \u003d ldap.initialize(\u0027,\u0027.join(CONF.ldap.url)"},{"line_number":33,"context_line":"    conn.simple_bind_s(CONF.ldap.user, CONF.ldap.password)"},{"line_number":34,"context_line":"    ldif \u003d ldap.modlist.addModlist(attrs)"},{"line_number":35,"context_line":"    conn.add_s(dn, ldif)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_17335915","line":32,"updated":"2015-09-30 01:35:04.000000000","message":"missing close parenthesis here?  or is that a gerrit UI bug?","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7591973c9f9a4d60d6184c7d4a654f8ed4962cfb","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def create_object(dn, attrs):"},{"line_number":32,"context_line":"    conn \u003d ldap.initialize(\u0027,\u0027.join(CONF.ldap.url)"},{"line_number":33,"context_line":"    conn.simple_bind_s(CONF.ldap.user, CONF.ldap.password)"},{"line_number":34,"context_line":"    ldif \u003d ldap.modlist.addModlist(attrs)"},{"line_number":35,"context_line":"    conn.add_s(dn, ldif)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_03147b9d","line":32,"in_reply_to":"9a1a9d01_039d5bbb","updated":"2015-09-30 05:00:12.000000000","message":"Done","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bda1e2c2b3bdcdff13b7e3d61b3b1764b47066e1","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def create_object(dn, attrs):"},{"line_number":32,"context_line":"    conn \u003d ldap.initialize(\u0027,\u0027.join(CONF.ldap.url)"},{"line_number":33,"context_line":"    conn.simple_bind_s(CONF.ldap.user, CONF.ldap.password)"},{"line_number":34,"context_line":"    ldif \u003d ldap.modlist.addModlist(attrs)"},{"line_number":35,"context_line":"    conn.add_s(dn, ldif)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_039d5bbb","line":32,"in_reply_to":"9a1a9d01_17335915","updated":"2015-09-30 04:35:03.000000000","message":"same","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"}],"keystone/tests/unit/test_ldap_tls_livetest.py":[{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"2a2c5fcc15fc9b1a9758a5550ec34e4af3bd7327","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def create_object(dn, attrs):"},{"line_number":29,"context_line":"    conn \u003d ldap.initialize(\u0027,\u0027.join(CONF.ldap.url)"},{"line_number":30,"context_line":"    conn.simple_bind_s(CONF.ldap.user, CONF.ldap.password)"},{"line_number":31,"context_line":"    ldif \u003d ldap.modlist.addModlist(attrs)"},{"line_number":32,"context_line":"    conn.add_s(dn, ldif)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_d73881f0","line":29,"updated":"2015-09-30 01:35:04.000000000","message":"missing close parenthesis here?  or is that a gerrit UI bug?","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7591973c9f9a4d60d6184c7d4a654f8ed4962cfb","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def create_object(dn, attrs):"},{"line_number":29,"context_line":"    conn \u003d ldap.initialize(\u0027,\u0027.join(CONF.ldap.url)"},{"line_number":30,"context_line":"    conn.simple_bind_s(CONF.ldap.user, CONF.ldap.password)"},{"line_number":31,"context_line":"    ldif \u003d ldap.modlist.addModlist(attrs)"},{"line_number":32,"context_line":"    conn.add_s(dn, ldif)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_23197fd7","line":29,"in_reply_to":"9a1a9d01_d73881f0","updated":"2015-09-30 05:00:12.000000000","message":"Done","commit_id":"d434d2ceb45630948b695d7b2dd1651401e7ca79"}]}
