Improve openstack user handling
diff --git a/staffeln/common/openstack.py b/staffeln/common/openstack.py
index 0e639e1..efdb060 100644
--- a/staffeln/common/openstack.py
+++ b/staffeln/common/openstack.py
@@ -48,9 +48,10 @@
members = self.get_role_assignments(project_id)
emails = []
for member in members:
- user = self.get_user(member.user)
- if user and user.email:
- emails.append(user.email)
+ if member.user and "id" in member.user:
+ user = self.get_user(member.user["id"])
+ if user and hasattr(user, "email"):
+ emails.append(user.email)
return emails
def get_projects(self):
diff --git a/staffeln/conductor/backup.py b/staffeln/conductor/backup.py
index 1d38b4e..8df0f57 100755
--- a/staffeln/conductor/backup.py
+++ b/staffeln/conductor/backup.py
@@ -174,11 +174,11 @@
"project_id": project_id,
}
)
- LOG.info("Start purge completed tasks.")
+ LOG.debug(f"Start purge completed tasks for project {project_id}")
for queue in success_tasks:
queue.delete_queue()
- LOG.info("Start purge failed tasks.")
+ LOG.debug(f"Start purge failed tasks for project {project_id}")
for queue in failed_tasks:
queue.delete_queue()
diff --git a/staffeln/conductor/result.py b/staffeln/conductor/result.py
index 98e3c05..2bb0f57 100644
--- a/staffeln/conductor/result.py
+++ b/staffeln/conductor/result.py
@@ -45,14 +45,14 @@
f"No email can be found from members of project {project_id}. "
"Skip report now and will try to report later."
)
- return
+ return False
except Exception as ex:
LOG.warn(
f"Failed to fetch emails from project members with exception: {ex}"
"As also no receiver email or project receiver domain are "
"configured. Will try to report later."
)
- return
+ return False
else:
receiver_domain = CONF.notification.project_receiver_domain
receiver = f"{project_name}@{receiver_domain}"
@@ -164,4 +164,6 @@
if reported:
# Record success report
self.create_report_record()
- return True
+ return True
+ else:
+ return False