Throwing error when old format is used with Keystone
Change-Id: I1a999d7126c448b4b119885d016ac47152914442
Signed-off-by: Eduardo Sousa <eduardo.sousa@canonical.com>
diff --git a/osm_nbi/admin_topics.py b/osm_nbi/admin_topics.py
index 07f18da..31937f9 100644
--- a/osm_nbi/admin_topics.py
+++ b/osm_nbi/admin_topics.py
@@ -84,6 +84,13 @@
content["_admin"]["salt"] = salt
if content.get("password"):
content["password"] = sha256(content["password"].encode('utf-8') + salt.encode('utf-8')).hexdigest()
+ if content.get("project_role_mappings"):
+ projects = [mapping[0] for mapping in content["project_role_mappings"]]
+
+ if content.get("projects"):
+ content["projects"] += projects
+ else:
+ content["projects"] = projects
@staticmethod
def format_on_edit(final_content, edit_content):
@@ -387,6 +394,10 @@
username = indata.get("username")
user_list = list(map(lambda x: x["username"], self.auth.get_user_list()))
+ if "projects" in indata.keys():
+ raise EngineException("Format invalid: the keyword \"projects\" is not allowed for Keystone",
+ HTTPStatus.BAD_REQUEST)
+
if username in user_list:
raise EngineException("username '{}' exists".format(username), HTTPStatus.CONFLICT)