diff --git a/ansible/roles/congress/tasks/config.yml b/ansible/roles/congress/tasks/config.yml
index 75fcffa090751ea0eb5e295a8eaf388f2bbc626e..7d09577f7972a4822ccbfa617cc9764498d32b3d 100644
--- a/ansible/roles/congress/tasks/config.yml
+++ b/ansible/roles/congress/tasks/config.yml
@@ -7,7 +7,9 @@
     group: "{{ config_owner_group }}"
     mode: "0770"
   become: true
-  when: inventory_hostname in groups[item.value.group]
+  when:
+    - inventory_hostname in groups[item.value.group]
+    - item.value.enabled | bool
   with_dict: "{{ congress_services }}"
 
 - name: Check if policies shall be overwritten
diff --git a/ansible/roles/keystone/tasks/config.yml b/ansible/roles/keystone/tasks/config.yml
index 047b6585653b50bb79a763ac7da410cc5b60e78b..0c26075f76147f3e0e723f57b2a847e1162005ac 100644
--- a/ansible/roles/keystone/tasks/config.yml
+++ b/ansible/roles/keystone/tasks/config.yml
@@ -1,4 +1,17 @@
 ---
+- name: Ensuring config directories exist
+  file:
+    path: "{{ node_config_directory }}/{{ item.key }}"
+    state: "directory"
+    owner: "{{ config_owner_user }}"
+    group: "{{ config_owner_group }}"
+    mode: "0770"
+  become: true
+  when:
+    - inventory_hostname in groups[item.value.group]
+    - item.value.enabled | bool
+  with_dict: "{{ keystone_services }}"
+
 - name: Check if policies shall be overwritten
   local_action: stat path="{{ item }}"
   run_once: True
@@ -21,19 +34,6 @@
   run_once: True
   register: keystone_domain_directory
 
-- name: Ensuring config directories exist
-  file:
-    path: "{{ node_config_directory }}/{{ item.key }}"
-    state: "directory"
-    owner: "{{ config_owner_user }}"
-    group: "{{ config_owner_group }}"
-    mode: "0770"
-  become: true
-  when:
-    - inventory_hostname in groups[item.value.group]
-    - item.value.enabled | bool
-  with_dict: "{{ keystone_services }}"
-
 - name: Creating Keystone Domain directory
   vars:
     keystone: "{{ keystone_services.keystone }}"
diff --git a/ansible/roles/mistral/tasks/config.yml b/ansible/roles/mistral/tasks/config.yml
index be213b52aaf1fb56276ff501fe40c8afb3497425..c16dc4b724b950773c9861023f43dcd8829a7226 100644
--- a/ansible/roles/mistral/tasks/config.yml
+++ b/ansible/roles/mistral/tasks/config.yml
@@ -7,7 +7,9 @@
     group: "{{ config_owner_group }}"
     mode: "0770"
   become: true
-  when: inventory_hostname in groups[item.value.group]
+  when:
+    - inventory_hostname in groups[item.value.group]
+    - item.value.enabled | bool
   with_dict: "{{ mistral_services }}"
 
 - name: Check if policies shall be overwritten
diff --git a/ansible/roles/tacker/tasks/config.yml b/ansible/roles/tacker/tasks/config.yml
index b60b8ed51bd100a42dcdc5b7f28b1a97edc02b98..abc96248d2fa601c62b63c63c5bbaa4e9193bbc8 100644
--- a/ansible/roles/tacker/tasks/config.yml
+++ b/ansible/roles/tacker/tasks/config.yml
@@ -9,7 +9,7 @@
   become: true
   when:
     - inventory_hostname in groups[item.value.group]
-    - item.value.enabled
+    - item.value.enabled | bool
   with_dict: "{{ tacker_services }}"
 
 - name: Check if policies shall be overwritten
diff --git a/ansible/roles/zun/tasks/config.yml b/ansible/roles/zun/tasks/config.yml
index c9e799755912a34bc99eaa9a7b0803509176f6e0..0aac546f3187923c663b016fb5b7300377705bdd 100644
--- a/ansible/roles/zun/tasks/config.yml
+++ b/ansible/roles/zun/tasks/config.yml
@@ -7,7 +7,9 @@
     group: "{{ config_owner_group }}"
     mode: "0770"
   become: true
-  when: inventory_hostname in groups[item.value.group]
+  when:
+    - inventory_hostname in groups[item.value.group]
+    - item.value.enabled | bool
   with_dict: "{{ zun_services }}"
 
 - name: Check if policies shall be overwritten