)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bd5bc2e21e08e0103b06970d0b6292ebe97a055d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Sync db code from oslo-incubator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Synced from commit 5fb343faee1442921e2d610b1a5222e67418c4cd."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Sync includes the following commits:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"5b7e61c Dispose db connections pool on disconnect"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAW3%2F%2F3oI%3D","line":10,"updated":"2014-04-09 19:41:17.000000000","message":"Could you mention the reason neutron db code is changed. I know there is an API change in oslo.db.","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ee88a5fc955dcf9693bee4a7fe08209d26f524ee","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Sync db code from oslo-incubator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Synced from commit 5fb343faee1442921e2d610b1a5222e67418c4cd."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Sync includes the following commits:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"5b7e61c Dispose db connections pool on disconnect"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAW3%2F%2F0Zs%3D","line":10,"in_reply_to":"AAAAW3%2F%2F3oI%3D","updated":"2014-04-10 08:44:17.000000000","message":"Done","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"}],"neutron/db/api.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bd5bc2e21e08e0103b06970d0b6292ebe97a055d","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"cfg.CONF.import_opt(\u0027connection\u0027,"},{"line_number":28,"context_line":"                    \u0027neutron.openstack.common.db.options\u0027,"},{"line_number":29,"context_line":"                    group\u003d\u0027database\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"_FACADE \u003d None"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2F3qg%3D","line":29,"updated":"2014-04-09 19:41:17.000000000","message":"Doesn\u0027t \"from neutron.openstack.common.db import options\" work?","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ee88a5fc955dcf9693bee4a7fe08209d26f524ee","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"cfg.CONF.import_opt(\u0027connection\u0027,"},{"line_number":28,"context_line":"                    \u0027neutron.openstack.common.db.options\u0027,"},{"line_number":29,"context_line":"                    group\u003d\u0027database\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"_FACADE \u003d None"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2F0X8%3D","line":29,"in_reply_to":"AAAAW3%2F%2F3qg%3D","updated":"2014-04-10 08:44:17.000000000","message":"I believe it would, but options module would be imported, but unused in that case. import_opt() seems to be a better solution, IMO.","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bd5bc2e21e08e0103b06970d0b6292ebe97a055d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    global _FACADE"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if _FACADE is None:"},{"line_number":38,"context_line":"        _FACADE \u003d session.EngineFacade(cfg.CONF.database.connection,"},{"line_number":39,"context_line":"                                       sqlite_fk\u003dTrue,"},{"line_number":40,"context_line":"                                       autocommit\u003dTrue, expire_on_commit\u003dFalse,"},{"line_number":41,"context_line":"                                       **dict(cfg.CONF.database.items()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2F3pc%3D","line":38,"updated":"2014-04-09 19:41:17.000000000","message":"Please use a help method EngineFacade.from_config().","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ee88a5fc955dcf9693bee4a7fe08209d26f524ee","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    global _FACADE"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    if _FACADE is None:"},{"line_number":38,"context_line":"        _FACADE \u003d session.EngineFacade(cfg.CONF.database.connection,"},{"line_number":39,"context_line":"                                       sqlite_fk\u003dTrue,"},{"line_number":40,"context_line":"                                       autocommit\u003dTrue, expire_on_commit\u003dFalse,"},{"line_number":41,"context_line":"                                       **dict(cfg.CONF.database.items()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2F0W8%3D","line":38,"in_reply_to":"AAAAW3%2F%2F3pc%3D","updated":"2014-04-10 08:44:17.000000000","message":"Oh, good catch! I must have lost this change during rebase.","commit_id":"9935eae54e8c05ffa5bd5cb49cd11e1b7fd2e2c2"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"77b541b7381de8f02fbb7cb6562cbb6c19993911","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \"\"\"Register Models and create properties.\"\"\""},{"line_number":72,"context_line":"    try:"},{"line_number":73,"context_line":"        facade \u003d _create_facade_lazily()"},{"line_number":74,"context_line":"        engine \u003d facade.get_engine()"},{"line_number":75,"context_line":"        base.metadata.create_all(engine)"},{"line_number":76,"context_line":"    except sql.exc.OperationalError as e:"},{"line_number":77,"context_line":"        LOG.info(_(\"Database registration exception: %s\"), e)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2FwgA%3D","line":74,"updated":"2014-04-28 07:47:58.000000000","message":"nit (if have to rebase): can utilize get_engine() here","commit_id":"53609f29f3c8fcadc545afb891189253c07b33c3"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"77b541b7381de8f02fbb7cb6562cbb6c19993911","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    \"\"\"Unregister Models, useful clearing out data before testing.\"\"\""},{"line_number":84,"context_line":"    try:"},{"line_number":85,"context_line":"        facade \u003d _create_facade_lazily()"},{"line_number":86,"context_line":"        engine \u003d facade.get_engine()"},{"line_number":87,"context_line":"        base.metadata.drop_all(engine)"},{"line_number":88,"context_line":"    except Exception:"},{"line_number":89,"context_line":"        LOG.exception(_(\"Database exception\"))"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fwf8%3D","line":86,"updated":"2014-04-28 07:47:58.000000000","message":"ditto","commit_id":"53609f29f3c8fcadc545afb891189253c07b33c3"}],"neutron/service.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"77b541b7381de8f02fbb7cb6562cbb6c19993911","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron.common import config"},{"line_number":25,"context_line":"from neutron import context"},{"line_number":26,"context_line":"from neutron.db import api as session"},{"line_number":27,"context_line":"from neutron import manager"},{"line_number":28,"context_line":"from neutron.openstack.common import excutils"},{"line_number":29,"context_line":"from neutron.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fweg%3D","line":26,"updated":"2014-04-28 07:47:58.000000000","message":"nit: seems no special reason to rename api to session","commit_id":"53609f29f3c8fcadc545afb891189253c07b33c3"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"e078b6811fdb8775324bf18f7ff63f83bd876ede","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from neutron.common import config"},{"line_number":25,"context_line":"from neutron import context"},{"line_number":26,"context_line":"from neutron.db import api as session"},{"line_number":27,"context_line":"from neutron import manager"},{"line_number":28,"context_line":"from neutron.openstack.common import excutils"},{"line_number":29,"context_line":"from neutron.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2FwLM%3D","line":26,"in_reply_to":"AAAAXX%2F%2Fweg%3D","updated":"2014-04-28 08:34:02.000000000","message":"I think the author of this patch did this aliasing to minimize the patch\u0027s diff.","commit_id":"53609f29f3c8fcadc545afb891189253c07b33c3"}]}
