diff --git a/ansible/roles/swift/tasks/deploy.yml b/ansible/roles/swift/tasks/deploy.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5b2e8a980b6cad4cfe5f2f05a01761e1529c86db
--- /dev/null
+++ b/ansible/roles/swift/tasks/deploy.yml
@@ -0,0 +1,18 @@
+---
+- include: register.yml
+  when: inventory_hostname in groups['swift-account-server'] or
+        inventory_hostname in groups['swift-container-server'] or
+        inventory_hostname in groups['swift-object-server'] or
+        inventory_hostname in groups['swift-proxy-server']
+
+- include: config.yml
+  when: inventory_hostname in groups['swift-account-server'] or
+        inventory_hostname in groups['swift-container-server'] or
+        inventory_hostname in groups['swift-object-server'] or
+        inventory_hostname in groups['swift-proxy-server']
+
+- include: start.yml
+  when: inventory_hostname in groups['swift-account-server'] or
+        inventory_hostname in groups['swift-container-server'] or
+        inventory_hostname in groups['swift-object-server'] or
+        inventory_hostname in groups['swift-proxy-server']
diff --git a/ansible/roles/swift/tasks/main.yml b/ansible/roles/swift/tasks/main.yml
index 5b2e8a980b6cad4cfe5f2f05a01761e1529c86db..b017e8b4ad9edbc10e43b690b269d460e5b9b1f4 100644
--- a/ansible/roles/swift/tasks/main.yml
+++ b/ansible/roles/swift/tasks/main.yml
@@ -1,18 +1,2 @@
 ---
-- include: register.yml
-  when: inventory_hostname in groups['swift-account-server'] or
-        inventory_hostname in groups['swift-container-server'] or
-        inventory_hostname in groups['swift-object-server'] or
-        inventory_hostname in groups['swift-proxy-server']
-
-- include: config.yml
-  when: inventory_hostname in groups['swift-account-server'] or
-        inventory_hostname in groups['swift-container-server'] or
-        inventory_hostname in groups['swift-object-server'] or
-        inventory_hostname in groups['swift-proxy-server']
-
-- include: start.yml
-  when: inventory_hostname in groups['swift-account-server'] or
-        inventory_hostname in groups['swift-container-server'] or
-        inventory_hostname in groups['swift-object-server'] or
-        inventory_hostname in groups['swift-proxy-server']
+- include: "{{ action }}.yml"
diff --git a/ansible/roles/swift/tasks/pull.yml b/ansible/roles/swift/tasks/pull.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f054bb20e93f95d900d40eab8bad786f87e5e57a
--- /dev/null
+++ b/ansible/roles/swift/tasks/pull.yml
@@ -0,0 +1,108 @@
+---
+- name: Pulling rsyncd image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_rsyncd_image_full }}"
+  when: inventory_hostname in groups['swift-account-server'] or
+        inventory_hostname in groups['swift-container-server'] or
+        inventory_hostname in groups['swift-object-server'] or
+        inventory_hostname in groups['swift-proxy-server']
+
+- name: Pulling swift-account-auditor image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_account_auditor_image_full }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Pulling swift-account-reaper image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_account_reaper_image_full }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Pulling swift-account-replicator image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_account_replicator_image_full }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Pulling swift-account-server image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_account_server_image_full }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Pulling swift-container-auditor image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_container_auditor_image_full }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Pulling swift-container-replicator image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_container_replicator_image_full }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Pulling swift-container-server image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_container_server_image_full }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Pulling swift-container-updater image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_container_updater_image_full }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Pulling swift-object-auditor image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_object_auditor_image_full }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Pulling swift-object-expirer image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_object_expirer_image_full }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Pulling swift-object-replicator image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_object_replicator_image_full }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Pulling swift-object-server image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_object_server_image_full }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Pulling swift-object-updater image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_object_updater_image_full }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Pulling swift-proxy-server image
+  kolla_docker:
+    action: "pull_image"
+    common_options: "{{ docker_common_options }}"
+    image: "{{ swift_proxy_server_image_full }}"
+  when: inventory_hostname in groups['swift-proxy-server']