Skip to content

Commit

Permalink
Cache admin domain (#161)
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Berendt <[email protected]>
  • Loading branch information
berendt committed Dec 7, 2023
1 parent 236a21a commit bfdd2c3
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -687,22 +687,14 @@ def check_homeproject_permissions(project, domain):


def assign_admin_user(project, domain):
admin_domain = cloud.identity.find_domain(CONF.admin_domain)
admin_name = f"{domain.name}-admin"

if not admin_domain:
logger.error(f"{project.name} - admin domain {CONF.admin_domain} not found")
else:
admin_domain_id = admin_domain.id
admin_user = cloud.identity.find_user(admin_name, domain_id=admin_domain_id)
try:
role = CACHE_ROLES["member"]
cloud.identity.assign_project_role_to_user(
project.id, admin_user.id, role.id
)
logger.info(f"{project.name} - assign admin user {admin_name}")
except:
pass
admin_user = cloud.identity.find_user(admin_name, domain_id=CACHE_ADMIN_DOMAIN.id)
try:
role = CACHE_ROLES["member"]
cloud.identity.assign_project_role_to_user(project.id, admin_user.id, role.id)
logger.info(f"{project.name} - assign admin user {admin_name}")
except:
pass


def check_endpoints(project):
Expand Down Expand Up @@ -876,6 +868,13 @@ def process_project(project, domain):
for role in cloud.identity.roles():
CACHE_ROLES[role.name] = role

# cache admin domain
if CONF.assign_admin_user:
CACHE_ADMIN_DOMAIN = cloud.identity.find_domain(CONF.admin_domain)
if not CACHE_ADMIN_DOMAIN:
logger.error(f"admin domain {CONF.admin_domain} does not exist")
sys.exit(1)

# check existence of project and/or domain

if CONF.name and not CONF.domain:
Expand Down

0 comments on commit bfdd2c3

Please sign in to comment.