X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fauth.py;h=bb65738cf4a3688b05540cbf246da173d44df1ad;hp=dda1d227dfd25f4b25c4eb19be21a5b95f66e59d;hb=f269fa5cd7c46515aab49ad8af6da7e918afa592;hpb=044f4317e21a4bb0d6a4a50c8a99a94ed35b8e3f diff --git a/osm_nbi/auth.py b/osm_nbi/auth.py index dda1d22..bb65738 100644 --- a/osm_nbi/auth.py +++ b/osm_nbi/auth.py @@ -231,7 +231,12 @@ class Authenticator: if self.config["authentication"]["backend"] != "internal" and \ role_with_operations["role"] != "anonymous": - keystone_id = self.backend.create_role(role_with_operations["role"]) + keystone_id = [role for role in self.backend.get_role_list() + if role["name"] == role_with_operations["role"]] + if keystone_id: + keystone_id = keystone_id[0] + else: + keystone_id = self.backend.create_role(role_with_operations["role"]) operation_to_roles_item["_id"] = keystone_id["_id"] self.db.create("roles_operations", operation_to_roles_item)