)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"786ab86aca8bff7559cbd3c93534aa7466aa3c94","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This is example how code db.sqlalchemy.migration_cli"},{"line_number":10,"context_line":"from oslo_incubator should be implemented in original apps"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Refernce oslo branch: https://review.openstack.org/#/c/59433"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I70ebc64816906d748d3f265a7abac024ddc923fa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAT3%2F%2F9XM%3D","line":12,"updated":"2013-12-26 09:53:05.000000000","message":"Refernce \u003d\u003e reference","commit_id":"247fe1ecf9147e1434d4dc5e8b3f666b93794cc2"}],"nova/cmd/manage.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"fd5e8f26edfa5b818afe8ceb6211fa8772c25031","unresolved":false,"context_lines":[{"line_number":903,"context_line":""},{"line_number":904,"context_line":"    @args(\u0027--version\u0027, metavar\u003d\u0027\u003cversion\u003e\u0027, help\u003d\u0027Database version\u0027, nargs\u003d\u0027?\u0027)"},{"line_number":905,"context_line":"    def downgrade(self, version\u003dNone):"},{"line_number":906,"context_line":"        \"\"\"Sync the database up to the most recent version.\"\"\""},{"line_number":907,"context_line":"        self.manager.downgrade(version)"},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"    def version(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dmg%3D","line":906,"updated":"2013-12-11 09:22:53.000000000","message":"nit: update this comment :)","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"}],"nova/db/migration.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"d607a350eb01cbbad36c695ef941cb994efb8dcb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"migrate_path \u003d os.path.join("},{"line_number":50,"context_line":"    os.path.dirname(__file__), \u0027sqlalchemy\u0027, \u0027migrate_repo\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"cfg.CONF.set_override(\u0027alembic_ini_path\u0027, alembic_path, group\u003d\u0027database\u0027)"},{"line_number":53,"context_line":"cfg.CONF.set_override(\u0027migrate_repo_path\u0027, migrate_path, group\u003d\u0027database\u0027)"},{"line_number":54,"context_line":"cfg.CONF.set_override(\u0027init_version\u0027, IMPL.INIT_VERSION, group\u003d\u0027database\u0027)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9p00%3D","line":52,"updated":"2013-12-09 08:54:42.000000000","message":"Hmm, this just came to my mind, shouldn\u0027t we use set_default() instead of set_override()? (so we don\u0027t override the settings made in the configuration file by a user)","commit_id":"6cfebf218b9f7e67e68629a2e193a91726dc5d94"}],"nova/db/sqlalchemy/alembic.ini":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"d607a350eb01cbbad36c695ef941cb994efb8dcb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# the \u0027revision\u0027 command, regardless of autogenerate"},{"line_number":12,"context_line":"# revision_environment \u003d false"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"sqlalchemy.url \u003d driver://user:pass@localhost/dbname"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Logging configuration"}],"source_content_type":"text/x-properties","patch_set":1,"id":"AAAATn%2F9p3U%3D","line":14,"updated":"2013-12-09 08:54:42.000000000","message":"I think, this should be an empty string.\n\nNeutron has this set to an empty string in its alembic.ini:\n\n  # default to an empty string because the Neutron migration cli will\n  # extract the correct value and set it programatically before alemic is fully\n  # invoked.\n  sqlalchemy.url \u003d\n\n\nPerhaps, just use Neutron version of alembic.ini here?","commit_id":"6cfebf218b9f7e67e68629a2e193a91726dc5d94"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"87f66f248b082dea56116ea6ce4dcd9b930d3ad0","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# the \u0027revision\u0027 command, regardless of autogenerate"},{"line_number":12,"context_line":"# revision_environment \u003d false"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"sqlalchemy.url \u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Logging configuration"}],"source_content_type":"text/x-properties","patch_set":14,"id":"AAAAUH%2F9rV8%3D","line":14,"updated":"2014-02-05 03:06:54.000000000","message":"How does this get set to CONF.database.connection?","commit_id":"7a1a62eb7552cb9f9a328d83b98f99b6af4be452"}],"nova/db/sqlalchemy/alembic/env.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"fd5e8f26edfa5b818afe8ceb6211fa8772c25031","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    script output."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    url \u003d config.get_main_option(\"sqlalchemy.url\")"},{"line_number":52,"context_line":"    context.configure(url\u003durl)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    with context.begin_transaction():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dnw%3D","line":51,"updated":"2013-12-11 09:22:53.000000000","message":"sqlalchemy.url is deliberately set to an empty string in alembic.ini. Shouldn\u0027t we use cfg.CONF.database.connection value here instead?","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"},{"author":{"_account_id":8907,"name":"Dmitry Shulyak","email":"dshulyak@mirantis.com","username":"dshulyak"},"change_message_id":"7b3f8a283e0e9e0ee82b86749dfb54fd2a225271","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    script output."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    url \u003d config.get_main_option(\"sqlalchemy.url\")"},{"line_number":52,"context_line":"    context.configure(url\u003durl)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    with context.begin_transaction():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dQk%3D","line":51,"in_reply_to":"AAAATn%2F9dTY%3D","updated":"2013-12-11 10:27:13.000000000","message":"Actually, I dont see any reasons to use offline mode at all.\nThere will be problem with using alembic generic cli tool with oslo.cfg\nThey are not compatible, so you want be able to set --config-dir options and such","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"00439a261125808a9f2db00627786abc71c4d6c8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    script output."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    url \u003d config.get_main_option(\"sqlalchemy.url\")"},{"line_number":52,"context_line":"    context.configure(url\u003durl)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    with context.begin_transaction():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dTY%3D","line":51,"in_reply_to":"AAAATn%2F9dWE%3D","updated":"2013-12-11 10:19:27.000000000","message":"I don\u0027t see how this breaks offline mode support. I just don\u0027t want to force users to have another config file to put the database connection string to.\n\n+ if we leave this config right here it might be even impossible (e.g. if / is mounted in read-only mode, something we are going to do in TripleO)","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"},{"author":{"_account_id":8907,"name":"Dmitry Shulyak","email":"dshulyak@mirantis.com","username":"dshulyak"},"change_message_id":"b1c78f78b450b44bccca348b95fb466967cd9d65","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    script output."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    \"\"\""},{"line_number":51,"context_line":"    url \u003d config.get_main_option(\"sqlalchemy.url\")"},{"line_number":52,"context_line":"    context.configure(url\u003durl)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    with context.begin_transaction():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dWE%3D","line":51,"in_reply_to":"AAAATn%2F9dnw%3D","updated":"2013-12-11 10:11:04.000000000","message":"I think if somebody wants to apply migration in offline mode,\nit will more suitable to change manually url in alembic.ini","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"fd5e8f26edfa5b818afe8ceb6211fa8772c25031","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    engine \u003d sqlalchemy_session.get_session().get_bind()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    connection \u003d engine.connect()"},{"line_number":68,"context_line":"    context.configure(connection\u003dconnection, target_metadata\u003dtarget_metadata)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    with context.begin_transaction():"},{"line_number":71,"context_line":"        context.run_migrations()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9dnI%3D","line":68,"updated":"2013-12-11 09:22:53.000000000","message":"I think, we should put this into a try/finally block:\n\n  engine \u003d sqlalchemy_session.get_session().get_bind()\n\n  connection \u003d engine.connect()\n  try:\n       context.configure(connection\u003dconnection, target_metadata\u003dtarget_metadata)\n       with context.begin_transaction():\n            context.run_migrations()\n  finally:\n      connection.close()","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"}],"nova/openstack/common/db/sqlalchemy/migration_cli/ext_alembic.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"fd5e8f26edfa5b818afe8ceb6211fa8772c25031","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        return alembic.command.downgrade(self.config, version)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def version(self):"},{"line_number":51,"context_line":"        conn \u003d db_session.get_engine().connect()"},{"line_number":52,"context_line":"        context \u003d alembic_migration.MigrationContext.configure(conn)"},{"line_number":53,"context_line":"        return context.get_current_revision()"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9diM%3D","line":51,"updated":"2013-12-11 09:22:53.000000000","message":"nit: close this connection explicitly in finally","commit_id":"906ebdf3fbc97565ddc6d57a9b0e1bffb54c398a"}],"setup.cfg":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"d607a350eb01cbbad36c695ef941cb994efb8dcb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    nova-scheduler \u003d nova.cmd.scheduler:main"},{"line_number":55,"context_line":"    nova-spicehtml5proxy \u003d nova.cmd.spicehtml5proxy:main"},{"line_number":56,"context_line":"    nova-xvpvncproxy \u003d nova.cmd.xvpvncproxy:main"},{"line_number":57,"context_line":"    nova-dbmanage \u003d nova.db.migration:db_manage"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"nova.api.v3.extensions \u003d"},{"line_number":60,"context_line":"    access_ips \u003d nova.api.openstack.compute.plugins.v3.access_ips:AccessIPs"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"AAAATn%2F9p1A%3D","line":57,"updated":"2013-12-09 08:54:42.000000000","message":"I\u0027d rather you kept the original interface for managing Nova DB schema versions via \"nova manage db\" (if it\u0027s possible)","commit_id":"6cfebf218b9f7e67e68629a2e193a91726dc5d94"}]}
