)]}'
{"tests/_ldap_livetest.py":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"3496ee7f8b67924152b56d19d8602b99510470d1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                  \u0027ou\u0027: \u0027roles\u0027})"},{"line_number":62,"context_line":"    create_object(CONF.ldap.tenant_tree_dn,"},{"line_number":63,"context_line":"                  {\u0027objectclass\u0027: [\u0027top\u0027, \u0027organizationalUnit\u0027],"},{"line_number":64,"context_line":"                   \u0027ou\u0027: \u0027tenants\u0027})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class LiveLDAPIdentity(test_backend_ldap.LDAPIdentity):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAN3%2F%2FvAs%3D","line":64,"updated":"2013-03-14 15:27:22.000000000","message":"this should be projects now instead of tenants","commit_id":"894202cf93c47e6152749c2671a6af17060651c9"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"e432798734579fcd802c208950becef62d5160ff","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                     \u0027-r\u0027, CONF.ldap.suffix])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if CONF.ldap.suffix.startswith(\u0027ou\u003d\u0027):"},{"line_number":51,"context_line":"        tree_dn_attrs \u003d {\u0027objectclass\u0027:"},{"line_number":52,"context_line":"                         [\u0027top\u0027, \u0027organizationalUnit\u0027], \u0027ou\u0027: \u0027openstack\u0027}"},{"line_number":53,"context_line":"    else:"},{"line_number":54,"context_line":"        tree_dn_attrs \u003d {\u0027objectclass\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAN3%2F%2FtbQ%3D","line":51,"updated":"2013-03-15 17:31:30.000000000","message":"please update these to match what devstack creates","commit_id":"fc127c3873c707e394fa6c0a48e37f59369917ff"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"877428588b81b635ca48f0b337bcbe85f43a6c42","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def clear_live_database():"},{"line_number":42,"context_line":"    devnull \u003d open(\u0027/dev/null\u0027, \u0027w\u0027)"},{"line_number":43,"context_line":"    subprocess.call([\u0027ldapdelete\u0027,"},{"line_number":44,"context_line":"                     \u0027-x\u0027,"},{"line_number":45,"context_line":"                     \u0027-D\u0027, CONF.ldap.user,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAN3%2F%2FtPM%3D","line":42,"updated":"2013-03-15 20:12:13.000000000","message":"if sending stderr to devnull is no longer needed can you delete this line please","commit_id":"c6ca9ebb33de17f992e996b6b06b707862824a7e"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"b3dd5cffe8c7d9bf5e0dab8e2a4836cc2c55f14c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                        stderr\u003ddevnull)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if CONF.ldap.suffix.startswith(\u0027ou\u003d\u0027):"},{"line_number":54,"context_line":"            tree_dn_attrs \u003d {\u0027objectclass\u0027: \u0027organizationalUnit\u0027,"},{"line_number":55,"context_line":"                             \u0027ou\u0027: \u0027openstack\u0027}"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            tree_dn_attrs \u003d {\u0027objectclass\u0027: [\u0027dcObject\u0027, \u0027organizationalUnit\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAOH%2F%2F%2BhU%3D","line":54,"updated":"2013-03-18 19:24:52.000000000","message":"should these be coming from CONF instead of hardcoding?","commit_id":"78ee27504701c9fa44e5a7c55f5465f307d65092"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"adb32aaee0323cd4e2145ce9ab17ef13bda0d1eb","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                        stderr\u003ddevnull)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if CONF.ldap.suffix.startswith(\u0027ou\u003d\u0027):"},{"line_number":54,"context_line":"            tree_dn_attrs \u003d {\u0027objectclass\u0027: \u0027organizationalUnit\u0027,"},{"line_number":55,"context_line":"                             \u0027ou\u0027: \u0027openstack\u0027}"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            tree_dn_attrs \u003d {\u0027objectclass\u0027: [\u0027dcObject\u0027, \u0027organizationalUnit\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAOH%2F%2F%2Bf8%3D","line":54,"in_reply_to":"AAAAOH%2F%2F%2BhU%3D","updated":"2013-03-18 19:33:10.000000000","message":"Well I added this, since I ran tests against a configuration that I planned to use in production as well as the devstack environment. I figure it would be useful to create the tree based on the settings.","commit_id":"78ee27504701c9fa44e5a7c55f5465f307d65092"}],"tests/backend_liveldap.conf":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"e432798734579fcd802c208950becef62d5160ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[ldap]"},{"line_number":2,"context_line":"url \u003d ldap://localhost"},{"line_number":3,"context_line":"user \u003d cn\u003dadmin,dc\u003dopenstack,dc\u003dorg"},{"line_number":4,"context_line":"password \u003d test"},{"line_number":5,"context_line":"suffix \u003d dc\u003dopenstack,dc\u003dorg"},{"line_number":6,"context_line":"role_tree_dn \u003d ou\u003dRoles,dc\u003dopenstack,dc\u003dorg"}],"source_content_type":"text/plain","patch_set":7,"id":"AAAAN3%2F%2FteA%3D","line":3,"updated":"2013-03-15 17:31:30.000000000","message":"Please make this user \u003d dc\u003dManager,dc\u003dopenstack,dc\u003dorg\nso it lines up with how devstack configures openldap","commit_id":"fc127c3873c707e394fa6c0a48e37f59369917ff"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"877428588b81b635ca48f0b337bcbe85f43a6c42","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[ldap]"},{"line_number":2,"context_line":"url \u003d ldap://localhost"},{"line_number":3,"context_line":"user \u003d cn\u003dManager,dc\u003dopenstack,dc\u003dorg"},{"line_number":4,"context_line":"password \u003d test"},{"line_number":5,"context_line":"suffix \u003d dc\u003dopenstack,dc\u003dorg"},{"line_number":6,"context_line":"role_tree_dn \u003d ou\u003dRoles,dc\u003dopenstack,dc\u003dorg"}],"source_content_type":"text/plain","patch_set":9,"id":"AAAAN3%2F%2FtPU%3D","line":3,"updated":"2013-03-15 20:12:13.000000000","message":"cn should be dc","commit_id":"c6ca9ebb33de17f992e996b6b06b707862824a7e"}],"tests/test_backend.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"b3dd5cffe8c7d9bf5e0dab8e2a4836cc2c55f14c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":118,"context_line":"            \u0027password\u0027: \u0027no_meta2\u0027,"},{"line_number":119,"context_line":"        }"},{"line_number":120,"context_line":"        self.identity_api.create_user(user[\u0027id\u0027], user)"},{"line_number":121,"context_line":"        self.identity_api.add_user_to_project(self.tenant_baz[\u0027id\u0027],"},{"line_number":122,"context_line":"                                              user[\u0027id\u0027])"},{"line_number":123,"context_line":"        user_ref, tenant_ref, metadata_ref \u003d self.identity_api.authenticate("}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAOH%2F%2F%2Bh0%3D","line":120,"updated":"2013-03-18 19:24:52.000000000","message":"what\u0027s up with the naming? :)\n\nWe have identity_api at the beginning, then it was changed to identity_man, then back to identity_api. I hope the next guy\u0027s not going to change it back to identity_man.","commit_id":"78ee27504701c9fa44e5a7c55f5465f307d65092"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"6529a8ae8fa838260699142af5d291c40763452b","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            \u0027domain_id\u0027: DEFAULT_DOMAIN_ID,"},{"line_number":118,"context_line":"            \u0027password\u0027: \u0027no_meta2\u0027,"},{"line_number":119,"context_line":"        }"},{"line_number":120,"context_line":"        self.identity_api.create_user(user[\u0027id\u0027], user)"},{"line_number":121,"context_line":"        self.identity_api.add_user_to_project(self.tenant_baz[\u0027id\u0027],"},{"line_number":122,"context_line":"                                              user[\u0027id\u0027])"},{"line_number":123,"context_line":"        user_ref, tenant_ref, metadata_ref \u003d self.identity_api.authenticate("}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAOH%2F%2F%2BgM%3D","line":120,"in_reply_to":"AAAAOH%2F%2F%2Bh0%3D","updated":"2013-03-18 19:31:11.000000000","message":"I think the confusion was that somethings are called _api which are really calling on the controller.  man was probably a mistaken attempt to follow up on the manager, which is really the factory....we have naming issues acros the board, but we are getting better.","commit_id":"78ee27504701c9fa44e5a7c55f5465f307d65092"}],"tests/test_backend_ldap.py":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"877428588b81b635ca48f0b337bcbe85f43a6c42","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if CONF.ldap.user_tree_dn:"},{"line_number":57,"context_line":"            expected_user_tree_dn \u003d CONF.ldap.user_tree_dn"},{"line_number":58,"context_line":"        else:"},{"line_number":59,"context_line":"            expected_user_tree_dn \u003d \"ou\u003dUsers,%s\" % CONF.ldap.suffix"},{"line_number":60,"context_line":"        self.assertTrue(user_api)"},{"line_number":61,"context_line":"        self.assertEquals(user_api.tree_dn, expected_user_tree_dn)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAN3%2F%2FtPI%3D","line":59,"updated":"2013-03-15 20:12:13.000000000","message":"why the default case here?","commit_id":"c6ca9ebb33de17f992e996b6b06b707862824a7e"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"877428588b81b635ca48f0b337bcbe85f43a6c42","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        self.identity_api.create_project(project[\u0027id\u0027], project)"},{"line_number":430,"context_line":"        project_ref \u003d self.identity_api.get_project(project[\u0027id\u0027])"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"        # NOTE(crazed): If running live test with emulation, there will be"},{"line_number":433,"context_line":"        #               an enabled key in the project_ref."},{"line_number":434,"context_line":"        if self.identity_api.project.enabled_emulation:"},{"line_number":435,"context_line":"            project[\u0027enabled\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAN3%2F%2FtPA%3D","line":432,"updated":"2013-03-15 20:12:13.000000000","message":"nice catch crazed!","commit_id":"c6ca9ebb33de17f992e996b6b06b707862824a7e"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"6529a8ae8fa838260699142af5d291c40763452b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(LDAPIdentity, self).setUp()"},{"line_number":48,"context_line":"        self._set_config()"},{"line_number":49,"context_line":"        self.clear_database()"},{"line_number":50,"context_line":"        self.identity_man \u003d identity.Manager()"},{"line_number":51,"context_line":"        self.identity_api \u003d self.identity_man.driver"},{"line_number":52,"context_line":"        self.load_fixtures(default_fixtures)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAOH%2F%2F%2BgE%3D","line":50,"updated":"2013-03-18 19:31:11.000000000","message":"make this controller","commit_id":"78ee27504701c9fa44e5a7c55f5465f307d65092"}]}
