Replace usage of get_legacy_facade() with get_engine()
We've been seeing warnings emitted to the python 3 unit tests: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade which stem from our use of the get_legacy_facade() oslo.db method. This replaces the get_legacy_facade() usage with the get_engine() method from the transaction context manager. Closes-Bug: #1795078 Change-Id: If1e355d6174f15a1880e97115a2cf3f9f4be837e
This commit is contained in:
parent
99bf62e427
commit
020651ad3d
|
@ -134,11 +134,13 @@ def get_engine(use_slave=False, context=None):
|
||||||
:param context: The request context that can contain a context manager
|
:param context: The request context that can contain a context manager
|
||||||
"""
|
"""
|
||||||
ctxt_mgr = get_context_manager(context)
|
ctxt_mgr = get_context_manager(context)
|
||||||
return ctxt_mgr.get_legacy_facade().get_engine(use_slave=use_slave)
|
if use_slave:
|
||||||
|
return ctxt_mgr.reader.get_engine()
|
||||||
|
return ctxt_mgr.writer.get_engine()
|
||||||
|
|
||||||
|
|
||||||
def get_api_engine():
|
def get_api_engine():
|
||||||
return api_context_manager.get_legacy_facade().get_engine()
|
return api_context_manager.writer.get_engine()
|
||||||
|
|
||||||
|
|
||||||
_SHADOW_TABLE_PREFIX = 'shadow_'
|
_SHADOW_TABLE_PREFIX = 'shadow_'
|
||||||
|
|
|
@ -426,7 +426,7 @@ class CellDatabases(fixtures.Fixture):
|
||||||
global DB_SCHEMA
|
global DB_SCHEMA
|
||||||
if not DB_SCHEMA['main']:
|
if not DB_SCHEMA['main']:
|
||||||
ctxt_mgr = self._ctxt_mgrs[connection_str]
|
ctxt_mgr = self._ctxt_mgrs[connection_str]
|
||||||
engine = ctxt_mgr.get_legacy_facade().get_engine()
|
engine = ctxt_mgr.writer.get_engine()
|
||||||
conn = engine.connect()
|
conn = engine.connect()
|
||||||
migration.db_sync(database='main')
|
migration.db_sync(database='main')
|
||||||
DB_SCHEMA['main'] = "".join(line for line
|
DB_SCHEMA['main'] = "".join(line for line
|
||||||
|
@ -535,7 +535,7 @@ class CellDatabases(fixtures.Fixture):
|
||||||
'nova.db.sqlalchemy.api.get_context_manager',
|
'nova.db.sqlalchemy.api.get_context_manager',
|
||||||
get_context_manager):
|
get_context_manager):
|
||||||
self._cache_schema(connection_str)
|
self._cache_schema(connection_str)
|
||||||
engine = ctxt_mgr.get_legacy_facade().get_engine()
|
engine = ctxt_mgr.writer.get_engine()
|
||||||
engine.dispose()
|
engine.dispose()
|
||||||
conn = engine.connect()
|
conn = engine.connect()
|
||||||
conn.connection.executescript(DB_SCHEMA['main'])
|
conn.connection.executescript(DB_SCHEMA['main'])
|
||||||
|
@ -567,7 +567,7 @@ class CellDatabases(fixtures.Fixture):
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
for ctxt_mgr in self._ctxt_mgrs.values():
|
for ctxt_mgr in self._ctxt_mgrs.values():
|
||||||
engine = ctxt_mgr.get_legacy_facade().get_engine()
|
engine = ctxt_mgr.writer.get_engine()
|
||||||
engine.dispose()
|
engine.dispose()
|
||||||
|
|
||||||
|
|
||||||
|
@ -591,8 +591,7 @@ class Database(fixtures.Fixture):
|
||||||
if connection is not None:
|
if connection is not None:
|
||||||
ctxt_mgr = session.create_context_manager(
|
ctxt_mgr = session.create_context_manager(
|
||||||
connection=connection)
|
connection=connection)
|
||||||
facade = ctxt_mgr.get_legacy_facade()
|
self.get_engine = ctxt_mgr.writer.get_engine
|
||||||
self.get_engine = facade.get_engine
|
|
||||||
else:
|
else:
|
||||||
self.get_engine = session.get_engine
|
self.get_engine = session.get_engine
|
||||||
elif database == 'api':
|
elif database == 'api':
|
||||||
|
|
|
@ -682,15 +682,15 @@ class SqlAlchemyDbApiNoDbTestCase(test.NoDBTestCase):
|
||||||
self.assertEqual('|', filter('|'))
|
self.assertEqual('|', filter('|'))
|
||||||
self.assertEqual('LIKE', op)
|
self.assertEqual('LIKE', op)
|
||||||
|
|
||||||
@mock.patch.object(sqlalchemy_api.main_context_manager._factory,
|
@mock.patch.object(sqlalchemy_api, 'main_context_manager')
|
||||||
'get_legacy_facade')
|
def test_get_engine(self, mock_ctxt_mgr):
|
||||||
def test_get_engine(self, mock_create_facade):
|
|
||||||
mock_facade = mock.MagicMock()
|
|
||||||
mock_create_facade.return_value = mock_facade
|
|
||||||
|
|
||||||
sqlalchemy_api.get_engine()
|
sqlalchemy_api.get_engine()
|
||||||
mock_create_facade.assert_called_once_with()
|
mock_ctxt_mgr.writer.get_engine.assert_called_once_with()
|
||||||
mock_facade.get_engine.assert_called_once_with(use_slave=False)
|
|
||||||
|
@mock.patch.object(sqlalchemy_api, 'main_context_manager')
|
||||||
|
def test_get_engine_use_slave(self, mock_ctxt_mgr):
|
||||||
|
sqlalchemy_api.get_engine(use_slave=True)
|
||||||
|
mock_ctxt_mgr.reader.get_engine.assert_called_once_with()
|
||||||
|
|
||||||
def test_get_db_conf_with_connection(self):
|
def test_get_db_conf_with_connection(self):
|
||||||
mock_conf_group = mock.MagicMock()
|
mock_conf_group = mock.MagicMock()
|
||||||
|
@ -699,15 +699,10 @@ class SqlAlchemyDbApiNoDbTestCase(test.NoDBTestCase):
|
||||||
connection='fake://')
|
connection='fake://')
|
||||||
self.assertEqual('fake://', db_conf['connection'])
|
self.assertEqual('fake://', db_conf['connection'])
|
||||||
|
|
||||||
@mock.patch.object(sqlalchemy_api.api_context_manager._factory,
|
@mock.patch.object(sqlalchemy_api, 'api_context_manager')
|
||||||
'get_legacy_facade')
|
def test_get_api_engine(self, mock_ctxt_mgr):
|
||||||
def test_get_api_engine(self, mock_create_facade):
|
|
||||||
mock_facade = mock.MagicMock()
|
|
||||||
mock_create_facade.return_value = mock_facade
|
|
||||||
|
|
||||||
sqlalchemy_api.get_api_engine()
|
sqlalchemy_api.get_api_engine()
|
||||||
mock_create_facade.assert_called_once_with()
|
mock_ctxt_mgr.writer.get_engine.assert_called_once_with()
|
||||||
mock_facade.get_engine.assert_called_once_with()
|
|
||||||
|
|
||||||
@mock.patch.object(sqlalchemy_api, '_instance_get_by_uuid')
|
@mock.patch.object(sqlalchemy_api, '_instance_get_by_uuid')
|
||||||
@mock.patch.object(sqlalchemy_api, '_instances_fill_metadata')
|
@mock.patch.object(sqlalchemy_api, '_instances_fill_metadata')
|
||||||
|
|
Loading…
Reference in New Issue