Remove usage of some of the deprecated methods

Switch to enginefacade.writer during migrations instead of using
legacy facade, use inspect.signature instead of inspect.getargspec
in python 3.

Change-Id: I8ce536a5ce7e9f248d75fb9de8e7c1974a3423b3
This commit is contained in:
Vladyslav Drok 2017-07-25 15:06:08 +03:00
parent 11e79b9214
commit ea3f62a132
6 changed files with 11 additions and 7 deletions

View File

@ -50,7 +50,7 @@ def run_migrations_online():
and associate a connection with the context.
"""
engine = enginefacade.get_legacy_facade().get_engine()
engine = enginefacade.writer.get_engine()
with engine.connect() as connection:
context.configure(connection=connection,
target_metadata=target_metadata)

View File

@ -38,7 +38,7 @@ def version(config=None, engine=None):
:rtype: string
"""
if engine is None:
engine = enginefacade.get_legacy_facade().get_engine()
engine = enginefacade.writer.get_engine()
with engine.connect() as conn:
context = alembic_migration.MigrationContext.configure(conn)
return context.get_current_revision()
@ -62,7 +62,7 @@ def create_schema(config=None, engine=None):
Can be used for initial installation instead of upgrade('head').
"""
if engine is None:
engine = enginefacade.get_legacy_facade().get_engine()
engine = enginefacade.writer.get_engine()
# NOTE(viktors): If we will use metadata.create_all() for non empty db
# schema, it will only add the new tables, but leave

View File

@ -98,6 +98,7 @@ def parse_driver_info(node):
if not parsed.scheme or not parsed.authority:
address = 'https://%s' % address
parsed = rfc3986.uri_reference(address)
# TODO(vdrok): Workaround this check, in py3 we need to use validator class
if not parsed.is_valid(require_scheme=True, require_authority=True):
raise exception.InvalidParameterValue(
_('Invalid Redfish address %(address)s set in '

View File

@ -70,7 +70,7 @@ class DbTestCase(base.TestCase):
global _DB_CACHE
if not _DB_CACHE:
engine = enginefacade.get_legacy_facade().get_engine()
engine = enginefacade.writer.get_engine()
_DB_CACHE = Database(engine, migration,
sql_connection=CONF.database.connection)
self.useFixture(_DB_CACHE)

View File

@ -82,7 +82,7 @@ def _get_connect_string(backend, user, passwd, database):
@contextlib.contextmanager
def patch_with_engine(engine):
with mock.patch.object(enginefacade.get_legacy_facade(),
with mock.patch.object(enginefacade.writer,
'get_engine') as patch_engine:
patch_engine.return_value = engine
yield

View File

@ -16,6 +16,7 @@
import inspect
import mock
import six
import stevedore
from ironic.common import dhcp_factory
@ -84,6 +85,8 @@ class TestDHCPFactory(base.TestCase):
class CompareBasetoModules(base.TestCase):
def test_drivers_match_dhcp_base(self):
signature_method = inspect.getargspec if six.PY2 else inspect.signature
def _get_public_apis(inst):
methods = {}
for (name, value) in inspect.getmembers(inst, inspect.ismethod):
@ -98,8 +101,8 @@ class CompareBasetoModules(base.TestCase):
implmethods = _get_public_apis(driverclass)
for name in basemethods:
baseargs = inspect.getargspec(basemethods[name])
implargs = inspect.getargspec(implmethods[name])
baseargs = signature_method(basemethods[name])
implargs = signature_method(implmethods[name])
self.assertEqual(
baseargs,
implargs,