Use short names for drivers

With stevedore support, we can use shorter names for the drivers
rather than the full class path.

Using the full class path is supported, but deprecated (the code
falls back to importing by importutils which is already reported
as deprecated).

bp stevedore

Co-Authored-By: Boris Bobrov <bbobrov@mirantis.com>
Change-Id: I11cf1bca474f59419185e2a1970c1dae31017329
This commit is contained in:
Brant Knudson 2015-03-22 10:18:27 -05:00
parent 6817d66bd2
commit e7e3ca5269
38 changed files with 150 additions and 288 deletions

View File

@ -36,7 +36,7 @@ class Assignment(assignment.Driver):
@versionutils.deprecated(
versionutils.deprecated.KILO,
remove_in=+2,
what='keystone.assignment.backends.ldap.Assignment')
what='ldap')
def __init__(self):
super(Assignment, self).__init__()
self.LDAP_URL = CONF.ldap.url
@ -54,10 +54,10 @@ class Assignment(assignment.Driver):
self.role = RoleApi(CONF, self.user)
def default_role_driver(self):
return 'keystone.assignment.role_backends.ldap.Role'
return 'ldap'
def default_resource_driver(self):
return 'keystone.resource.backends.ldap.Resource'
return 'ldap'
def list_role_ids_for_groups_on_project(
self, groups, project_id, project_domain_id, project_parents):

View File

@ -53,10 +53,10 @@ class AssignmentType(object):
class Assignment(keystone_assignment.Driver):
def default_role_driver(self):
return "keystone.assignment.role_backends.sql.Role"
return 'sql'
def default_resource_driver(self):
return 'keystone.resource.backends.sql.Resource'
return 'sql'
def list_user_ids_for_project(self, tenant_id):
with sql.transaction() as session:

View File

