Dependency cleanup

Clean up dependency usage.

a) If the class uses a dependency directly, make sure it's
included (getting from superclass isn't enough)

b) If the class doesn't use a dependency directly, make
sure it's NOT included (being a superclass isn't excuse)

Change-Id: Ifbd489f349ec019a41093a2814664e6d8c9f0069
This commit is contained in:
Brant Knudson 2013-10-31 15:54:59 -05:00
parent 5e24b7627a
commit 4bd8bf6a32
12 changed files with 30 additions and 16 deletions

View File

@ -272,7 +272,7 @@ class AuthInfo(object):
self._scope_data = (domain_id, project_id, trust) self._scope_data = (domain_id, project_id, trust)
@dependency.requires('token_provider_api') @dependency.requires('identity_api', 'token_provider_api')
class Auth(controller.V3Controller): class Auth(controller.V3Controller):
def __init__(self, *args, **kw): def __init__(self, *args, **kw):
super(Auth, self).__init__(*args, **kw) super(Auth, self).__init__(*args, **kw)

View File

@ -18,11 +18,9 @@ import abc
import six import six
from keystone.common import dependency
from keystone import exception from keystone import exception
@dependency.requires('identity_api')
@six.add_metaclass(abc.ABCMeta) @six.add_metaclass(abc.ABCMeta)
class AuthMethodHandler(object): class AuthMethodHandler(object):
"""Abstract base class for an authentication plugin.""" """Abstract base class for an authentication plugin."""

View File

@ -15,6 +15,7 @@
# under the License. # under the License.
from keystone import auth from keystone import auth
from keystone.common import dependency
from keystone import exception from keystone import exception
from keystone import identity from keystone import identity
from keystone.openstack.common import log as logging from keystone.openstack.common import log as logging
@ -97,6 +98,7 @@ class UserAuthInfo(object):
self.domain_id = domain_ref['id'] self.domain_id = domain_ref['id']
@dependency.requires('identity_api')
class Password(auth.AuthMethodHandler): class Password(auth.AuthMethodHandler):
def authenticate(self, context, auth_payload, user_context): def authenticate(self, context, auth_payload, user_context):
"""Try to authenticate against the identity backend.""" """Try to authenticate against the identity backend."""

View File

@ -202,9 +202,8 @@ def filterprotected(*filters):
return _filterprotected return _filterprotected
@dependency.requires('identity_api', 'policy_api', 'token_api', @dependency.requires('assignment_api', 'identity_api', 'policy_api',
'trust_api', 'catalog_api', 'credential_api', 'token_api', 'trust_api')
'assignment_api')
class V2Controller(wsgi.Application): class V2Controller(wsgi.Application):
"""Base controller class for Identity API v2.""" """Base controller class for Identity API v2."""
@ -314,6 +313,7 @@ class V2Controller(wsgi.Application):
return ref return ref
@dependency.requires('identity_api', 'policy_api', 'token_api')
class V3Controller(V2Controller): class V3Controller(V2Controller):
"""Base controller class for Identity API v3. """Base controller class for Identity API v3.

View File

@ -46,7 +46,7 @@ from keystone import token
@dependency.requires('assignment_api', 'catalog_api', 'credential_api', @dependency.requires('assignment_api', 'catalog_api', 'credential_api',
'token_provider_api') 'identity_api', 'token_api', 'token_provider_api')
class Ec2Controller(controller.V2Controller): class Ec2Controller(controller.V2Controller):
def check_signature(self, creds_ref, credentials): def check_signature(self, creds_ref, credentials):
signer = ec2_utils.Ec2Signer(creds_ref['secret']) signer = ec2_utils.Ec2Signer(creds_ref['secret'])

View File

@ -21,7 +21,7 @@ from keystone.common import dependency
from keystone.identity import controllers as identity_controllers from keystone.identity import controllers as identity_controllers
@dependency.requires('assignment_api', 'endpoint_filter_api') @dependency.requires('assignment_api', 'catalog_api', 'endpoint_filter_api')
class EndpointFilterV3Controller(controller.V3Controller): class EndpointFilterV3Controller(controller.V3Controller):
@controller.protected() @controller.protected()

