Remove deprecated methods from assignment.Manager

assignment.Manager provided several methods that forwarded calls to
the role and resource managers. These are removed.

assignment.Manager's interface isn't stable anyways so there was
no need to mark these as deprecated.

DocImpact
ReleaseNoteImpact

Closes-Bug: 1482662
Change-Id: Ie2340a2fd0e7acef4e285db23a575ee5824513b9
This commit is contained in:
Brant Knudson 2015-08-06 20:04:31 -05:00
parent d728bf7ebc
commit c7f2ec44b9
2 changed files with 0 additions and 202 deletions

View File

@ -19,7 +19,6 @@ import copy
from oslo_config import cfg
from oslo_log import log
from oslo_log import versionutils
import six
from keystone.common import cache
@ -37,40 +36,6 @@ LOG = log.getLogger(__name__)
MEMOIZE = cache.get_memoization_decorator(section='role')
def deprecated_to_role_api(f):
"""Specialized deprecation wrapper for assignment to role api.
This wraps the standard deprecation wrapper and fills in the method
names automatically.
"""
@six.wraps(f)
def wrapper(*args, **kwargs):
x = versionutils.deprecated(
what='assignment.' + f.__name__ + '()',
as_of=versionutils.deprecated.KILO,
in_favor_of='role.' + f.__name__ + '()')
return x(f)
return wrapper()
def deprecated_to_resource_api(f):
"""Specialized deprecation wrapper for assignment to resource api.
This wraps the standard deprecation wrapper and fills in the method
names automatically.
"""
@six.wraps(f)
def wrapper(*args, **kwargs):
x = versionutils.deprecated(
what='assignment.' + f.__name__ + '()',
as_of=versionutils.deprecated.KILO,
in_favor_of='resource.' + f.__name__ + '()')
return x(f)
return wrapper()
@dependency.provider('assignment_api')
@dependency.requires('credential_api', 'identity_api', 'resource_api',
'revoke_api', 'role_api')
@ -944,98 +909,6 @@ class Manager(manager.Manager):
# from persistence if persistence is enabled.
pass
@deprecated_to_role_api
def create_role(self, role_id, role):
return self.role_api.create_role(role_id, role)
@deprecated_to_role_api
def get_role(self, role_id):
return self.role_api.get_role(role_id)
@deprecated_to_role_api
def update_role(self, role_id, role):
return self.role_api.update_role(role_id, role)
@deprecated_to_role_api
def delete_role(self, role_id):
return self.role_api.delete_role(role_id)
@deprecated_to_role_api
def list_roles(self, hints=None):
return self.role_api.list_roles(hints=hints)
@deprecated_to_resource_api
def create_project(self, project_id, project):
return self.resource_api.create_project(project_id, project)
@deprecated_to_resource_api
def get_project_by_name(self, tenant_name, domain_id):
return self.resource_api.get_project_by_name(tenant_name, domain_id)
@deprecated_to_resource_api
def get_project(self, project_id):
return self.resource_api.get_project(project_id)
@deprecated_to_resource_api
def update_project(self, project_id, project):
return self.resource_api.update_project(project_id, project)
@deprecated_to_resource_api
def delete_project(self, project_id):
return self.resource_api.delete_project(project_id)
@deprecated_to_resource_api
def list_projects(self, hints=None):
return self.resource_api.list_projects(hints=hints)
@deprecated_to_resource_api
def list_projects_in_domain(self, domain_id):
return self.resource_api.list_projects_in_domain(domain_id)
@deprecated_to_resource_api
def create_domain(self, domain_id, domain):
return self.resource_api.create_domain(domain_id, domain)
@deprecated_to_resource_api
def get_domain_by_name(self, domain_name):
return self.resource_api.get_domain_by_name(domain_name)
@deprecated_to_resource_api
def get_domain(self, domain_id):
return self.resource_api.get_domain(domain_id)
@deprecated_to_resource_api
def update_domain(self, domain_id, domain):
return self.resource_api.update_domain(domain_id, domain)
@deprecated_to_resource_api
def delete_domain(self, domain_id):
return self.resource_api.delete_domain(domain_id)
@deprecated_to_resource_api
def list_domains(self, hints=None):
return self.resource_api.list_domains(hints=hints)
@deprecated_to_resource_api
def assert_domain_enabled(self, domain_id, domain=None):
return self.resource_api.assert_domain_enabled(domain_id, domain)
@deprecated_to_resource_api
def assert_project_enabled(self, project_id, project=None):
return self.resource_api.assert_project_enabled(project_id, project)
@deprecated_to_resource_api
def is_leaf_project(self, project_id):
return self.resource_api.is_leaf_project(project_id)
@deprecated_to_resource_api
def list_project_parents(self, project_id, user_id=None):
return self.resource_api.list_project_parents(project_id, user_id)
@deprecated_to_resource_api
def list_projects_in_subtree(self, project_id, user_id=None):
return self.resource_api.list_projects_in_subtree(project_id, user_id)
@six.add_metaclass(abc.ABCMeta)
class Driver(object):

