)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":19,"context_line":"no forced behavior changes for those using mysql. sql_min_pool_size"},{"line_number":20,"context_line":"is defaulted to 1 to match behavior if not using db_pool."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Fixes bug 1086173"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: Ied0aae33211585743fe955028a75c4e192a15d2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAM3%2F%2F%2F48%3D","line":22,"updated":"2012-12-16 22:01:46.000000000","message":"It seems like this bug is general to all plugins that use the DB, but the fix is only for the OVS and Linux Bridge plugins.  \n\nIf that\u0027s the case, I\u0027d prefer that we either fix the other plugins, or if we feel there is some reason that is hard, we note that only those plugins are fixed, and we file bugs indicating that the other plugins need to be fixed.  \n\nOtherwise, we\u0027ll end up finding and fixing this problem again in other plugins, wasting additional cycles.","commit_id":"c7fa49396ee1bacfed6c006cf1d783fab2a35292"}],"etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"8c6fd608561650cd1784320fb98b079b19ea133e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"# set to -1 implies an infinite retry count"},{"line_number":32,"context_line":"# sql_max_retries \u003d 10"},{"line_number":33,"context_line":"# Database reconnection interval in seconds - in event connectivity is lost"},{"line_number":34,"context_line":"reconnect_interval \u003d 2"},{"line_number":35,"context_line":"# Minimum number of SQL connections to keep open in a pool"},{"line_number":36,"context_line":"# sql_min_pool_size \u003d 1"},{"line_number":37,"context_line":"# Maximum number of SQL connections to keep open in a pool"}],"source_content_type":"text/x-properties","patch_set":1,"id":"AAAAMX%2F%2F3CA%3D","line":34,"updated":"2012-12-12 06:11:56.000000000","message":"Minor suggestion - would be nice to change reconnect_interval to  sql_reconnect_interval (so as to maintain consistency with all other sql config). That would mean some changes in the code as well, so feel free to disregard this suggestion if it\u0027s not in scope.","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d4855cd0f27ced43c822667af924d9087025c7d8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"# set to -1 implies an infinite retry count"},{"line_number":32,"context_line":"# sql_max_retries \u003d 10"},{"line_number":33,"context_line":"# Database reconnection interval in seconds - in event connectivity is lost"},{"line_number":34,"context_line":"reconnect_interval \u003d 2"},{"line_number":35,"context_line":"# Minimum number of SQL connections to keep open in a pool"},{"line_number":36,"context_line":"# sql_min_pool_size \u003d 1"},{"line_number":37,"context_line":"# Maximum number of SQL connections to keep open in a pool"}],"source_content_type":"text/x-properties","patch_set":1,"id":"AAAAMX%2F%2F3As%3D","line":34,"in_reply_to":"AAAAMX%2F%2F3CA%3D","updated":"2012-12-12 07:00:14.000000000","message":"I would prefer to address this in another patch. I agree with what you have suggested. It will just be a challenge in keeping things backward compatible. I need to understand how that is done","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":39,"context_line":"# Timeout before idle sql connections are reaped"},{"line_number":40,"context_line":"# sql_idle_timeout \u003d 3600"},{"line_number":41,"context_line":"# Enable the use of eventlet\u0027s db_pool for MySQL"},{"line_number":42,"context_line":"# sql_dbpool_enable \u003d False"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"[LINUX_BRIDGE]"},{"line_number":45,"context_line":"# (ListOpt) Comma-separated list of"}],"source_content_type":"text/x-properties","patch_set":2,"id":"AAAAM3%2F%2F%2F5E%3D","line":42,"updated":"2012-12-16 22:01:46.000000000","message":"Are the above options only relevant if this last option is set to True?  If so, it might be more clear to put this option at the top, and comment that below options depend on it.  If not, it would probably be mentioned in the original bug.","commit_id":"c7fa49396ee1bacfed6c006cf1d783fab2a35292"}],"quantum/db/api.py":[{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":102,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":103,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":104,"context_line":"                }"},{"line_number":105,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":106,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"},{"line_number":107,"context_line":"        if \u0027sqlite\u0027 in connection_dict.drivername:"},{"line_number":108,"context_line":"            engine_args[\u0027listeners\u0027] \u003d [SqliteForeignKeysListener()]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F%2F4w%3D","line":105,"updated":"2012-12-16 22:01:46.000000000","message":"should we be checking if MySQLdb is None here, given the above logic?  Or at start-up, should we we checking that if sql_dbpool_enable \u003d True, then MySQLdb is not None?","commit_id":"c7fa49396ee1bacfed6c006cf1d783fab2a35292"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"2ad94a48c1a63508f14412f5be95afc9e1dcf0ff","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F9Bo%3D","line":106,"updated":"2012-12-19 02:14:40.000000000","message":"Can we make 1, 5, 3600 configurable?\nAlso can we have a way to let the pool show how it is used now:\nI mean can we have a configuration so that the pool will show information of it,\nfor example, how many connection is active, how many are idle, etc.","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F5bM%3D","line":106,"in_reply_to":"AAAAM3%2F%2F6f4%3D","updated":"2012-12-23 07:18:14.000000000","message":"Thanks, now I understand. I\u0027ll check if this is possible.","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F850%3D","line":106,"in_reply_to":"AAAAM3%2F%2F8%2Fc%3D","updated":"2012-12-19 06:36:49.000000000","message":"i do not understand your comment here.\ni am going to remove the defaults as all plugins now have the support","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F6f4%3D","line":106,"in_reply_to":"AAAAM3%2F%2F850%3D","updated":"2012-12-21 03:28:43.000000000","message":"To customize these variables we need to know the status of db pool. Perhaps what yong says is how we can know the status or usage of db pool. (I also don\u0027t know how to tune these variables....)","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"2ad94a48c1a63508f14412f5be95afc9e1dcf0ff","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F8%2Fc%3D","line":106,"in_reply_to":"AAAAM3%2F%2F9As%3D","updated":"2012-12-19 02:32:02.000000000","message":"zhongyue, u are right. It is already configured. But I still need a way to allow db_pool show its pool usage.","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":103,"context_line":"                    \u0027user\u0027: connection_dict.username,"},{"line_number":104,"context_line":"                    \u0027min_size\u0027: options.get(\u0027sql_min_pool_size\u0027, 1),"},{"line_number":105,"context_line":"                    \u0027max_size\u0027: options.get(\u0027sql_max_pool_size\u0027, 5),"},{"line_number":106,"context_line":"                    \u0027max_idle\u0027: options.get(\u0027sql_idle_timeout\u0027, 3600)"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"                creator \u003d db_pool.ConnectionPool(MySQLdb, **pool_args)"},{"line_number":109,"context_line":"                engine_args[\u0027creator\u0027] \u003d creator.create"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F9As%3D","line":106,"in_reply_to":"AAAAM3%2F%2F9Bo%3D","updated":"2012-12-19 02:25:01.000000000","message":"AFAIK 1, 5, 3600 is the default value of SA. You can set these values in ini files so I guess it is already configurable?","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"2ad94a48c1a63508f14412f5be95afc9e1dcf0ff","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        if not register_models(base):"},{"line_number":116,"context_line":"            if \u0027reconnect_interval\u0027 in options:"},{"line_number":117,"context_line":"                remaining \u003d options.get(\u0027sql_max_retries\u0027, -1)"},{"line_number":118,"context_line":"                reconnect_interval \u003d options[\u0027reconnect_interval\u0027]"},{"line_number":119,"context_line":"                retry_registration(remaining, reconnect_interval, base)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F9BE%3D","line":118,"updated":"2012-12-19 02:14:40.000000000","message":"\u0027reconnect_interval\u0027 seems be used just when we are registering the models. Can u update the explanation for it too in all of the plugin ini files?","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":115,"context_line":"        if not register_models(base):"},{"line_number":116,"context_line":"            if \u0027reconnect_interval\u0027 in options:"},{"line_number":117,"context_line":"                remaining \u003d options.get(\u0027sql_max_retries\u0027, -1)"},{"line_number":118,"context_line":"                reconnect_interval \u003d options[\u0027reconnect_interval\u0027]"},{"line_number":119,"context_line":"                retry_registration(remaining, reconnect_interval, base)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2F85w%3D","line":118,"in_reply_to":"AAAAM3%2F%2F9BE%3D","updated":"2012-12-19 06:36:49.000000000","message":"Done","commit_id":"b0b2cd3e1fb746e2a3cfbd81a367158b264878af"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import time"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import db_pool"},{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F6PY%3D","line":22,"updated":"2012-12-21 12:11:00.000000000","message":"I wonder if we should do these imports only if options[\u0027sql_dbpool_enable\u0027]","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import time"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import db_pool"},{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F5bc%3D","line":22,"in_reply_to":"AAAAM3%2F%2F6PY%3D","updated":"2012-12-23 07:16:44.000000000","message":"At the moment the code receives the configuration parameters via a variable. So this is not possible at this stage.\nThere are a number of options here and I\u0027d like to get you opinion before moving ahead with them:\n1. Leave things as they are and at some stage update to the common DB api code (https://review.openstack.org/#/c/17471/).\n2. Move the configuration code to this file and then we may be able to do conditional imports. If we were doing a general refactoring of the DB code then may be a solution but it may conflict with the common DB code (if one day we decide to use it)\n3. Have a separate files for the db pooling support. I am not 100% sure that this will resolve the issues.","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import db_pool"},{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"},{"line_number":26,"context_line":"    MySQLdb \u003d None"},{"line_number":27,"context_line":"import sqlalchemy as sql"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F6Po%3D","line":24,"updated":"2012-12-21 12:11:00.000000000","message":"is this the only mysql driver supporting eventlet db pools?","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import db_pool"},{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"},{"line_number":26,"context_line":"    MySQLdb \u003d None"},{"line_number":27,"context_line":"import sqlalchemy as sql"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F5bg%3D","line":24,"in_reply_to":"AAAAM3%2F%2F6Po%3D","updated":"2012-12-23 07:16:44.000000000","message":"Good point. I have checked https://review.openstack.org/#/c/17471/ and it seems there are a few additional items that need to be updated. I have added these.","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"},{"line_number":26,"context_line":"    MySQLdb \u003d None"},{"line_number":27,"context_line":"import sqlalchemy as sql"},{"line_number":28,"context_line":"from sqlalchemy import create_engine"},{"line_number":29,"context_line":"from sqlalchemy.exc import DisconnectionError"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F6Pg%3D","line":26,"updated":"2012-12-21 12:11:00.000000000","message":"Is there a case to emit a warning here?\nSomething like \"my dear friend, your eventlet connection pooling is not going to work unless you install python-mysqldb?\"","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    import MySQLdb"},{"line_number":25,"context_line":"except ImportError:"},{"line_number":26,"context_line":"    MySQLdb \u003d None"},{"line_number":27,"context_line":"import sqlalchemy as sql"},{"line_number":28,"context_line":"from sqlalchemy import create_engine"},{"line_number":29,"context_line":"from sqlalchemy.exc import DisconnectionError"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F5bY%3D","line":26,"in_reply_to":"AAAAM3%2F%2F6Pg%3D","updated":"2012-12-23 07:16:44.000000000","message":"I have added a warning in the flow of the code. A warning here may not be relevant as the user may not be using mysql.","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":95,"context_line":"            if (MySQLdb is not None and"},{"line_number":96,"context_line":"                options[\u0027sql_dbpool_enable\u0027]):"},{"line_number":97,"context_line":"                # MySQLdb won\u0027t accept \u0027None\u0027 in the password field"},{"line_number":98,"context_line":"                password \u003d connection_dict.password or \u0027\u0027"},{"line_number":99,"context_line":"                pool_args \u003d {"},{"line_number":100,"context_line":"                    \u0027db\u0027: connection_dict.database,"},{"line_number":101,"context_line":"                    \u0027passwd\u0027: password,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F6Pk%3D","line":98,"updated":"2012-12-21 12:11:00.000000000","message":"this can be inline at line 101","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":95,"context_line":"            if (MySQLdb is not None and"},{"line_number":96,"context_line":"                options[\u0027sql_dbpool_enable\u0027]):"},{"line_number":97,"context_line":"                # MySQLdb won\u0027t accept \u0027None\u0027 in the password field"},{"line_number":98,"context_line":"                password \u003d connection_dict.password or \u0027\u0027"},{"line_number":99,"context_line":"                pool_args \u003d {"},{"line_number":100,"context_line":"                    \u0027db\u0027: connection_dict.database,"},{"line_number":101,"context_line":"                    \u0027passwd\u0027: password,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F5bU%3D","line":98,"in_reply_to":"AAAAM3%2F%2F6Pk%3D","updated":"2012-12-23 07:16:44.000000000","message":"Done","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"}],"quantum/db/db_base_plugin_v2.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":910,"context_line":"                obj_creator \u003d getattr(self, \u0027create_%s\u0027 % resource)"},{"line_number":911,"context_line":"                objects.append(obj_creator(context, item))"},{"line_number":912,"context_line":"            context.session.commit()"},{"line_number":913,"context_line":"        except Exception as e:"},{"line_number":914,"context_line":"            LOG.exception(_(\"An exception occured while creating \""},{"line_number":915,"context_line":"                            \"the %(resource)s:%(item)s\"), locals())"},{"line_number":916,"context_line":"            context.session.rollback()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F5FE%3D","line":913,"updated":"2012-12-24 17:49:43.000000000","message":"Not a blocker here but this can just be except: with raise invoked with no arguments below.","commit_id":"7b5f6fd6ae0722f49b563f2f3f293a34d8f632d9"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":910,"context_line":"                obj_creator \u003d getattr(self, \u0027create_%s\u0027 % resource)"},{"line_number":911,"context_line":"                objects.append(obj_creator(context, item))"},{"line_number":912,"context_line":"            context.session.commit()"},{"line_number":913,"context_line":"        except Exception as e:"},{"line_number":914,"context_line":"            LOG.exception(_(\"An exception occured while creating \""},{"line_number":915,"context_line":"                            \"the %(resource)s:%(item)s\"), locals())"},{"line_number":916,"context_line":"            context.session.rollback()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F468%3D","line":913,"in_reply_to":"AAAAM3%2F%2F5FE%3D","updated":"2012-12-25 06:04:29.000000000","message":"Actually happy that you noted this. Please see: http://stackoverflow.com/questions/9525220/sqlalchemy-raises-none-causes-typeerror","commit_id":"7b5f6fd6ae0722f49b563f2f3f293a34d8f632d9"}],"quantum/plugins/bigswitch/plugin.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":92,"context_line":"               help\u003d\"Timeout before idle sql connections are reaped\"),"},{"line_number":93,"context_line":"    cfg.BoolOpt(\u0027sql_dbpool_enable\u0027,"},{"line_number":94,"context_line":"                default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\"Enable the use of eventlet\u0027s db_pool for MySQL\"),"},{"line_number":96,"context_line":"]"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2F%2FpI%3D","line":95,"updated":"2012-12-17 11:03:04.000000000","message":"These options need to be moved  to database_opts above. In restproxy.ini they are defined in DATABASE section.","commit_id":"25ec74adf0ab2e838f66cbce61a727bd18b4aa2e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":92,"context_line":"               help\u003d\"Timeout before idle sql connections are reaped\"),"},{"line_number":93,"context_line":"    cfg.BoolOpt(\u0027sql_dbpool_enable\u0027,"},{"line_number":94,"context_line":"                default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\"Enable the use of eventlet\u0027s db_pool for MySQL\"),"},{"line_number":96,"context_line":"]"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2F%2Fkk%3D","line":95,"in_reply_to":"AAAAM3%2F%2F%2FpI%3D","updated":"2012-12-17 12:26:04.000000000","message":"Thanks. My bad.","commit_id":"25ec74adf0ab2e838f66cbce61a727bd18b4aa2e"}],"quantum/plugins/linuxbridge/common/config.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"                    \"pool\"),"},{"line_number":48,"context_line":"    cfg.IntOpt(\u0027sql_idle_timeout\u0027,"},{"line_number":49,"context_line":"               default\u003d3600,"},{"line_number":50,"context_line":"               help\u003d\"Timeout before idle sql connections are reaped\"),"},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027sql_dbpool_enable\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d\"Enable the use of eventlet\u0027s db_pool for MySQL\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F6Pc%3D","line":50,"updated":"2012-12-21 12:11:00.000000000","message":"It won\u0027t harm stating that these are seconds. (applies to all plugins_","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":47,"context_line":"                    \"pool\"),"},{"line_number":48,"context_line":"    cfg.IntOpt(\u0027sql_idle_timeout\u0027,"},{"line_number":49,"context_line":"               default\u003d3600,"},{"line_number":50,"context_line":"               help\u003d\"Timeout before idle sql connections are reaped\"),"},{"line_number":51,"context_line":"    cfg.BoolOpt(\u0027sql_dbpool_enable\u0027,"},{"line_number":52,"context_line":"                default\u003dFalse,"},{"line_number":53,"context_line":"                help\u003d\"Enable the use of eventlet\u0027s db_pool for MySQL\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2F5nk%3D","line":50,"in_reply_to":"AAAAM3%2F%2F6Pc%3D","updated":"2012-12-23 07:16:44.000000000","message":"Done","commit_id":"6a8d9b5ad2bbb608571202b6bc0e9ab842ac845f"}],"quantum/plugins/linuxbridge/db/l2network_db_v2.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"0134bfcb21cd84885d643d1cbc1c598cbe88b074","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def initialize():"},{"line_number":32,"context_line":"    options \u003d {\"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection}"},{"line_number":33,"context_line":"    options.update({\"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries})"},{"line_number":34,"context_line":"    options.update({\"reconnect_interval\":"},{"line_number":35,"context_line":"                   cfg.CONF.DATABASE.reconnect_interval})"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2FzgM%3D","line":32,"updated":"2012-12-14 23:11:59.000000000","message":"options.update() is not being used properly.  Since we\u0027re making changes, let\u0027s clean things up:\n\noptions \u003d {\n    \"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection,\n    \"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries,\n    \"reconnect_interval\": cfg.CONF.DATABASE.reconnect_interval,\n    \"base\": models_v2.model_base.BASEV2,\n    \"sql_min_pool_size\": cfg.CONF.DATABASE.sql_min_pool_size,\n    \"sql_max_pool_size\": cfg.CONF.DATABASE.sql_max_pool_size,\n    \"sql_idle_timeout\": cfg.CONF.DATABASE.sql_idle_timeout,\n    \"sql_dbpool_enable\": cfg.CONF.DATABASE.sql_dbpool_enable\n}","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def initialize():"},{"line_number":32,"context_line":"    options \u003d {\"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection}"},{"line_number":33,"context_line":"    options.update({\"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries})"},{"line_number":34,"context_line":"    options.update({\"reconnect_interval\":"},{"line_number":35,"context_line":"                   cfg.CONF.DATABASE.reconnect_interval})"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2FzWI%3D","line":32,"in_reply_to":"AAAAMX%2F%2FzgM%3D","updated":"2012-12-15 06:30:26.000000000","message":"Done","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def initialize():"},{"line_number":32,"context_line":"    options \u003d {"},{"line_number":33,"context_line":"        \"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection,"},{"line_number":34,"context_line":"        \"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries,"},{"line_number":35,"context_line":"        \"reconnect_interval\": cfg.CONF.DATABASE.reconnect_interval,"},{"line_number":36,"context_line":"        \"base\": models_v2.model_base.BASEV2,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2F%2Fns%3D","line":33,"updated":"2012-12-17 11:03:04.000000000","message":"Do we need \"%s %\"? cfg.CONF.DATABASE.sql_connection is already a string. It can say to all plugins.","commit_id":"25ec74adf0ab2e838f66cbce61a727bd18b4aa2e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def initialize():"},{"line_number":32,"context_line":"    options \u003d {"},{"line_number":33,"context_line":"        \"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection,"},{"line_number":34,"context_line":"        \"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries,"},{"line_number":35,"context_line":"        \"reconnect_interval\": cfg.CONF.DATABASE.reconnect_interval,"},{"line_number":36,"context_line":"        \"base\": models_v2.model_base.BASEV2,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2F%2Fkg%3D","line":33,"in_reply_to":"AAAAM3%2F%2F%2Fns%3D","updated":"2012-12-17 12:26:04.000000000","message":"Done. I have also fixed the ovs one.","commit_id":"25ec74adf0ab2e838f66cbce61a727bd18b4aa2e"}],"quantum/plugins/openvswitch/ovs_db_v2.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"0134bfcb21cd84885d643d1cbc1c598cbe88b074","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def initialize():"},{"line_number":33,"context_line":"    options \u003d {\"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection}"},{"line_number":34,"context_line":"    options.update({\"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries})"},{"line_number":35,"context_line":"    options.update({\"reconnect_interval\":"},{"line_number":36,"context_line":"                   cfg.CONF.DATABASE.reconnect_interval})"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2FzgU%3D","line":33,"updated":"2012-12-14 23:11:59.000000000","message":"Same as before:\n\n\noptions \u003d {\n    \"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection,\n    \"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries,\n    \"reconnect_interval\": cfg.CONF.DATABASE.reconnect_interval,\n    \"base\": models_v2.model_base.BASEV2,\n    \"sql_min_pool_size\": cfg.CONF.DATABASE.sql_min_pool_size,\n    \"sql_max_pool_size\": cfg.CONF.DATABASE.sql_max_pool_size,\n    \"sql_idle_timeout\": cfg.CONF.DATABASE.sql_idle_timeout,\n    \"sql_dbpool_enable\": cfg.CONF.DATABASE.sql_dbpool_enable\n}","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def initialize():"},{"line_number":33,"context_line":"    options \u003d {\"sql_connection\": \"%s\" % cfg.CONF.DATABASE.sql_connection}"},{"line_number":34,"context_line":"    options.update({\"sql_max_retries\": cfg.CONF.DATABASE.sql_max_retries})"},{"line_number":35,"context_line":"    options.update({\"reconnect_interval\":"},{"line_number":36,"context_line":"                   cfg.CONF.DATABASE.reconnect_interval})"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2FzWE%3D","line":33,"in_reply_to":"AAAAMX%2F%2FzgU%3D","updated":"2012-12-15 06:30:26.000000000","message":"Done","commit_id":"7c2c9a4f61de8d20de6e7333e47d1a28c0151ad2"}]}
