From: Salvatore Orlando Date: Thu, 14 Mar 2013 00:05:45 +0000 (+0100) Subject: Ensure DB pooling code works with newer eventlet versions X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=7942cc876d7646896d942544eccd173b0c50c1ab;p=openstack-build%2Fneutron-build.git Ensure DB pooling code works with newer eventlet versions Bug 1097992 Change-Id: Id14697a0a4815d0aacbae769bf538a96d6846567 --- diff --git a/quantum/db/api.py b/quantum/db/api.py index d27a0c21c..9fe66cfea 100644 --- a/quantum/db/api.py +++ b/quantum/db/api.py @@ -137,8 +137,16 @@ def configure_db(): 'max_size': cfg.CONF.DATABASE.sql_max_pool_size, 'max_idle': cfg.CONF.DATABASE.sql_idle_timeout } - creator = db_pool.ConnectionPool(MySQLdb, **pool_args) - engine_args['creator'] = creator.create + pool = db_pool.ConnectionPool(MySQLdb, **pool_args) + + def creator(): + conn = pool.create() + # NOTE(belliott) eventlet >= 0.10 returns a tuple + if isinstance(conn, tuple): + _1, _2, conn = conn + return conn + + engine_args['creator'] = creator if (MySQLdb is None and cfg.CONF.DATABASE.sql_dbpool_enable): LOG.warn(_("Eventlet connection pooling will not work without " "python-mysqldb!"))