diff --git a/_modules/keystonev3/common.py b/_modules/keystonev3/common.py
index 9f2c8b1..abea33d 100644
--- a/_modules/keystonev3/common.py
+++ b/_modules/keystonev3/common.py
@@ -102,12 +102,14 @@
                     kwargs.pop(k)
             url, json  = func(*args, **kwargs)
             response = None
+            last_exception = None
             for i in range(connect_retries):
                 try:
                   response = getattr(adapter, method)(
                       url, connect_retries=connect_retries,
                       json=json)
                 except Exception as e:
+                    last_exception = e
                     if not hasattr(e, 'http_status') or (e.http_status >= 500
                         or e.http_status == 0):
                         msg = ("Got retriable exception when contacting "
@@ -116,7 +118,13 @@
                         log.error(msg % (connect_retry_delay, i, connect_retries))
                         time.sleep(connect_retry_delay)
                         continue
-                break
+                    else:
+                        break
+                else:
+                   last_exception = None
+                   break
+            if last_exception:
+                raise KeystoneException(last_exception.message)
             if not response or not response.content:
                 return {}
             try:
diff --git a/_states/keystonev3.py b/_states/keystonev3.py
index f7b6f60..d390c14 100644
--- a/_states/keystonev3.py
+++ b/_states/keystonev3.py
@@ -251,7 +251,7 @@
                 'user_create', name=name, cloud_name=cloud_name, **kwargs
             )
         except Exception as e:
-            log.error('Keystone user create failed with {}'.format(e))
+            log.error('Keystone user create failed with: {}'.format(e))
             return _create_failed(name, 'user')
         return _created(name, 'user', resp)
 
diff --git a/keystone/client/resources/v3.sls b/keystone/client/resources/v3.sls
index 8f58f0c..8cac028 100644
--- a/keystone/client/resources/v3.sls
+++ b/keystone/client/resources/v3.sls
@@ -214,6 +214,8 @@
       {%- if role.role_domain_id is defined %}
     - role_domain_id: {{ role.role_domain_id }}
       {%- endif %}
+    - require:
+      - keystone_user_{{ user_name }}
 
     {%- elif role.get('status', 'assigned') == 'unassigned' %}
 
