diff options
author | Gary Kotton <gkotton@redhat.com> | 2013-06-22 07:14:09 +0000 |
---|---|---|
committer | Gary Kotton <gkotton@redhat.com> | 2013-06-22 07:14:09 +0000 |
commit | 489e2b73f33d40ad34492fa7993f91bc52a8a66e (patch) | |
tree | 5a5a430240a85e988d85a47ea3656131b33f1c13 | |
parent | ba32f8ecb33403885ea521e3c2dcc4b49a81bd71 (diff) | |
download | oslo-489e2b73f33d40ad34492fa7993f91bc52a8a66e.tar.gz oslo-489e2b73f33d40ad34492fa7993f91bc52a8a66e.tar.xz oslo-489e2b73f33d40ad34492fa7993f91bc52a8a66e.zip |
Ensure that DB configuration is backward compatible
Fixes bug 1193557
Change-Id: I483099b205c71d66cf97522307d8265abe83a488
-rw-r--r-- | openstack/common/db/sqlalchemy/session.py | 17 | ||||
-rw-r--r-- | requirements.txt | 2 | ||||
-rw-r--r-- | tests/unit/db/sqlalchemy/test_sqlalchemy.py | 24 |
3 files changed, 42 insertions, 1 deletions
diff --git a/openstack/common/db/sqlalchemy/session.py b/openstack/common/db/sqlalchemy/session.py index b5e10f1..0951ee6 100644 --- a/openstack/common/db/sqlalchemy/session.py +++ b/openstack/common/db/sqlalchemy/session.py @@ -280,6 +280,8 @@ database_opts = [ 'database', deprecated_name='sql_connection', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sql_connection', + group='DATABASE')], secret=True), cfg.StrOpt('slave_connection', default='', @@ -290,34 +292,46 @@ database_opts = [ default=3600, deprecated_name='sql_idle_timeout', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sql_idle_timeout', + group='DATABASE')], help='timeout before idle sql connections are reaped'), cfg.IntOpt('min_pool_size', default=1, deprecated_name='sql_min_pool_size', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sql_min_pool_size', + group='DATABASE')], help='Minimum number of SQL connections to keep open in a ' 'pool'), cfg.IntOpt('max_pool_size', default=None, deprecated_name='sql_max_pool_size', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sql_max_pool_size', + group='DATABASE')], help='Maximum number of SQL connections to keep open in a ' 'pool'), cfg.IntOpt('max_retries', default=10, deprecated_name='sql_max_retries', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sql_max_retries', + group='DATABASE')], help='maximum db connection retries during startup. ' '(setting -1 implies an infinite retry count)'), cfg.IntOpt('retry_interval', default=10, deprecated_name='sql_retry_interval', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('reconnect_interval', + group='DATABASE')], help='interval between retries of opening a sql connection'), cfg.IntOpt('max_overflow', default=None, deprecated_name='sql_max_overflow', deprecated_group=DEFAULT, + deprecated_opts=[cfg.DeprecatedOpt('sqlalchemy_max_overflow', + group='DATABASE')], help='If set, use this value for max_overflow with sqlalchemy'), cfg.IntOpt('connection_debug', default=0, @@ -332,12 +346,15 @@ database_opts = [ help='Add python stack traces to SQL as comment strings'), cfg.IntOpt('pool_timeout', default=None, + deprecated_name='sqlalchemy_pool_timeout', + deprecated_group='DATABASE', help='If set, use this value for pool_timeout with sqlalchemy'), ] CONF = cfg.CONF CONF.register_opts(sqlite_db_opts) CONF.register_opts(database_opts, 'database') + LOG = logging.getLogger(__name__) _ENGINE = None diff --git a/requirements.txt b/requirements.txt index 067af58..d7a33c6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,6 +12,6 @@ kombu==1.0.4 argparse stevedore SQLAlchemy>=0.7.8,<=0.7.9 -oslo.config>=1.1.0 +http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a2.tar.gz#egg=oslo.config-1.2.0a2 qpid-python six diff --git a/tests/unit/db/sqlalchemy/test_sqlalchemy.py b/tests/unit/db/sqlalchemy/test_sqlalchemy.py index ac178b8..46a0cb2 100644 --- a/tests/unit/db/sqlalchemy/test_sqlalchemy.py +++ b/tests/unit/db/sqlalchemy/test_sqlalchemy.py @@ -85,6 +85,30 @@ pool_timeout=7 self.assertEquals(test_utils.CONF.database.connection_trace, True) self.assertEquals(test_utils.CONF.database.pool_timeout, 7) + def test_dbapi_database_deprecated_parameters(self): + paths = self.create_tempfiles([('test', + '[DATABASE]\n' + 'sql_connection=fake_connection\n' + 'sql_idle_timeout=100\n' + 'sql_min_pool_size=99\n' + 'sql_max_pool_size=199\n' + 'sql_max_retries=22\n' + 'reconnect_interval=17\n' + 'sqlalchemy_max_overflow=101\n' + 'sqlalchemy_pool_timeout=5\n' + )]) + + test_utils.CONF(['--config-file', paths[0]]) + self.assertEquals(test_utils.CONF.database.connection, + 'fake_connection') + self.assertEquals(test_utils.CONF.database.idle_timeout, 100) + self.assertEquals(test_utils.CONF.database.min_pool_size, 99) + self.assertEquals(test_utils.CONF.database.max_pool_size, 199) + self.assertEquals(test_utils.CONF.database.max_retries, 22) + self.assertEquals(test_utils.CONF.database.retry_interval, 17) + self.assertEquals(test_utils.CONF.database.max_overflow, 101) + self.assertEquals(test_utils.CONF.database.pool_timeout, 5) + class SessionErrorWrapperTestCase(test_base.DbTestCase): def setUp(self): |