Generalize DB conf group copying
The direct access of conf.* names in _get_db_conf() method is an inappropriate usage of oslo.config [1]. Hardcoding these names prevents oslo.db from being able to easily rename or deprecate options, as well as to be able to add new database options, such as those which apply to new performance tuning or monitoring techniques. Retrieve values from the config object generically so that these names remain local to oslo.db. This usage has been supported in oslo.db enginefacade from its inception [2] as multiple projects were already doing it for LegacyEngineFacade. For the keys __autocommit, sqlite_fk, and expire_on_commit, enginefacade already defaults these to the same values as were hardcoded here and these are unnecessary to be hardcoded. __autocommit in particular is not public. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-July/119846.html [2] https://github.com/openstack/oslo.db/blob/master/oslo_db/tests/sqlalchemy/test_enginefacade.py#L2140 Change-Id: I22f8a19009408fb1f1587bf399e6aee3467c8bc6
This commit is contained in:
parent
6a1e0c295d
commit
910008e2ef
@ -83,22 +83,9 @@ api_context_manager = enginefacade.transaction_context()
|
||||
|
||||
|
||||
def _get_db_conf(conf_group, connection=None):
|
||||
kw = dict(
|
||||
connection=connection or conf_group.connection,
|
||||
slave_connection=conf_group.slave_connection,
|
||||
sqlite_fk=False,
|
||||
__autocommit=True,
|
||||
expire_on_commit=False,
|
||||
mysql_sql_mode=conf_group.mysql_sql_mode,
|
||||
connection_recycle_time=conf_group.connection_recycle_time,
|
||||
connection_debug=conf_group.connection_debug,
|
||||
max_pool_size=conf_group.max_pool_size,
|
||||
max_overflow=conf_group.max_overflow,
|
||||
pool_timeout=conf_group.pool_timeout,
|
||||
sqlite_synchronous=conf_group.sqlite_synchronous,
|
||||
connection_trace=conf_group.connection_trace,
|
||||
max_retries=conf_group.max_retries,
|
||||
retry_interval=conf_group.retry_interval)
|
||||
kw = dict(conf_group.items())
|
||||
if connection is not None:
|
||||
kw['connection'] = connection
|
||||
return kw
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user