De-client-ify Project List

Change-Id: I13cb90a46ca61716b04989574483cfb4b04fa6b1
This commit is contained in:
Samuel de Medeiros Queiroz 2017-06-12 17:46:11 -04:00
parent ebedf176c7
commit 9237024954
4 changed files with 23 additions and 15 deletions

View File

@ -63,7 +63,7 @@ _COMPUTE_LIMITS_FIELDS = (
_pushdown_fields = {
'project': [
'domain'
'domain_id'
]
}

View File

@ -47,11 +47,6 @@ class UserRemoveFromGroup(task_manager.Task):
return client.keystone_client.users.remove_from_group(**self.args)
class ProjectList(task_manager.Task):
def main(self, client):
return client._project_manager.list(**self.args)
class ProjectCreate(task_manager.Task):
def main(self, client):
return client._project_manager.create(**self.args)

View File

@ -823,15 +823,24 @@ class OpenStackCloud(
"""
kwargs = dict(
filters=filters,
domain=domain_id)
domain_id=domain_id)
if self.cloud_config.get_api_version('identity') == '3':
kwargs['obj_name'] = 'project'
pushdown, filters = _normalize._split_filters(**kwargs)
try:
projects = self._normalize_projects(
self.manager.submit_task(_tasks.ProjectList(**pushdown)))
if self.cloud_config.get_api_version('identity') == '3':
projects = self._identity_client.get('/projects',
params=pushdown)
if isinstance(projects, dict):
projects = projects['projects']
else:
projects = self._identity_client.get('/tenants',
params=pushdown)
if isinstance(projects, dict):
projects = projects['tenants']
projects = self._normalize_projects(projects)
except Exception as e:
self.log.debug("Failed to list projects", exc_info=True)
raise OpenStackCloudException(str(e))

View File

@ -2482,10 +2482,12 @@ class TestRoleAssignment(base.RequestsMockTestCase):
status_code=200,
json={'users': [self.user_data.json_response['user']]}),
dict(method='GET',
uri=self.get_mock_url(resource='projects'),
uri=self.get_mock_url(
resource=('projects?domain_id=%s' %
self.domain_data.domain_id)),
status_code=200,
json={'projects': [
self.project_data.json_response['project']]}),
json={'projects':
[self.project_data.json_response['project']]}),
dict(method='GET',
uri=self.get_mock_url(
resource='role_assignments',
@ -2529,10 +2531,12 @@ class TestRoleAssignment(base.RequestsMockTestCase):
status_code=200,
json={'users': [self.user_data.json_response['user']]}),
dict(method='GET',
uri=self.get_mock_url(resource='projects'),
uri=self.get_mock_url(
resource=('projects?domain_id=%s' %
self.domain_data.domain_id)),
status_code=200,
json={'projects': [
self.project_data.json_response['project']]}),
json={'projects':
[self.project_data.json_response['project']]}),
dict(method='GET',
uri=self.get_mock_url(
resource='role_assignments',