diff --git a/ansible/kolla-ansible.yml b/ansible/kolla-ansible.yml
new file mode 100644
index 000000000..3eff66666
--- /dev/null
+++ b/ansible/kolla-ansible.yml
@@ -0,0 +1,31 @@
+---
+- name: Ensure Kolla Ansible is configured
+  hosts: config-mgmt
+  vars:
+    controller_host: "{{ groups['controllers'][0] | default() }}"
+    seed_host: "{{ groups['seed'][0] | default() }}"
+  pre_tasks:
+    - name: Check whether a Kolla extra globals configuration file exists
+      stat:
+        path: "{{ kayobe_config_path ~ '/kolla/globals.yml' }}"
+      register: globals_stat
+
+    - name: Read the Kolla extra globals configuration file
+      set_fact:
+        kolla_extra_globals: "{{ lookup('template', kayobe_config_path ~ '/kolla/globals.yml') | from_yaml }}"
+      when: globals_stat.stat.exists
+  roles:
+    - role: kolla-ansible
+      kolla_internal_vip_address: "{% if kolla_enable_haproxy | bool %}{{ internal_net_name | net_vip_address }}{% elif controller_host %}{{ internal_net_name | net_ip(controller_host) }}{% endif %}"
+      kolla_internal_fqdn: "{% if kolla_enable_haproxy | bool %}{{ internal_net_name | net_fqdn or kolla_internal_vip_address }}{% elif controller_host %}{{ internal_net_name | net_ip(controller_host) }}{% endif %}"
+      kolla_external_vip_address: "{% if kolla_enable_haproxy | bool %}{{ external_net_name | net_vip_address }}{% elif controller_host %}{{ external_net_name | net_ip(controller_host) }}{% endif %}"
+      kolla_external_fqdn: "{% if kolla_enable_haproxy | bool %}{{ external_net_name | net_fqdn or kolla_external_vip_address }}{% elif controller_host %}{{ external_net_name | net_ip(controller_host) }}{% endif %}"
+      kolla_network_interface: "{% if controller_host %}{{ internal_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+      kolla_external_vip_interface: "{% if controller_host %}{{ external_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+      kolla_api_interface: "{% if controller_host %}{{ internal_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+      kolla_storage_interface: "{% if controller_host %}{{ storage_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+      kolla_cluster_interface: "{% if controller_host %}{{ storage_mgmt_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+      kolla_neutron_bridge_name: "{% if controller_host %}{{ hostvars[controller_host]['neutron_bridge_name'] }}{% endif %}"
+      kolla_neutron_external_interface: "{% if controller_host %}{{ hostvars[controller_host]['neutron_external_interface'] }}{% endif %}"
+      kolla_bifrost_network_interface: "{% if seed_host %}{{ provision_oc_net_name | net_interface(seed_host) | replace('-', '_') }}{% endif %}"
+      kolla_provision_interface: "{% if controller_host %}{{ provision_wl_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
diff --git a/ansible/kolla.yml b/ansible/kolla.yml
index 10209f0c0..2a4ed4cb4 100644
--- a/ansible/kolla.yml
+++ b/ansible/kolla.yml
@@ -1,35 +1,8 @@
 ---
 - name: Ensure Kolla is configured
   hosts: config-mgmt
-  vars:
-    controller_host: "{{ groups['controllers'][0] | default() }}"
-    seed_host: "{{ groups['seed'][0] | default() }}"
-  pre_tasks:
-    - name: Check whether a Kolla extra globals configuration file exists
-      stat:
-        path: "{{ kayobe_config_path ~ '/kolla/globals.yml' }}"
-      register: globals_stat
-
-    - name: Read the Kolla extra globals configuration file
-      set_fact:
-        kolla_extra_globals: "{{ lookup('template', kayobe_config_path ~ '/kolla/globals.yml') | from_yaml }}"
-      when: globals_stat.stat.exists
   roles:
     - role: kolla
-
     - role: kolla-build
 
-    - role: kolla-ansible
-      kolla_internal_vip_address: "{% if kolla_enable_haproxy | bool %}{{ internal_net_name | net_vip_address }}{% elif controller_host %}{{ internal_net_name | net_ip(controller_host) }}{% endif %}"
-      kolla_internal_fqdn: "{% if kolla_enable_haproxy | bool %}{{ internal_net_name | net_fqdn or kolla_internal_vip_address }}{% elif controller_host %}{{ internal_net_name | net_ip(controller_host) }}{% endif %}"
-      kolla_external_vip_address: "{% if kolla_enable_haproxy | bool %}{{ external_net_name | net_vip_address }}{% elif controller_host %}{{ external_net_name | net_ip(controller_host) }}{% endif %}"
-      kolla_external_fqdn: "{% if kolla_enable_haproxy | bool %}{{ external_net_name | net_fqdn or kolla_external_vip_address }}{% elif controller_host %}{{ external_net_name | net_ip(controller_host) }}{% endif %}"
-      kolla_network_interface: "{% if controller_host %}{{ internal_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
-      kolla_external_vip_interface: "{% if controller_host %}{{ external_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
-      kolla_api_interface: "{% if controller_host %}{{ internal_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
-      kolla_storage_interface: "{% if controller_host %}{{ storage_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
-      kolla_cluster_interface: "{% if controller_host %}{{ storage_mgmt_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
-      kolla_neutron_bridge_name: "{% if controller_host %}{{ hostvars[controller_host]['neutron_bridge_name'] }}{% endif %}"
-      kolla_neutron_external_interface: "{% if controller_host %}{{ hostvars[controller_host]['neutron_external_interface'] }}{% endif %}"
-      kolla_bifrost_network_interface: "{% if seed_host %}{{ provision_oc_net_name | net_interface(seed_host) | replace('-', '_') }}{% endif %}"
-      kolla_provision_interface: "{% if controller_host %}{{ provision_wl_net_name | net_interface(controller_host) | replace('-', '_') }}{% endif %}"
+- include: kolla-ansible.yml
diff --git a/ansible/roles/kolla-ansible/tasks/main.yml b/ansible/roles/kolla-ansible/tasks/main.yml
index 91193b560..b35195704 100644
--- a/ansible/roles/kolla-ansible/tasks/main.yml
+++ b/ansible/roles/kolla-ansible/tasks/main.yml
@@ -1,5 +1,9 @@
 ---
 - include: install.yml
   when: "{{ kolla_ansible_is_standalone | bool }}"
+  tags:
+    - install
 
 - include: config.yml
+  tags:
+    - config