View File

@ -20,8 +20,6 @@ import mock
from oslo_config import cfg
from oslo_db import exception as db_exception
from oslo_db import options
from oslo_log import log
from oslo_log import versionutils
from six.moves import range
import sqlalchemy
from sqlalchemy import exc
@ -921,76 +919,3 @@ class SqlCredential(SqlTests):
credentials = self.credential_api.list_credentials_for_user(
self.user_foo['id'])
self._validateCredentialList(credentials, self.user_credentials)
class DeprecatedDecorators(SqlTests):
def setUp(self):
super(DeprecatedDecorators, self).setUp()
# The only reason this is here is because report_deprecated_feature()
# registers the fatal_deprecations option which these tests use.
versionutils.report_deprecated_feature(
log.getLogger(__name__), 'ignore this message')
def test_assignment_to_role_api(self):
"""Test that calling one of the methods does call LOG.deprecated.
This method is really generic to the type of backend, but we need
one to execute the test, so the SQL backend is as good as any.
"""
# Rather than try and check that a log message is issued, we
# enable fatal_deprecations so that we can check for the
# raising of the exception.
# First try to create a role without enabling fatal deprecations,
# which should work due to the cross manager deprecated calls.
role_ref = {
'id': uuid.uuid4().hex,
'name': uuid.uuid4().hex}
self.assignment_api.create_role(role_ref['id'], role_ref)
self.role_api.get_role(role_ref['id'])
# Now enable fatal exceptions - creating a role by calling the
# old manager should now fail.
self.config_fixture.config(fatal_deprecations=True)
role_ref = {
'id': uuid.uuid4().hex,
'name': uuid.uuid4().hex}
self.assertRaises(versionutils.DeprecatedConfig,
self.assignment_api.create_role,
role_ref['id'], role_ref)
def test_assignment_to_resource_api(self):
"""Test that calling one of the methods does call LOG.deprecated.
This method is really generic to the type of backend, but we need
one to execute the test, so the SQL backend is as good as any.
"""
# Rather than try and check that a log message is issued, we
# enable fatal_deprecations so that we can check for the
# raising of the exception.
# First try to create a project without enabling fatal deprecations,
# which should work due to the cross manager deprecated calls.
project_ref = {
'id': uuid.uuid4().hex,
'name': uuid.uuid4().hex,
'domain_id': DEFAULT_DOMAIN_ID}
self.resource_api.create_project(project_ref['id'], project_ref)
self.resource_api.get_project(project_ref['id'])
# Now enable fatal exceptions - creating a project by calling the
# old manager should now fail.
self.config_fixture.config(fatal_deprecations=True)
project_ref = {
'id': uuid.uuid4().hex,
'name': uuid.uuid4().hex,
'domain_id': DEFAULT_DOMAIN_ID}
self.assertRaises(versionutils.DeprecatedConfig,
self.assignment_api.create_project,
project_ref['id'], project_ref)