diff --git a/keystone/common/manager.py b/keystone/common/manager.py index 926f481b8b..daec40a8d9 100644 --- a/keystone/common/manager.py +++ b/keystone/common/manager.py @@ -18,8 +18,6 @@ import time import types from oslo_log import log -from oslo_log import versionutils -from oslo_utils import importutils import six import stevedore @@ -72,20 +70,9 @@ def load_driver(namespace, driver_name, *args): invoke_on_load=True, invoke_args=args) return driver_manager.driver - except RuntimeError as e: - LOG.debug('Failed to load %r using stevedore: %s', driver_name, e) - # Ignore failure and continue on. - - driver = importutils.import_object(driver_name, *args) - - msg = (_( - 'Direct import of driver %(name)r is deprecated as of Liberty in ' - 'favor of its entrypoint from %(namespace)r and may be removed in ' - 'N.') % - {'name': driver_name, 'namespace': namespace}) - versionutils.report_deprecated_feature(LOG, msg) - - return driver + except stevedore.exception.NoMatches: + msg = (_('Unable to find %(name)r driver in %(namespace)r.')) + raise ImportError(msg, {'name': driver_name, 'namespace': namespace}) class _TraceMeta(type): diff --git a/keystone/tests/unit/test_token_provider.py b/keystone/tests/unit/test_token_provider.py index f2668c2dbf..89f8a1bea4 100644 --- a/keystone/tests/unit/test_token_provider.py +++ b/keystone/tests/unit/test_token_provider.py @@ -762,7 +762,7 @@ class TestTokenProvider(unit.TestCase): def test_unsupported_token_provider(self): self.config_fixture.config(group='token', - provider='my.package.MyProvider') + provider='MyProvider') self.assertRaises(ImportError, token.provider.Manager) diff --git a/releasenotes/notes/removed-as-of-pike-deadbeefdeadbeef.yaml b/releasenotes/notes/removed-as-of-pike-deadbeefdeadbeef.yaml index 933c3b529d..c3f8e56ee2 100644 --- a/releasenotes/notes/removed-as-of-pike-deadbeefdeadbeef.yaml +++ b/releasenotes/notes/removed-as-of-pike-deadbeefdeadbeef.yaml @@ -36,3 +36,10 @@ other: The ``keystone-manage pki_setup`` was added to aid developer setup by hiding the sometimes cryptic openssl commands. This is no longer needed since keystone no longer supports PKI tokens and can no longer serve SSL. This was deprecated in the Mitaka release. + - > + [`blueprint removed-as-of-pike `_] + Direct import of drivers outside of their `keystone` namespace has been + removed. Ex. identity drivers are loaded from the `keystone.identity` + namespace and assignment drivers from the `keystone.assignment` namespace. + Loading drivers outside of their keystone namespaces was deprecated in the + Liberty release.