@ -149,8 +149,7 @@ FILE_OPTIONS = {
'identity configuration files if '
'domain_specific_drivers_enabled is set to true.'),
cfg.StrOpt('driver',
default=('keystone.identity.backends'
'.sql.Identity'),
default='sql',
help='Identity backend driver.'),
cfg.BoolOpt('caching', default=True,
help='Toggle for identity caching. This has no '
@ -168,12 +167,10 @@ FILE_OPTIONS = {
],
'identity_mapping': [
cfg.StrOpt('driver',
default=('keystone.identity.mapping_backends'
'.sql.Mapping'),
default='sql',
help='Keystone Identity Mapping backend driver.'),
cfg.StrOpt('generator',
default=('keystone.identity.id_generators'
'.sha256.Generator'),
default='sha256',
help='Public ID generator for user and group entities. '
'The Keystone identity mapper only supports '
'generators that produce no more than 64 characters.'),
@ -209,7 +206,7 @@ FILE_OPTIONS = {
cfg.IntOpt('max_redelegation_count', default=3,
help='Maximum depth of trust redelegation.'),
cfg.StrOpt('driver',
default='keystone.trust.backends.sql.Trust',
default='sql',
help='Trust backend driver.')],
'os_inherit': [
cfg.BoolOpt('enabled', default=False,
@ -245,13 +242,12 @@ FILE_OPTIONS = {
help='Amount of time a token should remain valid '
'(in seconds).'),
cfg.StrOpt('provider',
default='keystone.token.providers.uuid.Provider',
default='uuid',
help='Controls the token construction, validation, and '
'revocation operations. Core providers are '
'"keystone.token.providers.[fernet|pkiz|pki|uuid].'
'Provider".'),
'[fernet|pkiz|pki|uuid].'),
cfg.StrOpt('driver',
default='keystone.token.persistence.backends.sql.Token',
default='sql',
help='Token persistence backend driver.'),
cfg.BoolOpt('caching', default=True,
help='Toggle for token system caching. This has no '
@ -282,7 +278,7 @@ FILE_OPTIONS = {
],
'revoke': [
cfg.StrOpt('driver',
default='keystone.contrib.revoke.backends.sql.Revoke',
default='sql',
help='An implementation of the backend for persisting '
'revocation events.'),
cfg.IntOpt('expiration_buffer', default=1800,
@ -448,8 +444,7 @@ FILE_OPTIONS = {
],
'domain_config': [
cfg.StrOpt('driver',
default='keystone.resource.config_backends.sql.'
'DomainConfig',
default='sql',
help='Domain config backend driver.'),
cfg.BoolOpt('caching', default=True,
help='Toggle for domain config caching. This has no '
@ -477,13 +472,12 @@ FILE_OPTIONS = {
],
'credential': [
cfg.StrOpt('driver',
default=('keystone.credential.backends'
'.sql.Credential'),
default='sql',
help='Credential backend driver.'),
],
'oauth1': [
cfg.StrOpt('driver',
default='keystone.contrib.oauth1.backends.sql.OAuth1',
default='sql',
help='Credential backend driver.'),
cfg.IntOpt('request_token_duration', default=28800,
help='Duration (in seconds) for the OAuth Request Token.'),
@ -492,8 +486,7 @@ FILE_OPTIONS = {
],
'federation': [
cfg.StrOpt('driver',
default='keystone.contrib.federation.'
'backends.sql.Federation',
default='sql',
help='Federation backend driver.'),
cfg.StrOpt('assertion_prefix', default='',
help='Value to be used when filtering assertion parameters '
@ -526,7 +519,7 @@ FILE_OPTIONS = {
],
'policy': [
cfg.StrOpt('driver',
default='keystone.policy.backends.sql.Policy',
default='sql',
help='Policy backend driver.'),
cfg.IntOpt('list_limit',
help='Maximum number of entities that will be returned '
@ -534,8 +527,7 @@ FILE_OPTIONS = {
],
'endpoint_filter': [
cfg.StrOpt('driver',
default='keystone.contrib.endpoint_filter.backends'
'.sql.EndpointFilter',
default='sql',
help='Endpoint Filter backend driver'),
cfg.BoolOpt('return_all_endpoints_if_no_filter', default=True,
help='Toggle to return all active endpoints if no filter '
@ -543,8 +535,7 @@ FILE_OPTIONS = {
],
'endpoint_policy': [
cfg.StrOpt('driver',
default='keystone.contrib.endpoint_policy.backends'
'.sql.EndpointPolicy',
default='sql',
help='Endpoint policy backend driver'),
],
'ldap': [
@ -889,7 +880,7 @@ FILE_OPTIONS = {
help='Catalog template file name for use with the '
'template catalog backend.'),
cfg.StrOpt('driver',
default='keystone.catalog.backends.sql.Catalog',
default='sql',
help='Catalog backend driver.'),
cfg.BoolOpt('caching', default=True,
help='Toggle for catalog caching. This has no '

View File

@ -42,7 +42,7 @@ class Identity(identity.Driver):
self.group = GroupApi(conf)
def default_assignment_driver(self):
return "keystone.assignment.backends.ldap.Assignment"
return 'ldap'
def is_domain_aware(self):
return False

View File

@ -77,7 +77,7 @@ class Identity(identity.Driver):
super(Identity, self).__init__()
def default_assignment_driver(self):
return "keystone.assignment.backends.sql.Assignment"
return 'sql'
@property
def is_sql(self):

View File

@ -47,7 +47,7 @@ class Resource(resource.Driver):
self.project = ProjectApi(CONF)
def default_assignment_driver(self):
return 'keystone.assignment.backends.ldap.Assignment'
return 'ldap'
def _set_default_parent_project(self, ref):
"""If the parent project ID has not been set, set it to None."""

View File

@ -27,7 +27,7 @@ LOG = log.getLogger(__name__)
class Resource(keystone_resource.Driver):
def default_assignment_driver(self):
return 'keystone.assignment.backends.sql.Assignment'
return 'sql'
def _get_project(self, session, project_id):
project_ref = session.query(Project).get(project_id)

View File

@ -1011,7 +1011,7 @@ class DomainConfigManager(manager.Manager):
'url': 'myurl'
'user_tree_dn': 'OU=myou'},
'identity': {
'driver': 'keystone.identity.backends.ldap.Identity'}
'driver': 'ldap'}
}

View File

@ -66,9 +66,7 @@ class BaseBackendLdapCommon(object):
def config_overrides(self):
super(BaseBackendLdapCommon, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def config_files(self):
config_files = super(BaseBackendLdapCommon, self).config_files()
@ -129,15 +127,9 @@ class BaseBackendLdapIdentitySqlEverythingElse(tests.SQLDriverOverrides):
def config_overrides(self):
super(BaseBackendLdapIdentitySqlEverythingElse,
self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(
group='resource',
driver='keystone.resource.backends.sql.Resource')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='ldap')
self.config_fixture.config(group='resource', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
class BaseBackendLdapIdentitySqlEverythingElseWithMapping(object):

View File

@ -218,9 +218,7 @@ class LDAPDeleteTreeTest(tests.TestCase):
def config_overrides(self):
super(LDAPDeleteTreeTest, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def config_files(self):
config_files = super(LDAPDeleteTreeTest, self).config_files()
@ -372,9 +370,7 @@ class LDAPPagedResultsTest(tests.TestCase):
def config_overrides(self):
super(LDAPPagedResultsTest, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def config_files(self):
config_files = super(LDAPPagedResultsTest, self).config_files()

View File

@ -2,4 +2,4 @@
# 'domain1' for use with unit tests.
[identity]
driver = keystone.identity.backends.sql.Identity
driver = sql

View File

@ -11,4 +11,4 @@ password = password
suffix = cn=example,cn=com
[identity]
driver = keystone.identity.backends.ldap.Identity
driver = ldap

View File

@ -8,4 +8,4 @@ password = password
suffix = cn=example,cn=com
[identity]
driver = keystone.identity.backends.ldap.Identity
driver = ldap

View File

@ -10,4 +10,4 @@ group_tree_dn = ou=UserGroups,dc=myroot,dc=org
user_tree_dn = ou=Users,dc=myroot,dc=org
[identity]
driver = keystone.identity.backends.ldap.Identity
driver = ldap

View File

@ -2,4 +2,4 @@
# 'domain2' for use with unit tests.
[identity]
driver = keystone.identity.backends.sql.Identity
driver = sql

View File

@ -11,4 +11,4 @@ password = password
suffix = cn=example,cn=com
[identity]
driver = keystone.identity.backends.ldap.Identity
driver = ldap

View File

@ -2,4 +2,4 @@
# 'domain1' for use with unit tests.
[identity]
driver = keystone.identity.backends.sql.Identity
driver = sql

View File

@ -287,7 +287,7 @@ class TestCase(BaseTestCase):
proxies=['keystone.tests.unit.test_cache.CacheIsolatingProxy'])
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.templated.Catalog',
driver='templated',
template_file=dirs.tests('default_catalog.templates'))
self.config_fixture.config(
group='kvs',
@ -295,16 +295,12 @@ class TestCase(BaseTestCase):
('keystone.tests.unit.test_kvs.'
'KVSBackendForcedKeyMangleFixture'),
'keystone.tests.unit.test_kvs.KVSBackendFixture'])
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='signing', certfile=signing_certfile,
keyfile=signing_keyfile,
ca_certs='examples/pki/certs/cacert.pem')
self.config_fixture.config(
group='token',
driver='keystone.token.persistence.backends.kvs.Token')
self.config_fixture.config(group='token', driver='kvs')
self.config_fixture.config(
group='saml', certfile=signing_certfile, keyfile=signing_keyfile)
self.config_fixture.config(
@ -633,21 +629,9 @@ class SQLDriverOverrides(object):
def config_overrides(self):
super(SQLDriverOverrides, self).config_overrides()
# SQL specific driver overrides
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.sql.Catalog')
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.sql.Identity')
self.config_fixture.config(
group='policy',
driver='keystone.policy.backends.sql.Policy')
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.sql.Revoke')
self.config_fixture.config(
group='token',
driver='keystone.token.persistence.backends.sql.Token')
self.config_fixture.config(
group='trust',
driver='keystone.trust.backends.sql.Trust')
self.config_fixture.config(group='catalog', driver='sql')
self.config_fixture.config(group='identity', driver='sql')
self.config_fixture.config(group='policy', driver='sql')
self.config_fixture.config(group='revoke', driver='sql')
self.config_fixture.config(group='token', driver='sql')
self.config_fixture.config(group='trust', driver='sql')

View File

@ -140,7 +140,7 @@ class TestDatabaseDomainConfigs(tests.TestCase):
conf = {'ldap': {'url': uuid.uuid4().hex,
'suffix': uuid.uuid4().hex},
'identity': {
'driver': 'keystone.identity.backends.ldap.Identity'}}
'driver': 'ldap'}}
self.domain_config_api.create_config(domain['id'], conf)
fake_standard_driver = None
domain_config = identity.DomainConfigs()

View File

@ -28,9 +28,7 @@ class TestExtensionCase(test_v3.RestfulTestCase):
def config_overrides(self):
super(TestExtensionCase, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.contrib.endpoint_filter.backends.catalog_sql.'
'EndpointFilterCatalog')
group='catalog', driver='endpoint_filter.sql')
def setUp(self):
super(TestExtensionCase, self).setUp()

View File

@ -1196,9 +1196,7 @@ class TokenExpirationTest(AuthTest):
self.assertEqual(original_expiration, r['access']['token']['expires'])
def test_maintain_uuid_token_expiration(self):
self.config_fixture.config(
group='token',
provider='keystone.token.providers.uuid.Provider')
self.config_fixture.config(group='token', provider='uuid')
self._maintain_token_expiration()

View File

@ -110,9 +110,7 @@ class KvsCatalog(tests.TestCase, test_backend.CatalogTests):
def config_overrides(self):
super(KvsCatalog, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.kvs.Catalog')
self.config_fixture.config(group='catalog', driver='kvs')
def _load_fake_catalog(self):
self.catalog_foobar = self.catalog_api.driver._create_catalog(
@ -167,6 +165,4 @@ class KvsTokenCacheInvalidation(tests.TestCase,
def config_overrides(self):
super(KvsTokenCacheInvalidation, self).config_overrides()
self.config_fixture.config(
group='token',
driver='keystone.token.persistence.backends.kvs.Token')
self.config_fixture.config(group='token', driver='kvs')

View File

@ -79,9 +79,7 @@ class BaseLDAPIdentity(test_backend.IdentityTests):
def config_overrides(self):
super(BaseLDAPIdentity, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def config_files(self):
config_files = super(BaseLDAPIdentity, self).config_files()
@ -2128,15 +2126,9 @@ class LdapIdentitySqlAssignment(BaseLDAPIdentity, tests.SQLDriverOverrides,
def config_overrides(self):
super(LdapIdentitySqlAssignment, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(
group='resource',
driver='keystone.resource.backends.sql.Resource')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='ldap')
self.config_fixture.config(group='resource', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
def test_domain_crud(self):
pass
@ -2414,15 +2406,9 @@ class MultiLDAPandSQLIdentity(BaseLDAPIdentity, tests.SQLDriverOverrides,
super(MultiLDAPandSQLIdentity, self).config_overrides()
# Make sure identity and assignment are actually SQL drivers,
# BaseLDAPIdentity sets these options to use LDAP.
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.sql.Identity')
self.config_fixture.config(
group='resource',
driver='keystone.resource.backends.sql.Resource')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='sql')
self.config_fixture.config(group='resource', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
def _setup_initial_users(self):
# Create some identity entities BEFORE we switch to multi-backend, so
@ -2666,14 +2652,14 @@ class MultiLDAPandSQLIdentityDomainConfigsInSQL(MultiLDAPandSQLIdentity):
'user': 'cn=Admin',
'password': 'password',
'suffix': 'cn=example,cn=com'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
domain1_config = {
'ldap': {'url': 'fake://memory1',
'user': 'cn=Admin',
'password': 'password',
'suffix': 'cn=example,cn=com'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
domain2_config = {
'ldap': {'url': 'fake://memory',
@ -2682,7 +2668,7 @@ class MultiLDAPandSQLIdentityDomainConfigsInSQL(MultiLDAPandSQLIdentity):
'suffix': 'cn=myroot,cn=com',
'group_tree_dn': 'ou=UserGroups,dc=myroot,dc=org',
'user_tree_dn': 'ou=Users,dc=myroot,dc=org'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
self.domain_config_api.create_config(CONF.identity.default_domain_id,
@ -2730,7 +2716,7 @@ class MultiLDAPandSQLIdentityDomainConfigsInSQL(MultiLDAPandSQLIdentity):
# current settings.
new_config = {
'ldap': {'url': uuid.uuid4().hex},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}}
'identity': {'driver': 'ldap'}}
self.domain_config_api.create_config(
CONF.identity.default_domain_id, new_config)
default_config = (
@ -2756,8 +2742,7 @@ class MultiLDAPandSQLIdentityDomainConfigsInSQL(MultiLDAPandSQLIdentity):
def test_setting_sql_driver_raises_exception(self):
"""Ensure setting of domain specific sql driver is prevented."""
new_config = {
'identity': {'driver': 'keystone.identity.backends.sql.Identity'}}
new_config = {'identity': {'driver': 'sql'}}
self.domain_config_api.create_config(
CONF.identity.default_domain_id, new_config)
self.assertRaises(exception.InvalidDomainConfig,
@ -2809,12 +2794,8 @@ class DomainSpecificLDAPandSQLIdentity(
super(DomainSpecificLDAPandSQLIdentity, self).config_overrides()
# Make sure resource & assignment are actually SQL drivers,
# BaseLDAPIdentity causes this option to use LDAP.
self.config_fixture.config(
group='resource',
driver='keystone.resource.backends.sql.Resource')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='resource', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
def reload_backends(self, domain_id):
# Just reload the driver for this domain - which will pickup
@ -2962,15 +2943,9 @@ class DomainSpecificSQLIdentity(DomainSpecificLDAPandSQLIdentity):
def config_overrides(self):
super(DomainSpecificSQLIdentity, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(
group='resource',
driver='keystone.resource.backends.sql.Resource')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='ldap')
self.config_fixture.config(group='resource', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
def get_config(self, domain_id):
if domain_id == CONF.identity.default_domain_id:
@ -2989,25 +2964,17 @@ class DomainSpecificSQLIdentity(DomainSpecificLDAPandSQLIdentity):
def test_default_sql_plus_sql_specific_driver_fails(self):
# First confirm that if ldap is default driver, domain1 can be
# loaded as sql
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='ldap')
self.config_fixture.config(group='assignment', driver='sql')
self.load_backends()
# Make any identity call to initiate the lazy loading of configs
self.identity_api.list_users(
domain_scope=CONF.identity.default_domain_id)
self.assertIsNotNone(self.get_config(self.domains['domain1']['id']))
# Now re-initialize, but with sql as the default identity driver
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.sql.Identity')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
# Now re-initialize, but with sql as the identity driver
self.config_fixture.config(group='identity', driver='sql')
self.config_fixture.config(group='assignment', driver='sql')
self.load_backends()
# Make any identity call to initiate the lazy loading of configs, which
# should fail since we would now have two sql drivers.
@ -3016,12 +2983,8 @@ class DomainSpecificSQLIdentity(DomainSpecificLDAPandSQLIdentity):
domain_scope=CONF.identity.default_domain_id)
def test_multiple_sql_specific_drivers_fails(self):
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(
group='assignment',
driver='keystone.assignment.backends.sql.Assignment')
self.config_fixture.config(group='identity', driver='ldap')
self.config_fixture.config(group='assignment', driver='sql')
self.load_backends()
# Ensure default, domain1 and domain2 exist
self.domain_count = 3
@ -3060,9 +3023,7 @@ class LdapFilterTests(test_backend.FilterTests, tests.TestCase):
def config_overrides(self):
super(LdapFilterTests, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def config_files(self):
config_files = super(LdapFilterTests, self).config_files()

View File

@ -25,9 +25,7 @@ class RulesPolicy(tests.TestCase, test_backend.PolicyTests):
def config_overrides(self):
super(RulesPolicy, self).config_overrides()
self.config_fixture.config(
group='policy',
driver='keystone.policy.backends.rules.Policy')
self.config_fixture.config(group='policy', driver='rules')
def test_create(self):
self.assertRaises(exception.NotImplemented,

View File

@ -47,9 +47,7 @@ class V2CatalogTestCase(rest.RestfulTestCase):
def config_overrides(self):
super(V2CatalogTestCase, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.sql.Catalog')
self.config_fixture.config(group='catalog', driver='sql')
def new_ref(self):
"""Populates a ref with attributes common to all API entities."""
@ -147,9 +145,7 @@ class TestV2CatalogAPISQL(tests.TestCase):
def config_overrides(self):
super(TestV2CatalogAPISQL, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.sql.Catalog')
self.config_fixture.config(group='catalog', driver='sql')
def new_endpoint_ref(self, service_id):
return {

View File

@ -68,9 +68,7 @@ class CertSetupTestCase(rest.RestfulTestCase):
ca_certs=ca_certs,
certfile=os.path.join(CERTDIR, 'keystone.pem'),
keyfile=os.path.join(KEYDIR, 'keystonekey.pem'))
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pkiz.Provider')
self.config_fixture.config(group='token', provider='pkiz')
def test_can_handle_missing_certs(self):
controller = token.controllers.Auth()

View File

@ -104,14 +104,14 @@ class CliDomainConfigAllTestCase(tests.SQLDriverOverrides, tests.TestCase):
'user': 'cn=Admin',
'password': 'password',
'suffix': 'cn=example,cn=com'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
domain1_config = {
'ldap': {'url': 'fake://memory1',
'user': 'cn=Admin',
'password': 'password',
'suffix': 'cn=example,cn=com'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
domain2_config = {
'ldap': {'url': 'fake://memory',
@ -120,7 +120,7 @@ class CliDomainConfigAllTestCase(tests.SQLDriverOverrides, tests.TestCase):
'suffix': 'cn=myroot,cn=com',
'group_tree_dn': 'ou=UserGroups,dc=myroot,dc=org',
'user_tree_dn': 'ou=Users,dc=myroot,dc=org'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
# Clear backend dependencies, since cli loads these manually
@ -152,7 +152,7 @@ class CliDomainConfigSingleDomainTestCase(CliDomainConfigAllTestCase):
'user': 'cn=Admin',
'password': 'password',
'suffix': 'cn=example,cn=com'},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
# Clear backend dependencies, since cli loads these manually
@ -173,7 +173,7 @@ class CliDomainConfigSingleDomainTestCase(CliDomainConfigAllTestCase):
# Create a config for the default domain
default_config = {
'ldap': {'url': uuid.uuid4().hex},
'identity': {'driver': 'keystone.identity.backends.ldap.Identity'}
'identity': {'driver': 'ldap'}
}
self.domain_config_api.create_config(
CONF.identity.default_domain_id, default_config)

View File

@ -83,9 +83,7 @@ class LiveLDAPIdentity(test_backend_ldap.LDAPIdentity):
def config_overrides(self):
super(LiveLDAPIdentity, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def test_build_tree(self):
"""Regression test for building the tree names

View File

@ -50,9 +50,7 @@ class LiveLDAPPoolIdentity(test_backend_ldap_pool.LdapPoolCommonTestMixin,
def config_overrides(self):
super(LiveLDAPPoolIdentity, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def test_assert_connector_used_not_fake_ldap_pool(self):
handler = ldap_core._get_connection(CONF.ldap.url, use_pool=True)

View File

@ -46,9 +46,7 @@ class LiveTLSLDAPIdentity(test_ldap_livetest.LiveLDAPIdentity):
def config_overrides(self):
super(LiveTLSLDAPIdentity, self).config_overrides()
self.config_fixture.config(
group='identity',
driver='keystone.identity.backends.ldap.Identity')
self.config_fixture.config(group='identity', driver='ldap')
def test_tls_certfile_demand_option(self):
self.config_fixture.config(group='ldap',

View File

@ -187,24 +187,20 @@ class RevokeTests(object):
class SqlRevokeTests(test_backend_sql.SqlTests, RevokeTests):
def config_overrides(self):
super(SqlRevokeTests, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.sql.Revoke')
self.config_fixture.config(group='revoke', driver='sql')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
class KvsRevokeTests(tests.TestCase, RevokeTests):
def config_overrides(self):
super(KvsRevokeTests, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
def setUp(self):

View File

@ -744,27 +744,19 @@ class TestTokenProvider(tests.TestCase):
uuid.Provider)
dependency.reset()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.uuid.Provider')
self.config_fixture.config(group='token', provider='uuid')
self.assertIsInstance(token.provider.Manager().driver, uuid.Provider)
dependency.reset()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider')
self.config_fixture.config(group='token', provider='pki')
self.assertIsInstance(token.provider.Manager().driver, pki.Provider)
dependency.reset()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pkiz.Provider')
self.config_fixture.config(group='token', provider='pkiz')
self.assertIsInstance(token.provider.Manager().driver, pkiz.Provider)
dependency.reset()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.fernet.Provider')
self.config_fixture.config(group='token', provider='fernet')
self.assertIsInstance(token.provider.Manager().driver, fernet.Provider)
def test_unsupported_token_provider(self):

View File

@ -1375,12 +1375,10 @@ class V2TestCase(RestfulTestCase, CoreApiTests, LegacyV2UsernameTests):
class RevokeApiTestCase(V2TestCase):
def config_overrides(self):
super(RevokeApiTestCase, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
def test_fetch_revocation_list_admin_200(self):
@ -1412,9 +1410,7 @@ class TestFernetTokenProviderV2(RestfulTestCase):
def config_overrides(self):
super(TestFernetTokenProviderV2, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.fernet.Provider')
self.config_fixture.config(group='token', provider='fernet')
def test_authenticate_unscoped_token(self):
unscoped_token = self.get_unscoped_token()

View File

@ -485,9 +485,7 @@ class AllowRescopeScopedTokenDisabledTests(test_v3.RestfulTestCase):
class TestPKITokenAPIs(test_v3.RestfulTestCase, TokenAPITests):
def config_overrides(self):
super(TestPKITokenAPIs, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider')
self.config_fixture.config(group='token', provider='pki')
def setUp(self):
super(TestPKITokenAPIs, self).setUp()
@ -501,9 +499,7 @@ class TestPKIZTokenAPIs(test_v3.RestfulTestCase, TokenAPITests):
def config_overrides(self):
super(TestPKIZTokenAPIs, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pkiz.Provider')
self.config_fixture.config(group='token', provider='pkiz')
def setUp(self):
super(TestPKIZTokenAPIs, self).setUp()
@ -513,9 +509,7 @@ class TestPKIZTokenAPIs(test_v3.RestfulTestCase, TokenAPITests):
class TestUUIDTokenAPIs(test_v3.RestfulTestCase, TokenAPITests):
def config_overrides(self):
super(TestUUIDTokenAPIs, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.uuid.Provider')
self.config_fixture.config(group='token', provider='uuid')
def setUp(self):
super(TestUUIDTokenAPIs, self).setUp()
@ -675,12 +669,10 @@ class TestTokenRevokeById(test_v3.RestfulTestCase):
def config_overrides(self):
super(TestTokenRevokeById, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
def setUp(self):
@ -1391,12 +1383,10 @@ class TestTokenRevokeApi(TestTokenRevokeById):
"""Test token revocation on the v3 Identity API."""
def config_overrides(self):
super(TestTokenRevokeApi, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
def assertValidDeletedProjectResponse(self, events_response, project_id):
@ -3067,12 +3057,10 @@ class TestTrustAuth(test_v3.RestfulTestCase):
def config_overrides(self):
super(TestTrustAuth, self).config_overrides()
self.config_fixture.config(
group='revoke',
driver='keystone.contrib.revoke.backends.kvs.Revoke')
self.config_fixture.config(group='revoke', driver='kvs')
self.config_fixture.config(
group='token',
provider='keystone.token.providers.pki.Provider',
provider='pki',
revoke_by_id=False)
self.config_fixture.config(group='trust', enabled=True)
@ -4123,9 +4111,7 @@ class TestFernetTokenProvider(test_v3.RestfulTestCase):
def config_overrides(self):
super(TestFernetTokenProvider, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.fernet.Provider')
self.config_fixture.config(group='token', provider='fernet')
def test_validate_unscoped_token(self):
unscoped_token = self._get_unscoped_token()
@ -4454,9 +4440,7 @@ class TestAuthFernetTokenProvider(TestAuth):
def config_overrides(self):
super(TestAuthFernetTokenProvider, self).config_overrides()
self.config_fixture.config(
group='token',
provider='keystone.token.providers.fernet.Provider')
self.config_fixture.config(group='token', provider='fernet')
def test_verify_with_bound_token(self):
self.config_fixture.config(group='token', bind='kerberos')

View File

@ -637,9 +637,7 @@ class TestCatalogAPISQL(tests.TestCase):
def config_overrides(self):
super(TestCatalogAPISQL, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.sql.Catalog')
self.config_fixture.config(group='catalog', driver='sql')
def new_endpoint_ref(self, service_id):
return {
@ -740,9 +738,7 @@ class TestCatalogAPISQLRegions(tests.TestCase):
def config_overrides(self):
super(TestCatalogAPISQLRegions, self).config_overrides()
self.config_fixture.config(
group='catalog',
driver='keystone.catalog.backends.sql.Catalog')
self.config_fixture.config(group='catalog', driver='sql')
def new_endpoint_ref(self, service_id):
return {

View File

@ -2917,9 +2917,7 @@ class FernetFederatedTokenTests(FederationTests, FederatedSetupMixin):
saml2='keystone.auth.plugins.saml2.Saml2')
super(FernetFederatedTokenTests,
self).auth_plugin_config_override(methods, **method_classes)
self.config_fixture.config(
group='token',
provider='keystone.token.providers.fernet.Provider')
self.config_fixture.config(group='token', provider='fernet')
self.useFixture(ksfixtures.KeyRepository(self.config_fixture))
def test_federated_unscoped_token(self):

View File

@ -56,10 +56,8 @@ class Token(token.persistence.Driver):
# is instantiated.
LOG.warn(_LW('It is recommended to only use the base '
'key-value-store implementation for the token driver '
'for testing purposes. Please use '
'keystone.token.persistence.backends.memcache.Token '
'or keystone.token.persistence.backends.sql.Token '
'instead.'))
"for testing purposes. Please use 'memcache' or "
"'sql' instead."))
def _prefix_token_id(self, token_id):
return 'token-%s' % token_id.encode('utf-8')

View File

@ -65,73 +65,73 @@ console_scripts =
keystone-manage = keystone.cmd.manage:main
keystone.assignment =
keystone.assignment.backends.ldap.Assignment = keystone.assignment.backends.ldap:Assignment
keystone.assignment.backends.sql.Assignment = keystone.assignment.backends.sql:Assignment
ldap = keystone.assignment.backends.ldap:Assignment
sql = keystone.assignment.backends.sql:Assignment
keystone.catalog =
keystone.catalog.backends.kvs.Catalog = keystone.catalog.backends.kvs:Catalog
keystone.catalog.backends.sql.Catalog = keystone.catalog.backends.sql:Catalog
keystone.catalog.backends.templated.Catalog = keystone.catalog.backends.templated:Catalog
keystone.contrib.endpoint_filter.backends.catalog_sql.EndpointFilterCatalog = keystone.contrib.endpoint_filter.backends.catalog_sql:EndpointFilterCatalog
kvs = keystone.catalog.backends.kvs:Catalog
sql = keystone.catalog.backends.sql:Catalog
templated = keystone.catalog.backends.templated:Catalog
endpoint_filter.sql = keystone.contrib.endpoint_filter.backends.catalog_sql:EndpointFilterCatalog
keystone.credential =
keystone.credential.backends.sql.Credential = keystone.credential.backends.sql:Credential
sql = keystone.credential.backends.sql:Credential
keystone.identity =
keystone.identity.backends.ldap.Identity = keystone.identity.backends.ldap:Identity
keystone.identity.backends.sql.Identity = keystone.identity.backends.sql:Identity
ldap = keystone.identity.backends.ldap:Identity
sql = keystone.identity.backends.sql:Identity
keystone.identity.id_generator =
keystone.identity.id_generators.sha256.Generator = keystone.identity.id_generators.sha256:Generator
sha256 = keystone.identity.id_generators.sha256:Generator
keystone.identity.id_mapping =
keystone.identity.mapping_backends.sql.Mapping = keystone.identity.mapping_backends.sql:Mapping
sql = keystone.identity.mapping_backends.sql:Mapping
keystone.policy =
keystone.policy.backends.rules.Policy = keystone.policy.backends.rules:Policy
keystone.policy.backends.sql.Policy = keystone.policy.backends.sql:Policy
rules = keystone.policy.backends.rules:Policy
sql = keystone.policy.backends.sql:Policy
keystone.resource =
keystone.resource.backends.ldap.Resource = keystone.resource.backends.ldap:Resource
keystone.resource.backends.sql.Resource = keystone.resource.backends.sql:Resource
ldap = keystone.resource.backends.ldap:Resource
sql = keystone.resource.backends.sql:Resource
keystone.resource.domain_config =
keystone.resource.config_backends.sql.DomainConfig = keystone.resource.config_backends.sql:DomainConfig
sql = keystone.resource.config_backends.sql:DomainConfig
keystone.role =
keystone.assignment.role_backends.ldap.Role = keystone.assignment.role_backends.ldap:Role
keystone.assignment.role_backends.sql.Role = keystone.assignment.role_backends.sql:Role
ldap = keystone.assignment.role_backends.ldap:Role
sql = keystone.assignment.role_backends.sql:Role
keystone.token.persistence =
keystone.token.persistence.backends.kvs.Token = keystone.token.persistence.backends.kvs:Token
keystone.token.persistence.backends.memcache.Token = keystone.token.persistence.backends.memcache:Token
keystone.token.persistence.backends.memcache_pool.Token = keystone.token.persistence.backends.memcache_pool:Token
keystone.token.persistence.backends.sql.Token = keystone.token.persistence.backends.sql:Token
kvs = keystone.token.persistence.backends.kvs:Token
memcache = keystone.token.persistence.backends.memcache:Token
memcache_pool = keystone.token.persistence.backends.memcache_pool:Token
sql = keystone.token.persistence.backends.sql:Token
keystone.token.provider =
keystone.token.providers.fernet.Provider = keystone.token.providers.fernet:Provider
keystone.token.providers.uuid.Provider = keystone.token.providers.uuid:Provider
keystone.token.providers.pki.Provider = keystone.token.providers.pki:Provider
keystone.token.providers.pkiz.Provider = keystone.token.providers.pkiz:Provider
fernet = keystone.token.providers.fernet:Provider
uuid = keystone.token.providers.uuid:Provider
pki = keystone.token.providers.pki:Provider
pkiz = keystone.token.providers.pkiz:Provider
keystone.trust =
keystone.trust.backends.sql.Trust = keystone.trust.backends.sql:Trust
sql = keystone.trust.backends.sql:Trust
keystone.endpoint_filter =
keystone.contrib.endpoint_filter.backends.sql.EndpointFilter = keystone.contrib.endpoint_filter.backends.sql:EndpointFilter
sql = keystone.contrib.endpoint_filter.backends.sql:EndpointFilter
keystone.endpoint_policy =
keystone.contrib.endpoint_policy.backends.sql.EndpointPolicy = keystone.contrib.endpoint_policy.backends.sql:EndpointPolicy
sql = keystone.contrib.endpoint_policy.backends.sql:EndpointPolicy
keystone.federation =
keystone.contrib.federation.backends.sql.Federation = keystone.contrib.federation.backends.sql:Federation
sql = keystone.contrib.federation.backends.sql:Federation
keystone.oauth1 =
keystone.contrib.oauth1.backends.sql.OAuth1 = keystone.contrib.oauth1.backends.sql:OAuth1
sql = keystone.contrib.oauth1.backends.sql:OAuth1
keystone.revoke =
keystone.contrib.revoke.backends.kvs.Revoke = keystone.contrib.revoke.backends.kvs:Revoke
keystone.contrib.revoke.backends.sql.Revoke = keystone.contrib.revoke.backends.sql:Revoke
kvs = keystone.contrib.revoke.backends.kvs:Revoke
sql = keystone.contrib.revoke.backends.sql:Revoke
oslo.config.opts =
keystone = keystone.common.config:list_opts