Add common support for database configuration
Fixes bug 1096537 Change-Id: I9b7dbc08ae709af81ca968857f7028c150d2c7e5
This commit is contained in:
parent
f64fa42533
commit
5f8c93519b
@ -32,11 +32,39 @@ from sqlalchemy.interfaces import PoolListener
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from quantum.db import model_base
|
||||
from quantum.openstack.common import cfg
|
||||
from quantum.openstack.common import log as logging
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://',
|
||||
help=_('The SQLAlchemy connection string used to connect to '
|
||||
'the database')),
|
||||
cfg.IntOpt('sql_max_retries', default=-1,
|
||||
help=_('Database reconnection retry times')),
|
||||
cfg.IntOpt('reconnect_interval', default=2,
|
||||
help=_('Database reconnection interval in seconds')),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help=_("Minimum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help=_("Maximum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help=_("Timeout in seconds before idle sql connections are "
|
||||
"reaped")),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help=_("Enable the use of eventlet's db_pool for MySQL")),
|
||||
]
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
|
||||
_ENGINE = None
|
||||
_MAKER = None
|
||||
BASE = model_base.BASEV2
|
||||
@ -75,16 +103,15 @@ class SqliteForeignKeysListener(PoolListener):
|
||||
dbapi_con.execute('pragma foreign_keys=ON')
|
||||
|
||||
|
||||
def configure_db(options):
|
||||
def configure_db():
|
||||
"""
|
||||
Establish the database, create an engine if needed, and
|
||||
register the models.
|
||||
|
||||
:param options: Mapping of configuration options
|
||||
"""
|
||||
global _ENGINE
|
||||
if not _ENGINE:
|
||||
connection_dict = sql.engine.url.make_url(options['sql_connection'])
|
||||
sql_connection = cfg.CONF.DATABASE.sql_connection
|
||||
connection_dict = sql.engine.url.make_url(sql_connection)
|
||||
engine_args = {
|
||||
'pool_recycle': 3600,
|
||||
'echo': False,
|
||||
@ -94,36 +121,35 @@ def configure_db(options):
|
||||
if 'mysql' in connection_dict.drivername:
|
||||
engine_args['listeners'] = [MySQLPingListener()]
|
||||
if (MySQLdb is not None and
|
||||
options['sql_dbpool_enable']):
|
||||
cfg.CONF.DATABASE.sql_dbpool_enable):
|
||||
pool_args = {
|
||||
'db': connection_dict.database,
|
||||
'passwd': connection_dict.password or '',
|
||||
'host': connection_dict.host,
|
||||
'user': connection_dict.username,
|
||||
'min_size': options['sql_min_pool_size'],
|
||||
'max_size': options['sql_max_pool_size'],
|
||||
'max_idle': options['sql_idle_timeout']
|
||||
'min_size': cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
'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
|
||||
if (MySQLdb is None and options['sql_dbpool_enable']):
|
||||
if (MySQLdb is None and cfg.CONF.DATABASE.sql_dbpool_enable):
|
||||
LOG.warn(_("Eventlet connection pooling will not work without "
|
||||
"python-mysqldb!"))
|
||||
if 'sqlite' in connection_dict.drivername:
|
||||
engine_args['listeners'] = [SqliteForeignKeysListener()]
|
||||
if options['sql_connection'] == "sqlite://":
|
||||
if sql_connection == "sqlite://":
|
||||
engine_args["connect_args"] = {'check_same_thread': False}
|
||||
|
||||
_ENGINE = create_engine(options['sql_connection'], **engine_args)
|
||||
_ENGINE = create_engine(sql_connection, **engine_args)
|
||||
|
||||
sql.event.listen(_ENGINE, 'checkin', greenthread_yield)
|
||||
|
||||
base = options.get('base', BASE)
|
||||
if not register_models(base):
|
||||
if not register_models():
|
||||
if 'reconnect_interval' in options:
|
||||
remaining = options.get('sql_max_retries', -1)
|
||||
reconnect_interval = options['reconnect_interval']
|
||||
retry_registration(remaining, reconnect_interval, base)
|
||||
remaining = cfg.CONF.DATABASE.sql_max_retries
|
||||
reconnect_interval = cfg.CONF.DATABASE.reconnect_interval
|
||||
retry_registration(remaining, reconnect_interval)
|
||||
|
||||
|
||||
def clear_db(base=BASE):
|
||||
|
@ -73,8 +73,7 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
|
||||
# must override __init__ and setup the database
|
||||
# and not call into this class's __init__.
|
||||
# This connection is setup as memory for the tests.
|
||||
db.configure_db({'sql_connection': "sqlite:///:memory:",
|
||||
'base': models_v2.model_base.BASEV2})
|
||||
db.configure_db()
|
||||
|
||||
def _get_tenant_id_for_create(self, context, resource):
|
||||
if context.is_admin and 'tenant_id' in resource:
|
||||
|
@ -66,28 +66,6 @@ from quantum.plugins.bigswitch.version import version_string_with_vcs
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help="Minimum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help="Maximum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help="Timeout in seconds before idle sql connections are "
|
||||
"reaped"),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help="Enable the use of eventlet's db_pool for MySQL"),
|
||||
]
|
||||
|
||||
|
||||
restproxy_opts = [
|
||||
cfg.StrOpt('servers', default='localhost:8800'),
|
||||
cfg.StrOpt('serverauth', default='username:password'),
|
||||
@ -97,7 +75,6 @@ restproxy_opts = [
|
||||
]
|
||||
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(restproxy_opts, "RESTPROXY")
|
||||
|
||||
|
||||
@ -277,15 +254,7 @@ class QuantumRestProxyV2(db_base_plugin_v2.QuantumDbPluginV2):
|
||||
version_string_with_vcs())
|
||||
|
||||
# init DB, proxy's persistent store defaults to in-memory sql-lite DB
|
||||
options = {"sql_connection": "%s" % cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable}
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
# 'servers' is the list of network controller REST end-points
|
||||
# (used in order specified till one suceeds, and it is sticky
|
||||
|
@ -33,27 +33,6 @@ vlan_opts = [
|
||||
"or <physical_network>"),
|
||||
]
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help="Minimum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help="Maximum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help="Timeout in seconds before idle sql connections are "
|
||||
"reaped"),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help="Enable the use of eventlet's db_pool for MySQL"),
|
||||
]
|
||||
|
||||
bridge_opts = [
|
||||
cfg.ListOpt('physical_interface_mappings',
|
||||
default=DEFAULT_INTERFACE_MAPPINGS,
|
||||
@ -67,6 +46,5 @@ agent_opts = [
|
||||
|
||||
|
||||
cfg.CONF.register_opts(vlan_opts, "VLANS")
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(bridge_opts, "LINUX_BRIDGE")
|
||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||
|
@ -29,17 +29,7 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def initialize():
|
||||
options = {
|
||||
"sql_connection": cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable
|
||||
}
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
|
||||
def sync_network_states(network_vlan_ranges):
|
||||
|
@ -18,27 +18,6 @@
|
||||
from quantum.openstack.common import cfg
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help="Minimum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help="Maximum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help="Timeout in seconds before idle sql connections are "
|
||||
"reaped"),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help="Enable the use of eventlet's db_pool for MySQL"),
|
||||
]
|
||||
|
||||
meta_plugin_opts = [
|
||||
cfg.StrOpt('plugin_list', default=''),
|
||||
cfg.StrOpt('l3_plugin_list', default=''),
|
||||
@ -57,6 +36,5 @@ proxy_plugin_opts = [
|
||||
cfg.StrOpt('auth_region'),
|
||||
]
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(meta_plugin_opts, "META")
|
||||
cfg.CONF.register_opts(proxy_plugin_opts, "PROXY")
|
||||
|
@ -50,16 +50,6 @@ class MetaPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
|
||||
def __init__(self, configfile=None):
|
||||
LOG.debug(_("Start initializing metaplugin"))
|
||||
options = {
|
||||
"sql_connection": "%s" % cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable
|
||||
}
|
||||
self.supported_extension_aliases = \
|
||||
cfg.CONF.META.supported_extension_aliases.split(',')
|
||||
self.supported_extension_aliases += ['flavor', 'router']
|
||||
@ -108,7 +98,7 @@ class MetaPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
raise exc.Invalid(_('default_l3_flavor %s is not plugin list') %
|
||||
self.default_l3_flavor)
|
||||
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
self.extension_map = {}
|
||||
if not cfg.CONF.META.extension_map == '':
|
||||
|
@ -33,13 +33,7 @@ class ProxyPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
supported_extension_aliases = ["router"]
|
||||
|
||||
def __init__(self, configfile=None):
|
||||
options = {"sql_connection": cfg.CONF.DATABASE.sql_connection}
|
||||
options.update({'base': models_v2.model_base.BASEV2})
|
||||
sql_max_retries = cfg.CONF.DATABASE.sql_max_retries
|
||||
options.update({"sql_max_retries": sql_max_retries})
|
||||
reconnect_interval = cfg.CONF.DATABASE.reconnect_interval
|
||||
options.update({"reconnect_interval": reconnect_interval})
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
self.quantum = client.Client(
|
||||
username=cfg.CONF.PROXY.admin_user,
|
||||
password=cfg.CONF.PROXY.admin_password,
|
||||
|
@ -20,27 +20,6 @@ from quantum.openstack.common import cfg
|
||||
from quantum.openstack.common import rpc
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help=_("Minimum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help=_("Maximum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help=_("Timeout in seconds before idle sql connections are "
|
||||
"reaped")),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help=_("Enable the use of eventlet's db_pool for MySQL")),
|
||||
]
|
||||
|
||||
ovs_opts = [
|
||||
cfg.StrOpt('integration_bridge', default='br-int'),
|
||||
]
|
||||
@ -61,7 +40,6 @@ ofc_opts = [
|
||||
]
|
||||
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||
cfg.CONF.register_opts(ofc_opts, "OFC")
|
||||
|
@ -30,15 +30,7 @@ OFP_VLAN_NONE = 0xffff
|
||||
|
||||
|
||||
def initialize():
|
||||
options = {"sql_connection": "%s" % config.DATABASE.sql_connection,
|
||||
"sql_max_retries": config.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": config.DATABASE.reconnect_interval,
|
||||
"base": model_base.BASEV2,
|
||||
"sql_min_pool_size": config.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": config.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": config.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": config.CONF.DATABASE.sql_dbpool_enable}
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
|
||||
def clear_db(base=model_base.BASEV2):
|
||||
|
@ -76,16 +76,6 @@ def parse_config():
|
||||
NVPCluster objects, 'plugin_config' is a dictionary with plugin
|
||||
parameters (currently only 'max_lp_per_bridged_ls').
|
||||
"""
|
||||
db_options = {
|
||||
"sql_connection": "%s" % cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable
|
||||
}
|
||||
nvp_options = cfg.CONF.NVP
|
||||
nvp_conf = config.ClusterConfigOptions(cfg.CONF)
|
||||
cluster_names = config.register_cluster_groups(nvp_conf)
|
||||
@ -104,7 +94,7 @@ def parse_config():
|
||||
'nvp_controller_connection':
|
||||
nvp_conf[cluster_name].nvp_controller_connection, })
|
||||
LOG.debug(_("Cluster options: %s"), clusters_options)
|
||||
return db_options, nvp_options, clusters_options
|
||||
return nvp_options, clusters_options
|
||||
|
||||
|
||||
class NVPRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin):
|
||||
@ -137,7 +127,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
|
||||
nvplib.LOG.setLevel(loglevel)
|
||||
NvpApiClient.LOG.setLevel(loglevel)
|
||||
|
||||
self.db_opts, self.nvp_opts, self.clusters_opts = parse_config()
|
||||
self.nvp_opts, self.clusters_opts = parse_config()
|
||||
self.clusters = {}
|
||||
for c_opts in self.clusters_opts:
|
||||
# Password is guaranteed to be the same across all controllers
|
||||
@ -189,7 +179,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
|
||||
# otherwise set 1st cluster as default
|
||||
self.default_cluster = self.clusters[first_cluster_name]
|
||||
|
||||
db.configure_db(self.db_opts)
|
||||
db.configure_db()
|
||||
# Extend the fault map
|
||||
self._extend_fault_map()
|
||||
# Set up RPC interface for DHCP agent
|
||||
|
@ -17,27 +17,6 @@
|
||||
from quantum.openstack.common import cfg
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help="Minimum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help="Maximum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help="Timeout in seconds before idle sql connections are "
|
||||
"reaped"),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help="Enable the use of eventlet's db_pool for MySQL"),
|
||||
]
|
||||
|
||||
nvp_opts = [
|
||||
cfg.IntOpt('max_lp_per_bridged_ls', default=64),
|
||||
cfg.IntOpt('max_lp_per_overlay_ls', default=256),
|
||||
@ -53,7 +32,6 @@ cluster_opts = [
|
||||
cfg.MultiStrOpt('nvp_controller_connection')
|
||||
]
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(nvp_opts, "NVP")
|
||||
|
||||
|
||||
|
@ -21,27 +21,6 @@ DEFAULT_BRIDGE_MAPPINGS = []
|
||||
DEFAULT_VLAN_RANGES = []
|
||||
DEFAULT_TUNNEL_RANGES = []
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help="Minimum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help="Maximum number of SQL connections to keep open in a "
|
||||
"pool"),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help="Timeout in seconds before idle sql connections are "
|
||||
"reaped"),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help="Enable the use of eventlet's db_pool for MySQL"),
|
||||
]
|
||||
|
||||
ovs_opts = [
|
||||
cfg.StrOpt('integration_bridge', default='br-int'),
|
||||
cfg.BoolOpt('enable_tunneling', default=False),
|
||||
@ -72,6 +51,5 @@ agent_opts = [
|
||||
]
|
||||
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||
|
@ -30,17 +30,7 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def initialize():
|
||||
options = {
|
||||
"sql_connection": cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable
|
||||
}
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
|
||||
def get_network_binding(session, network_id):
|
||||
|
@ -17,27 +17,6 @@
|
||||
from quantum.openstack.common import cfg
|
||||
|
||||
|
||||
database_opts = [
|
||||
cfg.StrOpt('sql_connection', default='sqlite://'),
|
||||
cfg.IntOpt('sql_max_retries', default=-1),
|
||||
cfg.IntOpt('reconnect_interval', default=2),
|
||||
cfg.IntOpt('sql_min_pool_size',
|
||||
default=1,
|
||||
help=_("Minimum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_max_pool_size',
|
||||
default=5,
|
||||
help=_("Maximum number of SQL connections to keep open in a "
|
||||
"pool")),
|
||||
cfg.IntOpt('sql_idle_timeout',
|
||||
default=3600,
|
||||
help=_("Timeout in seconds before idle sql connections are "
|
||||
"reaped")),
|
||||
cfg.BoolOpt('sql_dbpool_enable',
|
||||
default=False,
|
||||
help=_("Enable the use of eventlet's db_pool for MySQL")),
|
||||
]
|
||||
|
||||
ovs_opts = [
|
||||
cfg.StrOpt('integration_bridge', default='br-int'),
|
||||
cfg.StrOpt('openflow_controller', default='127.0.0.1:6633'),
|
||||
@ -57,6 +36,5 @@ agent_opts = [
|
||||
]
|
||||
|
||||
|
||||
cfg.CONF.register_opts(database_opts, "DATABASE")
|
||||
cfg.CONF.register_opts(ovs_opts, "OVS")
|
||||
cfg.CONF.register_opts(agent_opts, "AGENT")
|
||||
|
@ -55,17 +55,7 @@ class RyuQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
supported_extension_aliases = ["router"]
|
||||
|
||||
def __init__(self, configfile=None):
|
||||
options = {
|
||||
"sql_connection": "%s" % cfg.CONF.DATABASE.sql_connection,
|
||||
"sql_max_retries": cfg.CONF.DATABASE.sql_max_retries,
|
||||
"reconnect_interval": cfg.CONF.DATABASE.reconnect_interval,
|
||||
"base": models_v2.model_base.BASEV2,
|
||||
"sql_min_pool_size": cfg.CONF.DATABASE.sql_min_pool_size,
|
||||
"sql_max_pool_size": cfg.CONF.DATABASE.sql_max_pool_size,
|
||||
"sql_idle_timeout": cfg.CONF.DATABASE.sql_idle_timeout,
|
||||
"sql_dbpool_enable": cfg.CONF.DATABASE.sql_dbpool_enable
|
||||
}
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
self.tunnel_key = db_api_v2.TunnelKey(
|
||||
cfg.CONF.OVS.tunnel_key_min, cfg.CONF.OVS.tunnel_key_max)
|
||||
|
@ -42,8 +42,7 @@ class CiscoNetworkPluginV2TestCase(test_db_plugin.QuantumDbPluginV2TestCase):
|
||||
|
||||
def setUp(self):
|
||||
def new_init():
|
||||
db.configure_db({'sql_connection': 'sqlite:///:memory:',
|
||||
'base': network_models_v2.model_base.BASEV2})
|
||||
db.configure_db()
|
||||
|
||||
with mock.patch.object(network_db_v2,
|
||||
'initialize', new=new_init):
|
||||
|
@ -53,8 +53,7 @@ class TestCiscoNexusPlugin(unittest.TestCase):
|
||||
self.second_vlan_id = 265
|
||||
|
||||
def new_cdb_init():
|
||||
db.configure_db({'sql_connection': 'sqlite://',
|
||||
'base': network_models_v2.model_base.BASEV2})
|
||||
db.configure_db()
|
||||
|
||||
def new_nexus_init(self):
|
||||
self._client = importutils.import_object(NEXUS_DRIVER)
|
||||
|
@ -80,10 +80,7 @@ class MetaQuantumPluginV2Test(unittest.TestCase):
|
||||
self.fake_tenant_id = uuidutils.generate_uuid()
|
||||
self.context = context.get_admin_context()
|
||||
|
||||
sql_connection = 'sqlite:///:memory:'
|
||||
options = {"sql_connection": sql_connection}
|
||||
options.update({'base': models_v2.model_base.BASEV2})
|
||||
db.configure_db(options)
|
||||
db.configure_db()
|
||||
|
||||
setup_metaplugin_conf()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user