diff --git a/ansible/roles/tacker/defaults/main.yml b/ansible/roles/tacker/defaults/main.yml
index 891f7cd0371e43c11579d029e4263f0aa660657e..742b73635184745420717e6c1423f5d647d43bfe 100644
--- a/ansible/roles/tacker/defaults/main.yml
+++ b/ansible/roles/tacker/defaults/main.yml
@@ -9,6 +9,7 @@ tacker_services:
     image: "{{ tacker_server_image_full }}"
     volumes:
       - "{{ node_config_directory }}/tacker-server/:{{ container_config_directory }}/:ro"
+      - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   tacker-conductor:
@@ -18,6 +19,7 @@ tacker_services:
     image: "{{ tacker_conductor_image_full }}"
     volumes:
       - "{{ node_config_directory }}/tacker-conductor/:{{ container_config_directory }}/:ro"
+      - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
 
@@ -54,3 +56,10 @@ tacker_logging_debug: "{{ openstack_logging_debug }}"
 tacker_keystone_user: "tacker"
 
 openstack_tacker_auth: "{{ openstack_auth }}"
+
+###################
+# Kolla
+####################
+tacker_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
+tacker_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
+tacker_dev_mode: "{{ kolla_dev_mode }}"
diff --git a/ansible/roles/tacker/tasks/clone.yml b/ansible/roles/tacker/tasks/clone.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0f724ae0a9102ba1949be4742c4e38cf632a65d7
--- /dev/null
+++ b/ansible/roles/tacker/tasks/clone.yml
@@ -0,0 +1,6 @@
+---
+- name: Cloning source repositories for development
+  git:
+    repo: "{{ tacker_git_repository }}"
+    dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}"
+    update: "{{ tacker_dev_repos_pull }}"
diff --git a/ansible/roles/tacker/tasks/deploy.yml b/ansible/roles/tacker/tasks/deploy.yml
index 0b9233a0ae2d9011ecd555f6849a4f416d4e2ebb..382792cae174ca3629458e6bfc65b0fcce7ea0e9 100644
--- a/ansible/roles/tacker/tasks/deploy.yml
+++ b/ansible/roles/tacker/tasks/deploy.yml
@@ -6,6 +6,12 @@
   when: inventory_hostname in groups['tacker-server'] or
         inventory_hostname in groups['tacker-conductor']
 
+- include: clone.yml
+  when:
+    - tacker_dev_mode | bool
+    - inventory_hostname in groups['tacker-server'] or
+      inventory_hostname in groups['tacker-conductor']
+
 - include: bootstrap.yml
   when: inventory_hostname in groups['tacker-server']