auth = get_session_auth(os_creds)
key_session = keystone_session(os_creds)
return key_session.get_endpoint(
- auth=auth, service_type=service_type, interface=interface)
+ auth=auth, service_type=service_type, region_name=os_creds.region_name,
+ interface=interface)
def get_project(keystone=None, os_creds=None, project_settings=None,
project_name=None):
"""
- Returns the first project object or None if not found
+ Returns the first project where the project_settings is used for the query
+ if not None, else the project_name parameter is used for the query. If both
+ parameters are None, None is returned
:param keystone: the Keystone client
:param os_creds: the OpenStack credentials used to obtain the Keystone
client if the keystone parameter is None
proj_filter['description'] = project_settings.description
proj_filter['domain_name'] = project_settings.domain_name
proj_filter['enabled'] = project_settings.enabled
+ else:
+ return None
if keystone.version == V2_VERSION_STR:
projects = keystone.tenants.list()
enabled=project_settings.enabled)
domain_id = os_project.domain_id
+ logger.info('Created project with name - %s', project_settings.name)
return Project(
name=os_project.name, project_id=os_project.id, domain_id=domain_id)
:param keystone: the Keystone clien
:param project: the SNAPS-OO Project domain object
"""
+ logger.info('Deleting project with name - %s', project.name)
if keystone.version == V2_VERSION_STR:
keystone.tenants.delete(project.id)
else:
project=os_project)
if os_user:
+ logger.info('Created user with name - %s', os_user.name)
return User(name=os_user.name, user_id=os_user.id)
:param keystone: the Keystone client
:param user: the SNAPS-OO User domain object
"""
+ logger.info('Deleting user with name - %s', user.name)
keystone.users.delete(user.id)
:return: a SNAPS-OO Role domain object
"""
role = keystone.roles.create(name)
+ logger.info('Created role with name - %s', role.name)
return Role(name=role.name, role_id=role.id)
:param role: the SNAPS-OO Role domain object to delete
:return:
"""
+ logger.info('Deleting role with name - %s', role.name)
keystone.roles.delete(role.id)
"""
os_role = get_role_by_id(keystone, role.id)
+ logger.info('Granting role %s to project %s', role.name, project.name)
if keystone.version == V2_VERSION_STR:
keystone.roles.add_user_role(user, os_role, tenant=project)
else: