summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/utils
diff options
context:
space:
mode:
authorspisarski <s.pisarski@cablelabs.com>2017-07-12 08:34:14 -0600
committerspisarski <s.pisarski@cablelabs.com>2017-07-13 07:31:05 -0600
commitf5f0f1cbcb757a9229a92c3a7f4ea400db11dd07 (patch)
tree1c6ee337f2f135f7564ec603d67c8746b833991b /snaps/openstack/utils
parente572055192d85954efa81dfa4b3ca5ad80db9434 (diff)
Crteated domain class for projects.
Created Project domain class so keystone_utils.py functions returning project objects will not be leaking out implementation details as each API version can change these data structures and this should all be handled by the SNAPS keystone utility. JIRA: SNAPS-114 Change-Id: Id7bce929604278c8228622161eba1838ecd5e067 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/utils')
-rw-r--r--snaps/openstack/utils/keystone_utils.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/snaps/openstack/utils/keystone_utils.py b/snaps/openstack/utils/keystone_utils.py
index 0a850d3..6812828 100644
--- a/snaps/openstack/utils/keystone_utils.py
+++ b/snaps/openstack/utils/keystone_utils.py
@@ -19,6 +19,7 @@ from keystoneauth1.identity import v3, v2
from keystoneauth1 import session
import requests
+from snaps.domain.project import Project
from snaps.domain.user import User
logger = logging.getLogger('keystone_utils')
@@ -119,7 +120,7 @@ def get_project(keystone=None, os_creds=None, project_name=None):
for project in projects:
if project.name == project_name:
- return project
+ return Project(name=project.name, project_id=project.id)
return None
@@ -129,7 +130,7 @@ def create_project(keystone, project_settings):
Creates a project
:param keystone: the Keystone client
:param project_settings: the project configuration
- :return:
+ :return: SNAPS-OO Project domain object
"""
if keystone.version == V2_VERSION:
return keystone.tenants.create(
@@ -146,12 +147,12 @@ def delete_project(keystone, project):
"""
Deletes a project
:param keystone: the Keystone clien
- :param project: the OpenStack project object
+ :param project: the SNAPS-OO Project domain object
"""
if keystone.version == V2_VERSION:
- keystone.tenants.delete(project)
+ keystone.tenants.delete(project.id)
else:
- keystone.projects.delete(project)
+ keystone.projects.delete(project.id)
def get_os_user(keystone, user):