View File

@ -71,7 +71,7 @@ class ConsumerCrudV3(controller.V3Controller):
raise exception.ValidationError(message=msg) raise exception.ValidationError(message=msg)
@dependency.requires('oauth_api') @dependency.requires('oauth_api', 'token_api')
class AccessTokenCrudV3(controller.V3Controller): class AccessTokenCrudV3(controller.V3Controller):
collection_name = 'access_tokens' collection_name = 'access_tokens'
member_name = 'access_token' member_name = 'access_token'
@ -120,7 +120,7 @@ class AccessTokenCrudV3(controller.V3Controller):
return formatted_entity return formatted_entity
@dependency.requires('oauth_api', 'assignment_api') @dependency.requires('assignment_api', 'oauth_api')
class AccessTokenRolesV3(controller.V3Controller): class AccessTokenRolesV3(controller.V3Controller):
collection_name = 'roles' collection_name = 'roles'
member_name = 'role' member_name = 'role'
@ -159,8 +159,7 @@ class AccessTokenRolesV3(controller.V3Controller):
return formatted_entity return formatted_entity
@dependency.requires('oauth_api', 'token_api', 'identity_api', @dependency.requires('assignment_api', 'oauth_api', 'token_api')
'token_provider_api', 'assignment_api')
class OAuthControllerV3(controller.V3Controller): class OAuthControllerV3(controller.V3Controller):
collection_name = 'not_used' collection_name = 'not_used'
member_name = 'not_used' member_name = 'not_used'

View File

@ -18,9 +18,11 @@ import hashlib
import json import json
from keystone.common import controller from keystone.common import controller
from keystone.common import dependency
from keystone import exception from keystone import exception
@dependency.requires('credential_api')
class CredentialV3(controller.V3Controller): class CredentialV3(controller.V3Controller):
collection_name = 'credentials' collection_name = 'credentials'
member_name = 'credential' member_name = 'credential'

View File

@ -22,6 +22,7 @@ import urlparse
import uuid import uuid
from keystone.common import controller from keystone.common import controller
from keystone.common import dependency
from keystone import config from keystone import config
from keystone import exception from keystone import exception
from keystone.openstack.common import log as logging from keystone.openstack.common import log as logging
@ -31,6 +32,7 @@ DEFAULT_DOMAIN_ID = CONF.identity.default_domain_id
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@dependency.requires('assignment_api', 'identity_api', 'token_api')
class Tenant(controller.V2Controller): class Tenant(controller.V2Controller):
def get_all_projects(self, context, **kw): def get_all_projects(self, context, **kw):
"""Gets a list of all tenants for an admin user.""" """Gets a list of all tenants for an admin user."""
@ -167,6 +169,7 @@ class Tenant(controller.V2Controller):
return o return o
@dependency.requires('assignment_api', 'identity_api')
class User(controller.V2Controller): class User(controller.V2Controller):
def get_user(self, context, user_id): def get_user(self, context, user_id):
self.assert_admin(context) self.assert_admin(context)
@ -313,6 +316,7 @@ class User(controller.V2Controller):
return ref return ref
@dependency.requires('assignment_api', 'identity_api')
class Role(controller.V2Controller): class Role(controller.V2Controller):
# COMPAT(essex-3) # COMPAT(essex-3)
def get_user_roles(self, context, user_id, tenant_id=None): def get_user_roles(self, context, user_id, tenant_id=None):
@ -469,6 +473,7 @@ class Role(controller.V2Controller):
self._delete_tokens_for_user(user_id) self._delete_tokens_for_user(user_id)
@dependency.requires('assignment_api', 'identity_api')
class DomainV3(controller.V3Controller): class DomainV3(controller.V3Controller):
collection_name = 'domains' collection_name = 'domains'
member_name = 'domain' member_name = 'domain'
@ -616,6 +621,7 @@ class DomainV3(controller.V3Controller):
return {'domain': ref} return {'domain': ref}
@dependency.requires('assignment_api', 'credential_api')
class ProjectV3(controller.V3Controller): class ProjectV3(controller.V3Controller):
collection_name = 'projects' collection_name = 'projects'
member_name = 'project' member_name = 'project'
@ -678,6 +684,7 @@ class ProjectV3(controller.V3Controller):
return self._delete_project(context, project_id) return self._delete_project(context, project_id)
@dependency.requires('identity_api', 'credential_api')
class UserV3(controller.V3Controller): class UserV3(controller.V3Controller):
collection_name = 'users' collection_name = 'users'
member_name = 'user' member_name = 'user'
@ -777,6 +784,7 @@ class UserV3(controller.V3Controller):
return self._delete_user(context, user_id) return self._delete_user(context, user_id)
@dependency.requires('identity_api')
class GroupV3(controller.V3Controller): class GroupV3(controller.V3Controller):
collection_name = 'groups' collection_name = 'groups'
member_name = 'group' member_name = 'group'
@ -842,6 +850,7 @@ class GroupV3(controller.V3Controller):
return self._delete_group(context, group_id) return self._delete_group(context, group_id)
@dependency.requires('assignment_api', 'identity_api')
class RoleV3(controller.V3Controller): class RoleV3(controller.V3Controller):
collection_name = 'roles' collection_name = 'roles'
member_name = 'role' member_name = 'role'
@ -986,6 +995,7 @@ class RoleV3(controller.V3Controller):
self._delete_tokens_for_group(group_id) self._delete_tokens_for_group(group_id)
@dependency.requires('assignment_api', 'identity_api')
class RoleAssignmentV3(controller.V3Controller): class RoleAssignmentV3(controller.V3Controller):
# TODO(henry-nash): The current implementation does not provide a full # TODO(henry-nash): The current implementation does not provide a full

