diff --git a/ansible/roles/rabbitmq/tasks/deploy.yml b/ansible/roles/rabbitmq/tasks/deploy.yml
new file mode 100644
index 0000000000000000000000000000000000000000..98daa4021c80fe45b12c732676e385a820c53f78
--- /dev/null
+++ b/ansible/roles/rabbitmq/tasks/deploy.yml
@@ -0,0 +1,6 @@
+---
+- include: config.yml
+
+- include: bootstrap.yml
+
+- include: start.yml
diff --git a/ansible/roles/rabbitmq/tasks/main.yml b/ansible/roles/rabbitmq/tasks/main.yml
index 98daa4021c80fe45b12c732676e385a820c53f78..b017e8b4ad9edbc10e43b690b269d460e5b9b1f4 100644
--- a/ansible/roles/rabbitmq/tasks/main.yml
+++ b/ansible/roles/rabbitmq/tasks/main.yml
@@ -1,6 +1,2 @@
 ---
-- include: config.yml
-
-- include: bootstrap.yml
-
-- include: start.yml
+- include: "{{ action }}.yml"
diff --git a/ansible/roles/rabbitmq/tasks/pull.yml b/ansible/roles/rabbitmq/tasks/pull.yml
new file mode 100644
index 0000000000000000000000000000000000000000..55520a10a34646e6d36a06790238fe4e6613eeca
--- /dev/null
+++ b/ansible/roles/rabbitmq/tasks/pull.yml
@@ -0,0 +1,14 @@
+---
+- name: Pulling rabbitmq image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ rabbitmq_image_full }}"
+  when: inventory_hostname in groups['rabbitmq']
+
+- name: Pulling rabbitmq-data image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ rabbitmq_data_image_full }}"
+  when: inventory_hostname in groups['rabbitmq']