diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml
index c65f3b7aec..9fd82472dc 100644
--- a/ansible/roles/manila/defaults/main.yml
+++ b/ansible/roles/manila/defaults/main.yml
@@ -11,6 +11,7 @@ manila_services:
       - "{{ node_config_directory }}/manila-api/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+      - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}"
   manila-scheduler:
     container_name: "manila_scheduler"
     group: "manila-scheduler"
@@ -20,6 +21,7 @@ manila_services:
       - "{{ node_config_directory }}/manila-scheduler/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+      - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}"
   manila-share:
     container_name: "manila_share"
     group: "manila-share"
@@ -31,6 +33,7 @@ manila_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "/run/:/run/:shared"
       - "kolla_logs:/var/log/kolla/"
+      - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}"
   manila-data:
     container_name: "manila_data"
     group: "manila-data"
@@ -42,6 +45,7 @@ manila_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "/run/:/run/:shared"
       - "kolla_logs:/var/log/kolla/"
+      - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}"
 
 
 #####################
@@ -138,3 +142,11 @@ manila_backends:
       - "CIFS"
 
 manila_enabled_backends: "{{ manila_backends|selectattr('enabled', 'equalto', true)|list }}"
+
+
+####################
+# Kolla
+####################
+manila_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
+manila_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
+manila_dev_mode: "{{ kolla_dev_mode }}"
diff --git a/ansible/roles/manila/tasks/bootstrap_service.yml b/ansible/roles/manila/tasks/bootstrap_service.yml
index 5f79880673..29cac2ac12 100644
--- a/ansible/roles/manila/tasks/bootstrap_service.yml
+++ b/ansible/roles/manila/tasks/bootstrap_service.yml
@@ -15,6 +15,6 @@
       BOOTSTRAP:
     name: "bootstrap_manila"
     restart_policy: "never"
-    volumes: "{{ manila_api.volumes }}"
+    volumes: "{{ manila_api.volumes|reject('equalto', '')|list }}"
   run_once: True
   delegate_to: "{{ groups[manila_api.group][0] }}"
diff --git a/ansible/roles/manila/tasks/clone.yml b/ansible/roles/manila/tasks/clone.yml
new file mode 100644
index 0000000000..9a9b43d232
--- /dev/null
+++ b/ansible/roles/manila/tasks/clone.yml
@@ -0,0 +1,6 @@
+---
+- name: Cloning manila source repository for development
+  git:
+    repo: "{{ manila_git_repository }}"
+    dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}"
+    update: "{{ manila_dev_repos_pull }}"
diff --git a/ansible/roles/manila/tasks/deploy.yml b/ansible/roles/manila/tasks/deploy.yml
index 95cde2076d..9b52ba0b97 100644
--- a/ansible/roles/manila/tasks/deploy.yml
+++ b/ansible/roles/manila/tasks/deploy.yml
@@ -13,6 +13,9 @@
     - (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool)
     - inventory_hostname in groups['manila-share']
 
+- include: clone.yml
+  when: manila_dev_mode | bool
+
 - include: register.yml
   when: inventory_hostname in groups['manila-api']