)]}'
{"keystone/common/sql/migrate_repo/versions/007_add_domain_tables.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abc03e0b296d515869f67d905f4dc18a68032346","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    role \u003d sql.Table(\u0027role\u0027, meta, autoload\u003dTrue)"},{"line_number":78,"context_line":"    role.drop_column(\u0027extra\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    tables \u003d [\u0027user_domain_metadata\u0027, \u0027credential\u0027, \u0027domain\u0027]"},{"line_number":81,"context_line":"    for t in tables:"},{"line_number":82,"context_line":"        table \u003d sql.Table(t, meta, autoload\u003dTrue)"},{"line_number":83,"context_line":"        table.drop(migrate_engine, checkfirst\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Foso%3D","line":80,"updated":"2013-01-11 19:28:06.000000000","message":"feel free to put this into it\u0027s own bug/patch, I think it should go in ASAP.","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"}],"tests/_db_livetest.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e6697b3b85aa0ae157d14df332b7d807fb188da7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from keystone import config"},{"line_number":27,"context_line":"from keystone import test"},{"line_number":28,"context_line":"from keystone.common.sql import migration"},{"line_number":29,"context_line":"from sqlalchemy.orm import sessionmaker"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"import test_sql_upgrade"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FzZ8%3D","line":29,"updated":"2013-01-04 16:08:30.000000000","message":"clean up the imports, please","commit_id":"63479dba7f3a1c09c7938150e34015edd830e61b"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e6697b3b85aa0ae157d14df332b7d807fb188da7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF \u003d config.CONF"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class SqlLiveUpgradeTests(test_sql_upgrade.SqlUpgradeTests):"},{"line_number":37,"context_line":"    def do_config(self):"},{"line_number":38,"context_line":"        self.config([test.etcdir(\u0027keystone.conf.sample\u0027),"},{"line_number":39,"context_line":"                     test.testsdir(\u0027test_overrides.conf\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FzZw%3D","line":36,"updated":"2013-01-04 16:08:30.000000000","message":"per the comment on line 40:\n\n  SqlLiveUPgradeTests -\u003e MySqlUpgradeTests","commit_id":"63479dba7f3a1c09c7938150e34015edd830e61b"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e6697b3b85aa0ae157d14df332b7d807fb188da7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def do_config(self):"},{"line_number":38,"context_line":"        self.config([test.etcdir(\u0027keystone.conf.sample\u0027),"},{"line_number":39,"context_line":"                     test.testsdir(\u0027test_overrides.conf\u0027),"},{"line_number":40,"context_line":"                     test.testsdir(\u0027backend_livesql.conf\u0027)])"},{"line_number":41,"context_line":"        self.engine \u003d sql.Base().get_engine(allow_global_engine\u003dFalse)"},{"line_number":42,"context_line":"        self.metadata \u003d sqlalchemy.MetaData()"},{"line_number":43,"context_line":"        maker \u003d sessionmaker(bind\u003dself.engine)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FzZg%3D","line":40,"updated":"2013-01-04 16:08:30.000000000","message":"as this whole file is specifically testing mysql, and testing postgres would require an additional *.conf file... can we call this backend_mysql.conf (and rename this file accordingly)?\n\nAlso, rather than avoiding the normal naming convention for test files, you should be able to raise a nose SkipTest exception from here if a connection can\u0027t be made to mysql (I think nova follows a similar pattern?)","commit_id":"63479dba7f3a1c09c7938150e34015edd830e61b"}],"tests/backend_livesql.conf":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"d98682dc8f6c09e0126e502e8c64296a7d133235","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[sql]"},{"line_number":2,"context_line":"connection \u003d mysql://root:freeipa4all@localhost/keystone?charset\u003dutf8"},{"line_number":3,"context_line":"idle_timeout \u003d 200"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"[identity]"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAAM3%2F%2F6KM%3D","line":2,"updated":"2012-12-21 16:25:50.000000000","message":"all you should have to specify is a new sql connection string, and inherit everything else from backend_sql.conf","commit_id":"20b41968885b1eca913e7b3ed534c75ff9196750"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e6697b3b85aa0ae157d14df332b7d807fb188da7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[sql]"},{"line_number":2,"context_line":"connection \u003d mysql://root:freeipa4all@localhost/keystone?charset\u003dutf8"},{"line_number":3,"context_line":"#postgres support is not yet confirmed"},{"line_number":4,"context_line":"#connection \u003d postgresql://:ayoung:freeipa4all@localhost/keystone?client_encoding\u003dutf8"}],"source_content_type":"text/plain","patch_set":3,"id":"AAAAM3%2F%2FzaY%3D","line":2,"updated":"2013-01-04 16:08:30.000000000","message":"can this be an account without a password?","commit_id":"63479dba7f3a1c09c7938150e34015edd830e61b"}],"tests/test_sql_upgrade.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abc03e0b296d515869f67d905f4dc18a68032346","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"To run these tests against a live database:"},{"line_number":18,"context_line":"1. Modify the file backend_sql to use a connection to your database"},{"line_number":19,"context_line":"2. Set up a blank, live database."},{"line_number":20,"context_line":"3. run the tests using"},{"line_number":21,"context_line":"    ./run_tests.sh -N  test_sql_upgrade"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FotQ%3D","line":18,"updated":"2013-01-11 19:28:06.000000000","message":"`tests/backend_sql.conf`","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"87499f5db282a3995b5cd61f4e047d9187690a36","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"To run these tests against a live database:"},{"line_number":18,"context_line":"1. Modify the file backend_sql to use a connection to your database"},{"line_number":19,"context_line":"2. Set up a blank, live database."},{"line_number":20,"context_line":"3. run the tests using"},{"line_number":21,"context_line":"    ./run_tests.sh -N  test_sql_upgrade"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FmHA%3D","line":18,"in_reply_to":"AAAAM3%2F%2FotQ%3D","updated":"2013-01-14 18:22:28.000000000","message":"Done","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abc03e0b296d515869f67d905f4dc18a68032346","unresolved":false,"context_lines":[{"line_number":19,"context_line":"2. Set up a blank, live database."},{"line_number":20,"context_line":"3. run the tests using"},{"line_number":21,"context_line":"    ./run_tests.sh -N  test_sql_upgrade"},{"line_number":22,"context_line":"    WARNING:  Do not do this against a Database that you need."},{"line_number":23,"context_line":"    The Database will be wiped out"},{"line_number":24,"context_line":"\"\"\""},{"line_number":25,"context_line":"import copy"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FotA%3D","line":22,"updated":"2013-01-11 19:28:06.000000000","message":"RST improvements on #3...\n\n3. Run the tests using::\n\n    ./run_tests.sh -N test_sql_upgrade\n\n.. WARNING::\n   Your database will be wiped.","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"87499f5db282a3995b5cd61f4e047d9187690a36","unresolved":false,"context_lines":[{"line_number":19,"context_line":"2. Set up a blank, live database."},{"line_number":20,"context_line":"3. run the tests using"},{"line_number":21,"context_line":"    ./run_tests.sh -N  test_sql_upgrade"},{"line_number":22,"context_line":"    WARNING:  Do not do this against a Database that you need."},{"line_number":23,"context_line":"    The Database will be wiped out"},{"line_number":24,"context_line":"\"\"\""},{"line_number":25,"context_line":"import copy"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FmHE%3D","line":22,"in_reply_to":"AAAAM3%2F%2FotA%3D","updated":"2013-01-14 18:22:28.000000000","message":"Done","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abc03e0b296d515869f67d905f4dc18a68032346","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self.downgrade(0)"},{"line_number":71,"context_line":"            table.drop(self.engine, checkfirst\u003dTrue)"},{"line_number":72,"context_line":"        except:"},{"line_number":73,"context_line":"            #TODO this is only required because one of the downgrade fails."},{"line_number":74,"context_line":"            #Fix it"},{"line_number":75,"context_line":"            pass"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fos8%3D","line":73,"updated":"2013-01-11 19:28:06.000000000","message":"what exactly fails \u0026 why? Also, please sign the todo, e.g.:\n\n  # TODO(ayoung): ...","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"87499f5db282a3995b5cd61f4e047d9187690a36","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self.downgrade(0)"},{"line_number":71,"context_line":"            table.drop(self.engine, checkfirst\u003dTrue)"},{"line_number":72,"context_line":"        except:"},{"line_number":73,"context_line":"            #TODO this is only required because one of the downgrade fails."},{"line_number":74,"context_line":"            #Fix it"},{"line_number":75,"context_line":"            pass"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FmHI%3D","line":73,"in_reply_to":"AAAAM3%2F%2Fos8%3D","updated":"2013-01-14 18:22:28.000000000","message":"Done","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"e48d67b184b37b12322771ad2828d70b36f5a62e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self.downgrade(0)"},{"line_number":71,"context_line":"            table.drop(self.engine, checkfirst\u003dTrue)"},{"line_number":72,"context_line":"        except:"},{"line_number":73,"context_line":"            #TODO this is only required because one of the downgrade fails."},{"line_number":74,"context_line":"            #Fix it"},{"line_number":75,"context_line":"            pass"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FlVI%3D","line":73,"in_reply_to":"AAAAM3%2F%2Fos8%3D","updated":"2013-01-15 01:13:33.000000000","message":"Going to remove this change.  It won\u0027t affect the normal running of the unit tests, and will give us the data to fix the real problem in an additional commit.","commit_id":"f44505b12ab1e491c720453a3ea33518461196f3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"dee2f6b990b715bd36e8b3efc204e46639bd84f4","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                                                             self.repo_path, 0)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def tearDown(self):"},{"line_number":68,"context_line":"        super(SqlUpgradeTests, self).tearDown()"},{"line_number":69,"context_line":"        table \u003d sqlalchemy.Table(\"migrate_version\", self.metadata,"},{"line_number":70,"context_line":"                                 autoload\u003dTrue)"},{"line_number":71,"context_line":"        self.downgrade(0)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2Fjok%3D","line":68,"updated":"2013-01-16 02:33:51.000000000","message":"super\u0027s tearDown should come at the end of this method so that things are torn down in the reverse order they are setUp","commit_id":"f9c9b9516e9bf6209f04e6349d6eea1d5c3d93ef"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"175967120773b25d150b311a7ea999792e152507","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                                                             self.repo_path, 0)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def tearDown(self):"},{"line_number":68,"context_line":"        super(SqlUpgradeTests, self).tearDown()"},{"line_number":69,"context_line":"        table \u003d sqlalchemy.Table(\"migrate_version\", self.metadata,"},{"line_number":70,"context_line":"                                 autoload\u003dTrue)"},{"line_number":71,"context_line":"        self.downgrade(0)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FjcE%3D","line":68,"in_reply_to":"AAAAM3%2F%2Fjok%3D","updated":"2013-01-16 06:21:25.000000000","message":"Make sense.","commit_id":"f9c9b9516e9bf6209f04e6349d6eea1d5c3d93ef"}]}
