diff --git a/ansible/roles/common/tasks/deploy.yml b/ansible/roles/common/tasks/deploy.yml
new file mode 100644
index 0000000000..1f16915ad9
--- /dev/null
+++ b/ansible/roles/common/tasks/deploy.yml
@@ -0,0 +1,4 @@
+---
+- include: config.yml
+
+- include: start.yml
diff --git a/ansible/roles/common/tasks/main.yml b/ansible/roles/common/tasks/main.yml
index 1f16915ad9..b017e8b4ad 100644
--- a/ansible/roles/common/tasks/main.yml
+++ b/ansible/roles/common/tasks/main.yml
@@ -1,4 +1,2 @@
 ---
-- include: config.yml
-
-- include: start.yml
+- include: "{{ action }}.yml"
diff --git a/ansible/roles/common/tasks/pull.yml b/ansible/roles/common/tasks/pull.yml
new file mode 100644
index 0000000000..1bd963bb84
--- /dev/null
+++ b/ansible/roles/common/tasks/pull.yml
@@ -0,0 +1,12 @@
+---
+- name: Pulling rsyslog image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ rsyslog_image_full }}"
+
+- name: Pulling kolla-ansible image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ ansible_image_full }}"
diff --git a/tools/kolla-ansible b/tools/kolla-ansible
index d24941193e..7543b85442 100755
--- a/tools/kolla-ansible
+++ b/tools/kolla-ansible
@@ -34,6 +34,7 @@ Options:
 
 Commands:
     deploy  Deploy and start all kolla containers
+    pull    Pull all images for containers (only pulls, no runnnig container changes)
 EOF
 }
 
@@ -79,8 +80,12 @@ done
 case "$1" in
 
 (deploy)
-        ACTION="Deploying Playbook"
-        CMD="ansible-playbook -i $INVENTORY -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml $PLAYBOOK"
+        ACTION="Deploying Playbooks"
+        CMD="ansible-playbook -i $INVENTORY -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml $PLAYBOOK -e action=deploy"
+        ;;
+(pull)
+        ACTION="Pulling Docker images"
+        CMD="ansible-playbook -i $INVENTORY -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml $PLAYBOOK -e action=pull"
         ;;
 
 (*)     usage