)]}'
{"keystone/backends/sqlalchemy/migrate_repo/versions/004_alter_users_table_for_role_based_tenants.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"64fa2da52ec3ca0a6d603f12848fef74d1918fe9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    Existing default tenants become a role relationship."},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":43,"context_line":"    droles \u003d roles.select(whereclause\u003d\"name \u003d \u0027Member\u0027\").limit(1).execute()"},{"line_number":44,"context_line":"    if not droles:"},{"line_number":45,"context_line":"        roles.insert({\u0027name\u0027: \u0027Member\u0027, \u0027desc\u0027:\\"},{"line_number":46,"context_line":"            \u0027Role to manage tenant memberships.\u0027}).execute()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3pM%3D","line":43,"updated":"2011-11-08 16:10:07.000000000","message":"I\u0027d like to see some community feedback on requiring a role named \"Member.\" Is this already documented somewhere?","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"},{"author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"change_message_id":"12f26eb41e806aacbac3ca7cc4412b8669a4e728","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    Existing default tenants become a role relationship."},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":43,"context_line":"    droles \u003d roles.select(whereclause\u003d\"name \u003d \u0027Member\u0027\").limit(1).execute()"},{"line_number":44,"context_line":"    if not droles:"},{"line_number":45,"context_line":"        roles.insert({\u0027name\u0027: \u0027Member\u0027, \u0027desc\u0027:\\"},{"line_number":46,"context_line":"            \u0027Role to manage tenant memberships.\u0027}).execute()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3og%3D","line":43,"in_reply_to":"AAAACX%2F%2F3pM%3D","updated":"2011-11-08 16:30:19.000000000","message":"If some one wants to use a different name other then member.They could go ahead.All they need to do is to change the Role name on the migration script.No where code checks for a specific role.","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"64fa2da52ec3ca0a6d603f12848fef74d1918fe9","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        #Outside of for loop to handle sqlite connection weird issues."},{"line_number":56,"context_line":"        for item in inserts:"},{"line_number":57,"context_line":"            item.execute()"},{"line_number":58,"context_line":"    migrate.drop_column(column_tenant_id, users)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3pQ%3D","line":58,"updated":"2011-11-08 16:10:07.000000000","message":"I\u0027m not a fan of rolling data + schema migrations into the same ball-- debugging a failed migration becomes a very delicate task.","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"},{"author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"change_message_id":"12f26eb41e806aacbac3ca7cc4412b8669a4e728","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        #Outside of for loop to handle sqlite connection weird issues."},{"line_number":56,"context_line":"        for item in inserts:"},{"line_number":57,"context_line":"            item.execute()"},{"line_number":58,"context_line":"    migrate.drop_column(column_tenant_id, users)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3oo%3D","line":58,"in_reply_to":"AAAACX%2F%2F3pQ%3D","updated":"2011-11-08 16:30:19.000000000","message":"This is one change that need to go together.\nSeperating them would leave the db in an inconsistent state between migrations.","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"}],"keystone/test/functional/test_authentication.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"de2527caf02132376fc344a78c5e15bc1e09a971","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.assertIsNotNone(r.getheader(\u0027x-auth-token\u0027))"},{"line_number":72,"context_line":"        #Now there is no concept of default tenant."},{"line_number":73,"context_line":"        #There are no services returned."},{"line_number":74,"context_line":"        #Need to figure out how to handle."},{"line_number":75,"context_line":"        #for service in self.services.values():"},{"line_number":76,"context_line":"            #self.assertIsNotNone(r.getheader(\u0027x-\u0027 + service[\u0027name\u0027]))"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3ok%3D","line":74,"updated":"2011-11-08 18:06:43.000000000","message":"This looks unfinished. Also, no need to document how the code *was*.","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"},{"author":{"_account_id":8,"name":"Yogeshwar Srikrishnan","email":"yoga80@yahoo.com","username":"yogesh-srikrishnan"},"change_message_id":"cf5432978aaa804a0f61f75deb8af2219b55752b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.assertIsNotNone(r.getheader(\u0027x-auth-token\u0027))"},{"line_number":72,"context_line":"        #Now there is no concept of default tenant."},{"line_number":73,"context_line":"        #There are no services returned."},{"line_number":74,"context_line":"        #Need to figure out how to handle."},{"line_number":75,"context_line":"        #for service in self.services.values():"},{"line_number":76,"context_line":"            #self.assertIsNotNone(r.getheader(\u0027x-\u0027 + service[\u0027name\u0027]))"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACX%2F%2F3gU%3D","line":74,"in_reply_to":"AAAACX%2F%2F3ok%3D","updated":"2011-11-08 19:44:32.000000000","message":"The implementation of our legacy auth need to change,\nThis is a seperate bug to track it.\nhttps://bugs.launchpad.net/keystone/+bug/887739","commit_id":"e4dd4121850d053c3456b189ad4709f41e379583"}]}
