Add more control on Keystone exceptions 55/47655/1
authorThomas Duval <thomas.duval@orange.com>
Wed, 22 Nov 2017 10:34:18 +0000 (11:34 +0100)
committerThomas Duval <thomas.duval@orange.com>
Wed, 22 Nov 2017 10:34:18 +0000 (11:34 +0100)
Change-Id: I1db596b0b7df7344d8cdc40768c7ee6373905c34

moonv4/moon_db/moon_db/__init__.py
moonv4/moon_db/moon_db/api/policy.py

index 5eb389d..515227f 100644 (file)
@@ -3,5 +3,5 @@
 # license which can be found in the file 'LICENSE' in this package distribution
 # or at 'http://www.apache.org/licenses/LICENSE-2.0'.
 
-__version__ = "1.2.0"
+__version__ = "1.2.1"
 
index 093d14b..272872a 100644 (file)
@@ -56,11 +56,16 @@ class PolicyManager(Managers):
             k_user = Managers.KeystoneManager.create_user(value)
         if not perimeter_id:
             try:
+                LOG.info("k_user={}".format(k_user))
                 perimeter_id = k_user['users'][0].get('id', uuid4().hex)
             except IndexError:
                 k_user = Managers.KeystoneManager.get_user_by_name(
                     value.get('name'))
                 perimeter_id = uuid4().hex
+            except KeyError:
+                k_user = Managers.KeystoneManager.get_user_by_name(
+                    value.get('name'))
+                perimeter_id = uuid4().hex
         value.update(k_user['users'][0])
         return self.driver.set_subject(policy_id=policy_id, perimeter_id=perimeter_id, value=value)