View File

@ -15,8 +15,10 @@
# under the License. # under the License.
from keystone.common import controller from keystone.common import controller
from keystone.common import dependency
@dependency.requires('policy_api')
class PolicyV3(controller.V3Controller): class PolicyV3(controller.V3Controller):
collection_name = 'policies' collection_name = 'policies'
member_name = 'policy' member_name = 'policy'

View File

@ -37,7 +37,8 @@ class ExternalAuthNotApplicable(Exception):
pass pass
@dependency.requires('token_provider_api') @dependency.requires('assignment_api', 'catalog_api', 'identity_api',
'token_api', 'token_provider_api', 'trust_api')
class Auth(controller.V2Controller): class Auth(controller.V2Controller):
def ca_cert(self, context, auth=None): def ca_cert(self, context, auth=None):
ca_file = open(CONF.signing.ca_certs, 'r') ca_file = open(CONF.signing.ca_certs, 'r')

View File

@ -36,7 +36,6 @@ CONF = config.CONF
DEFAULT_DOMAIN_ID = CONF.identity.default_domain_id DEFAULT_DOMAIN_ID = CONF.identity.default_domain_id
@dependency.requires('assignment_api', 'catalog_api', 'identity_api')
class V2TokenDataHelper(object): class V2TokenDataHelper(object):
"""Creates V2 token data.""" """Creates V2 token data."""
@classmethod @classmethod
@ -132,7 +131,8 @@ class V2TokenDataHelper(object):
return services.values() return services.values()
@dependency.requires('assignment_api', 'catalog_api', 'identity_api') @dependency.requires('assignment_api', 'catalog_api', 'identity_api',
'trust_api')
class V3TokenDataHelper(object): class V3TokenDataHelper(object):
"""Token data helper.""" """Token data helper."""
def __init__(self): def __init__(self):
@ -330,7 +330,7 @@ class V3TokenDataHelper(object):
@dependency.optional('oauth_api') @dependency.optional('oauth_api')
@dependency.requires('assignment_api', 'catalog_api', 'identity_api', @dependency.requires('assignment_api', 'catalog_api', 'identity_api',
'token_api') 'token_api', 'trust_api')
class Provider(token.provider.Provider): class Provider(token.provider.Provider):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(Provider, self).__init__(*args, **kwargs) super(Provider, self).__init__(*args, **kwargs)