diff --git a/ansible/roles/service-ks-register/defaults/main.yml b/ansible/roles/service-ks-register/defaults/main.yml
index c576091a6c3b6b37638f4eee3d23a053c264fcb9..8c27c12cd9c508a1975ee9ec05087108bc795d2e 100644
--- a/ansible/roles/service-ks-register/defaults/main.yml
+++ b/ansible/roles/service-ks-register/defaults/main.yml
@@ -12,3 +12,7 @@ service_ks_register_delegate_host: "{{ groups['control'][0] }}"
 service_ks_register_services: []
 # A list of users and associated roles for this service to register with Keystone
 service_ks_register_users: []
+# Number of retries for each task.
+service_ks_register_retries: 5
+# Delay between task retries.
+service_ks_register_delay: 10
diff --git a/ansible/roles/service-ks-register/tasks/main.yml b/ansible/roles/service-ks-register/tasks/main.yml
index a11da103ae1b054eab1ed1775a76b109c4413992..edba77d0cafeba63cd7142e6b14f9963f30762e5 100644
--- a/ansible/roles/service-ks-register/tasks/main.yml
+++ b/ansible/roles/service-ks-register/tasks/main.yml
@@ -14,6 +14,10 @@
   run_once: True
   loop: "{{ service_ks_register_services }}"
   delegate_to: "{{ service_ks_register_delegate_host }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"
 
 - name: Creating the {{ project_name }} endpoints
   become: true
@@ -33,6 +37,10 @@
     - "{{ service_ks_register_services }}"
     - endpoints
   delegate_to: "{{ service_ks_register_delegate_host }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"
 
 - name: Creating the {{ project_name }} service project
   become: true
@@ -48,6 +56,10 @@
   run_once: True
   with_items: "{{ service_ks_register_users | map(attribute='project') | unique | list }}"
   delegate_to: "{{ service_ks_register_delegate_host }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"
 
 - name: Creating the {{ project_name }} service users
   become: true
@@ -69,6 +81,10 @@
     label:
       user: "{{ item.user }}"
       project: "{{ item.project }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"
 
 - name: Creating the {{ project_name }} service roles
   become: true
@@ -83,6 +99,10 @@
   run_once: True
   with_items: "{{ service_ks_register_users | map(attribute='role') | unique | list }}"
   delegate_to: "{{ service_ks_register_delegate_host }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"
 
 - name: Granting the {{ project_name }} service user roles
   become: true
@@ -105,3 +125,7 @@
       user: "{{ item.user }}"
       role: "{{ item.role }}"
       project: "{{ item.project }}"
+  register: service_ks_register_result
+  until: service_ks_register_result is success
+  retries: "{{ service_ks_register_retries }}"
+  delay: "{{ service_ks_register_delay }}"