diff --git a/ansible/roles/swift/defaults/main.yml b/ansible/roles/swift/defaults/main.yml
index b5d33691c457001537cad7b6edd1e5e48adbfca7..5cfdb5f9bf25cbc39154f1c50c5fdeb5cae3a007 100644
--- a/ansible/roles/swift/defaults/main.yml
+++ b/ansible/roles/swift/defaults/main.yml
@@ -16,10 +16,34 @@ swift_account_server_image: "{{ docker_registry ~ '/' if docker_registry else ''
 swift_account_server_tag: "{{ openstack_release }}"
 swift_account_server_image_full: "{{ swift_account_server_image }}:{{ swift_account_server_tag }}"
 
+swift_account_auditor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-account-auditor"
+swift_account_auditor_tag: "{{ openstack_release }}"
+swift_account_auditor_image_full: "{{ swift_account_auditor_image }}:{{ swift_account_auditor_tag }}"
+
+swift_account_replicator_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-account-replicator"
+swift_account_replicator_tag: "{{ openstack_release }}"
+swift_account_replicator_image_full: "{{ swift_account_replicator_image }}:{{ swift_account_replicator_tag }}"
+
+swift_account_reaper_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-account-reaper"
+swift_account_reaper_tag: "{{ openstack_release }}"
+swift_account_reaper_image_full: "{{ swift_account_reaper_image }}:{{ swift_account_reaper_tag }}"
+
 swift_container_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-container-server"
 swift_container_server_tag: "{{ openstack_release }}"
 swift_container_server_image_full: "{{ swift_container_server_image }}:{{ swift_container_server_tag }}"
 
+swift_container_auditor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-container-auditor"
+swift_container_auditor_tag: "{{ openstack_release }}"
+swift_container_auditor_image_full: "{{ swift_container_auditor_image }}:{{ swift_container_auditor_tag }}"
+
+swift_container_replicator_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-container-replicator"
+swift_container_replicator_tag: "{{ openstack_release }}"
+swift_container_replicator_image_full: "{{ swift_container_replicator_image }}:{{ swift_container_replicator_tag }}"
+
+swift_container_updater_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-container-updater"
+swift_container_updater_tag: "{{ openstack_release }}"
+swift_container_updater_image_full: "{{ swift_container_updater_image }}:{{ swift_container_updater_tag }}"
+
 swift_object_auditor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-object-auditor"
 swift_object_auditor_tag: "{{ openstack_release }}"
 swift_object_auditor_image_full: "{{ swift_object_auditor_image }}:{{ swift_object_auditor_tag }}"
diff --git a/ansible/roles/swift/tasks/config.yml b/ansible/roles/swift/tasks/config.yml
index 6cec5f3f960442658473a6400543ea5da674e4ab..b48b51bd041f9ab0d938e31839abf8fc2d9628e6 100644
--- a/ansible/roles/swift/tasks/config.yml
+++ b/ansible/roles/swift/tasks/config.yml
@@ -42,6 +42,48 @@
     config_dest: "{{ node_config_directory }}/{{ service_name }}/account-server.conf"
   when: inventory_hostname in groups['swift-account-server']
 
+- include: ../../config.yml
+  vars:
+    service_name: "swift-account-auditor"
+    config_source:
+      - "roles/swift/templates/account-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/account-auditor.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/account-auditor.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-auditor.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-auditor.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/account-auditor.conf"
+  when: inventory_hostname in groups['swift-account-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-account-replicator"
+    config_source:
+      - "roles/swift/templates/account-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/account-replicator.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/account-replicator.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-replicator.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-replicator.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/account-replicator.conf"
+  when: inventory_hostname in groups['swift-account-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-account-reaper"
+    config_source:
+      - "roles/swift/templates/account-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/account-reaper.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/account-reaper.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-reaper.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/account-reaper.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/account-reaper.conf"
+  when: inventory_hostname in groups['swift-account-server']
+
 - include: ../../config.yml
   vars:
     service_name: "swift-container-server"
@@ -56,6 +98,48 @@
     config_dest: "{{ node_config_directory }}/{{ service_name }}/container-server.conf"
   when: inventory_hostname in groups['swift-container-server']
 
+- include: ../../config.yml
+  vars:
+    service_name: "swift-container-auditor"
+    config_source:
+      - "roles/swift/templates/container-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/container-auditor.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/container-auditor.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-auditor.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-auditor.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/container-auditor.conf"
+  when: inventory_hostname in groups['swift-container-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-container-replicator"
+    config_source:
+      - "roles/swift/templates/container-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/container-replicator.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/container-replicator.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-replicator.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-replicator.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/container-replicator.conf"
+  when: inventory_hostname in groups['swift-container-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-container-updater"
+    config_source:
+      - "roles/swift/templates/container-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/container-updater.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/container-updater.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-updater.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/container-updater.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/container-updater.conf"
+  when: inventory_hostname in groups['swift-container-server']
+
 - include: ../../config.yml
   vars:
     service_name: "swift-object-server"
@@ -70,6 +154,62 @@
     config_dest: "{{ node_config_directory }}/{{ service_name }}/object-server.conf"
   when: inventory_hostname in groups['swift-object-server']
 
+- include: ../../config.yml
+  vars:
+    service_name: "swift-object-auditor"
+    config_source:
+      - "roles/swift/templates/object-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/object-auditor.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/object-auditor.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-auditor.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-auditor.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/object-auditor.conf"
+  when: inventory_hostname in groups['swift-object-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-object-replicator"
+    config_source:
+      - "roles/swift/templates/object-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/object-replicator.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/object-replicator.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-replicator.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-replicator.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/object-replicator.conf"
+  when: inventory_hostname in groups['swift-object-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-object-updater"
+    config_source:
+      - "roles/swift/templates/object-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/object-updater.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/object-updater.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-updater.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-updater.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/object-updater.conf"
+  when: inventory_hostname in groups['swift-object-server']
+
+- include: ../../config.yml
+  vars:
+    service_name: "swift-object-expirer"
+    config_source:
+      - "roles/swift/templates/object-server.conf.j2"
+      - "/etc/kolla/config/global.conf"
+      - "/etc/kolla/config/swift/object-expirer.conf"
+    config_template_dest:
+      - "{{ node_templates_directory }}/{{ service_name }}/object-expirer.conf_minimal"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-expirer.conf_global"
+      - "{{ node_templates_directory }}/{{ service_name }}/object-expirer.conf_augment"
+    config_dest: "{{ node_config_directory }}/{{ service_name }}/object-expirer.conf"
+  when: inventory_hostname in groups['swift-object-server']
+
 - name: Copying over Swift ring files
   copy:
     src: "{{ item.src }}"
diff --git a/ansible/roles/swift/tasks/start.yml b/ansible/roles/swift/tasks/start.yml
index 854c4076b512152bcb043283bf7f7f1027137900..dd86fb2433cb40d4c4490a864ce80c1282da2290 100644
--- a/ansible/roles/swift/tasks/start.yml
+++ b/ansible/roles/swift/tasks/start.yml
@@ -65,6 +65,75 @@
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['swift-account-server']
 
+- name: Starting Swift Account Auditor container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_account_auditor
+    image: "{{ swift_account_auditor_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-auditor/:/opt/kolla/swift-account-auditor/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Starting Swift Account Replicator container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_account_replicator
+    image: "{{ swift_account_replicator_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-replicator/:/opt/kolla/swift-account-replicator/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-account-server']
+
+- name: Starting Swift Account Reaper container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_account_reaper
+    image: "{{ swift_account_reaper_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-reaper/:/opt/kolla/swift-account-reaper/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-account-server']
+
 - name: Starting Swift Container Server container
   docker:
     docker_api_version: "{{ docker_api_version }}"
@@ -88,6 +157,75 @@
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['swift-container-server']
 
+- name: Starting Swift Container Auditor container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_container_auditor
+    image: "{{ swift_container_auditor_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-auditor/:/opt/kolla/swift-container-auditor/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Starting Swift Container Replicator container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_container_replicator
+    image: "{{ swift_container_replicator_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-replicator/:/opt/kolla/swift-container-replicator/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-container-server']
+
+- name: Starting Swift Container Updater container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_container_updater
+    image: "{{ swift_container_updater_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-updater/:/opt/kolla/swift-container-updater/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-container-server']
+
 - name: Starting Swift Object Server container
   docker:
     docker_api_version: "{{ docker_api_version }}"
@@ -110,3 +248,95 @@
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['swift-object-server']
+
+- name: Starting Swift Object Auditor container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_object_auditor
+    image: "{{ swift_object_auditor_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-auditor/:/opt/kolla/swift-object-auditor/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Starting Swift Object Replicator container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_object_replicator
+    image: "{{ swift_object_replicator_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-replicator/:/opt/kolla/swift-object-replicator/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Starting Swift Object Updater container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_object_updater
+    image: "{{ swift_object_updater_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-updater/:/opt/kolla/swift-object-updater/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-object-server']
+
+- name: Starting Swift Object Expirer container
+  docker:
+    docker_api_version: "{{ docker_api_version }}"
+    net: host
+    pull: "{{ docker_pull_policy }}"
+    restart_policy: "{{ docker_restart_policy }}"
+    restart_policy_retry: "{{ docker_restart_policy_retry }}"
+    state: reloaded
+    registry: "{{ docker_registry }}"
+    username: "{{ docker_registry_username }}"
+    password: "{{ docker_registry_password }}"
+    insecure_registry: "{{ docker_insecure_registry }}"
+    name: swift_object_expirer
+    image: "{{ swift_object_expirer_image_full }}"
+    volumes:
+      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-expirer/:/opt/kolla/swift-object-expirer/:ro"
+    volumes_from:
+      - swift_data
+    env:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+  when: inventory_hostname in groups['swift-object-server']
diff --git a/ansible/roles/swift/templates/account-server.conf.j2 b/ansible/roles/swift/templates/account-server.conf.j2
index db7a63c6e978cded44a5622b3fe187b9a6992e21..0c78d2802b5d9d0304b159fbf6422e3ec921147f 100644
--- a/ansible/roles/swift/templates/account-server.conf.j2
+++ b/ansible/roles/swift/templates/account-server.conf.j2
@@ -9,3 +9,15 @@ pipeline = account-server
 
 [app:account-server]
 use = egg:swift#account
+
+{% if service_name == 'swift-account-auditor' %}
+[account-auditor]
+{% endif %}
+
+{% if service_name == 'swift-account-replicator' %}
+[account-replicator]
+{% endif %}
+
+{% if service_name == 'swift-account-reaper' %}
+[account-reaper]
+{% endif %}
diff --git a/ansible/roles/swift/templates/container-server.conf.j2 b/ansible/roles/swift/templates/container-server.conf.j2
index 2baf9b72ce0caab5a59d71f380b090a2cd77a12a..83f827545ced878c74421e345cd1c7f3be3623ce 100644
--- a/ansible/roles/swift/templates/container-server.conf.j2
+++ b/ansible/roles/swift/templates/container-server.conf.j2
@@ -9,3 +9,15 @@ pipeline = container-server
 
 [app:container-server]
 use = egg:swift#container
+
+{% if service_name == 'swift-container-auditor' %}
+[container-auditor]
+{% endif %}
+
+{% if service_name == 'swift-container-replicator' %}
+[container-replicator]
+{% endif %}
+
+{% if service_name == 'swift-container-updater' %}
+[container-updater]
+{% endif %}
diff --git a/ansible/roles/swift/templates/object-server.conf.j2 b/ansible/roles/swift/templates/object-server.conf.j2
index 3f36d5e72185aa3f8abbf8d87fd32ac8b8c9f201..9d27be64a3dc3e1976a6e7c86646da5351116bdc 100644
--- a/ansible/roles/swift/templates/object-server.conf.j2
+++ b/ansible/roles/swift/templates/object-server.conf.j2
@@ -5,7 +5,30 @@ devices = {{ swift_devices_mount_point }}
 mount_check = false
 
 [pipeline:main]
+{% if service_name == 'swift-object-expirer' %}
+pipeline = proxy-server
+{% else %}
 pipeline = object-server
+{% endif %}
 
 [app:object-server]
 use = egg:swift#object
+
+{% if service_name == 'swift-object-auditor' %}
+[object-auditor]
+{% endif %}
+
+{% if service_name == 'swift-object-replicator' %}
+[object-replicator]
+{% endif %}
+
+{% if service_name == 'swift-object-updater' %}
+[object-updater]
+{% endif %}
+
+{% if service_name == 'swift-object-expirer' %}
+[object-expirer]
+
+[app:proxy-server]
+use = egg:swift#proxy
+{% endif %}
diff --git a/docker/swift/swift-account-auditor/Dockerfile.j2 b/docker/swift/swift-account-auditor/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..7320de9f415b74b433ecd0dde1d0ef9370bf49a9
--- /dev/null
+++ b/docker/swift/swift-account-auditor/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-account \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-account-auditor/config-external.sh b/docker/swift/swift-account-auditor/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..955d75341ce1cbaedeaa605ec2452c371963806d
--- /dev/null
+++ b/docker/swift/swift-account-auditor/config-external.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [[ -f /opt/kolla/swift/swift.conf ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/
+    chown swift: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then
+    cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz
+    chown swift: /etc/swift/account.ring.gz
+    chmod 0640 /etc/swift/account.ring.gz
+fi
+
+if [[ -f /opt/kolla/swift-account-auditor/account-auditor.conf ]]; then
+    cp /opt/kolla/swift-account-auditor/account-auditor.conf /etc/swift/
+    chown swift: /etc/swift/account-auditor.conf
+    chmod 0640 /etc/swift/account-auditor.conf
+fi
diff --git a/docker/swift/swift-account-auditor/start.sh b/docker/swift/swift-account-auditor/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c83000da11581679af32ab06f96803f174418cdc
--- /dev/null
+++ b/docker/swift/swift-account-auditor/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-account-auditor"
+ARGS="/etc/swift/account-auditor.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-account-reaper/Dockerfile.j2 b/docker/swift/swift-account-reaper/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..7320de9f415b74b433ecd0dde1d0ef9370bf49a9
--- /dev/null
+++ b/docker/swift/swift-account-reaper/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-account \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-account-reaper/config-external.sh b/docker/swift/swift-account-reaper/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..dc2055ab31b37aa92bd44b7d15ba208b9f1a554a
--- /dev/null
+++ b/docker/swift/swift-account-reaper/config-external.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [[ -f /opt/kolla/swift/swift.conf ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/
+    chown swift: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then
+    cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz
+    chown swift: /etc/swift/account.ring.gz
+    chmod 0640 /etc/swift/account.ring.gz
+fi
+
+if [[ -f /opt/kolla/swift-account-reaper/account-reaper.conf ]]; then
+    cp /opt/kolla/swift-account-reaper/account-reaper.conf /etc/swift/
+    chown swift: /etc/swift/account-reaper.conf
+    chmod 0640 /etc/swift/account-reaper.conf
+fi
diff --git a/docker/swift/swift-account-reaper/start.sh b/docker/swift/swift-account-reaper/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fb6dcfe367eb8df0669b773427ecfd663cde1228
--- /dev/null
+++ b/docker/swift/swift-account-reaper/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-account-reaper"
+ARGS="/etc/swift/account-reaper.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-account-replicator/Dockerfile.j2 b/docker/swift/swift-account-replicator/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..7320de9f415b74b433ecd0dde1d0ef9370bf49a9
--- /dev/null
+++ b/docker/swift/swift-account-replicator/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-account \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-account-replicator/config-external.sh b/docker/swift/swift-account-replicator/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..062c524f25d38ef074a1638c38ab9d48e4aa9e30
--- /dev/null
+++ b/docker/swift/swift-account-replicator/config-external.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [[ -f /opt/kolla/swift/swift.conf ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/
+    chown swift: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then
+    cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz
+    chown swift: /etc/swift/account.ring.gz
+    chmod 0640 /etc/swift/account.ring.gz
+fi
+
+if [[ -f /opt/kolla/swift-account-replicator/account-replicator.conf ]]; then
+    cp /opt/kolla/swift-account-replicator/account-replicator.conf /etc/swift/
+    chown swift: /etc/swift/account-replicator.conf
+    chmod 0640 /etc/swift/account-replicator.conf
+fi
diff --git a/docker/swift/swift-account-replicator/start.sh b/docker/swift/swift-account-replicator/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c820209e26f9868777715e0b0b1541612b4c8c28
--- /dev/null
+++ b/docker/swift/swift-account-replicator/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-account-replicator"
+ARGS="/etc/swift/account-replicator.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-container-auditor/Dockerfile.j2 b/docker/swift/swift-container-auditor/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1a08c0f5dce9c62980514dce02a5795a4f9d2262
--- /dev/null
+++ b/docker/swift/swift-container-auditor/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-container \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-container-auditor/config-external.sh b/docker/swift/swift-container-auditor/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e01cc12ae30450572e1d61beb18fc6ea4dbdad40
--- /dev/null
+++ b/docker/swift/swift-container-auditor/config-external.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+OWNER="swift"
+
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift-container-auditor/container-auditor.conf" ]]; then
+    cp /opt/kolla/swift-container-auditor/container-auditor.conf /etc/swift/container-auditor.conf
+    chown ${OWNER}: /etc/swift/container-auditor.conf
+    chmod 0640 /etc/swift/container-auditor.conf
+fi
diff --git a/docker/swift/swift-container-auditor/start.sh b/docker/swift/swift-container-auditor/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..27dfd0e6bd8f8e1a6d2d71496ca3a24bb442ff28
--- /dev/null
+++ b/docker/swift/swift-container-auditor/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-container-auditor"
+ARGS="/etc/swift/container-auditor.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-container-replicator/Dockerfile.j2 b/docker/swift/swift-container-replicator/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1a08c0f5dce9c62980514dce02a5795a4f9d2262
--- /dev/null
+++ b/docker/swift/swift-container-replicator/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-container \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-container-replicator/config-external.sh b/docker/swift/swift-container-replicator/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..439d4ae97a58e9aefa874ae0a954691313a95c32
--- /dev/null
+++ b/docker/swift/swift-container-replicator/config-external.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+OWNER="swift"
+
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift-container-replicator/container-replicator.conf" ]]; then
+    cp /opt/kolla/swift-container-replicator/container-replicator.conf /etc/swift/container-replicator.conf
+    chown ${OWNER}: /etc/swift/container-replicator.conf
+    chmod 0640 /etc/swift/container-replicator.conf
+fi
diff --git a/docker/swift/swift-container-replicator/start.sh b/docker/swift/swift-container-replicator/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b110ab8af87d426b55ca2270410521fc19942906
--- /dev/null
+++ b/docker/swift/swift-container-replicator/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-container-replicator"
+ARGS="/etc/swift/container-replicator.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-container-updater/Dockerfile.j2 b/docker/swift/swift-container-updater/Dockerfile.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1a08c0f5dce9c62980514dce02a5795a4f9d2262
--- /dev/null
+++ b/docker/swift/swift-container-updater/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-container \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
+
+{{ include_footer }}
diff --git a/docker/swift/swift-container-updater/config-external.sh b/docker/swift/swift-container-updater/config-external.sh
new file mode 100644
index 0000000000000000000000000000000000000000..ea2d3b781acaaf6c73d04dede835a251570e92e4
--- /dev/null
+++ b/docker/swift/swift-container-updater/config-external.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+OWNER="swift"
+
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then
+    cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz
+    chown swift: /etc/swift/account.ring.gz
+    chmod 0640 /etc/swift/account.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift-container-updater/container-updater.conf" ]]; then
+    cp /opt/kolla/swift-container-updater/container-updater.conf /etc/swift/container-updater.conf
+    chown ${OWNER}: /etc/swift/container-updater.conf
+    chmod 0640 /etc/swift/container-updater.conf
+fi
diff --git a/docker/swift/swift-container-updater/start.sh b/docker/swift/swift-container-updater/start.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d2fe2eb8ca56a7855ea15ff830d670ff9c4fbac4
--- /dev/null
+++ b/docker/swift/swift-container-updater/start.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+
+CMD="/usr/bin/swift-container-updater"
+ARGS="/etc/swift/container-updater.conf --verbose"
+
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
+
+# Execute config strategy
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/swift/swift-object-auditor/config-external.sh b/docker/swift/swift-object-auditor/config-external.sh
index 0fa02e9855ab122fc7c2e38dd4eb5ec4c9eca7eb..02be86bfd572f31af0b3902d44e76cab6b967bf9 100644
--- a/docker/swift/swift-object-auditor/config-external.sh
+++ b/docker/swift/swift-object-auditor/config-external.sh
@@ -1,18 +1,27 @@
 #!/bin/bash
-SOURCE="/opt/kolla/swift/swift.conf"
-TARGET="/etc/swift/swift.conf"
-SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf"
-TARGET_OBJECT_SERVER="/etc/swift/object-server.conf"
+
 OWNER="swift"
 
-if [[ -f "$SOURCE" ]]; then
-    cp $SOURCE $TARGET
-    chown ${OWNER}: $TARGET
-    chmod 0640 $TARGET
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then
+    cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz
+    chown ${OWNER}: /etc/swift/object.ring.gz
+    chmod 0640 /etc/swift/object.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
 fi
 
-if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then
-    cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER
-    chown ${OWNER}: $TARGET_OBJECT_SERVER
-    chmod 0640 $TARGET_OBJECT_SERVER
+if [[ -f "/opt/kolla/swift-object-auditor/object-auditor.conf" ]]; then
+    cp /opt/kolla/swift-object-auditor/object-auditor.conf /etc/swift/object-auditor.conf
+    chown ${OWNER}: /etc/swift/object-auditor.conf
+    chmod 0640 /etc/swift/object-auditor.conf
 fi
diff --git a/docker/swift/swift-object-auditor/start.sh b/docker/swift/swift-object-auditor/start.sh
index 6319eed6bdd4b2a79981a8fa2e1959483e646e42..0f0111a8e3d699c265cfe2634f4be14c5d750196 100755
--- a/docker/swift/swift-object-auditor/start.sh
+++ b/docker/swift/swift-object-auditor/start.sh
@@ -3,13 +3,11 @@
 set -o errexit
 
 CMD="/usr/bin/swift-object-auditor"
-ARGS="/etc/swift/object-server.conf --verbose"
+ARGS="/etc/swift/object-auditor.conf --verbose"
 
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-source /opt/kolla/config-swift.sh
-
 # Execute config strategy
 set_configs
 
diff --git a/docker/swift/swift-object-expirer/config-external.sh b/docker/swift/swift-object-expirer/config-external.sh
index ff2bcf9f5fd31480d6465e34171245d206438978..51fe26618d77faab091863f560e824b56464a22b 100644
--- a/docker/swift/swift-object-expirer/config-external.sh
+++ b/docker/swift/swift-object-expirer/config-external.sh
@@ -1,18 +1,33 @@
 #!/bin/bash
-SOURCE="/opt/kolla/swift/swift.conf"
-TARGET="/etc/swift/swift.conf"
-SOURCE_OBJECT_EXPIRER="/opt/kolla/swift/object-expirer.conf"
-TARGET_OBJECT_EXPIRER="/etc/swift/object-expirer.conf"
+
 OWNER="swift"
 
-if [[ -f "$SOURCE" ]]; then
-    cp $SOURCE $TARGET
-    chown ${OWNER}: $TARGET
-    chmod 0640 $TARGET
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then
+    cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz
+    chown ${OWNER}: /etc/swift/object.ring.gz
+    chmod 0640 /etc/swift/object.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/account.ring.gz" ]]; then
+    cp /opt/kolla/swift/account.ring.gz /etc/swift/account.ring.gz
+    chown ${OWNER}: /etc/swift/account.ring.gz
+    chmod 0640 /etc/swift/account.ring.gz
 fi
 
-if [[ -f "$SOURCE_OBJECT_EXPIRER" ]]; then
-    cp $SOURCE_OBJECT_EXPIRER $TARGET_OBJECT_EXPIRER
-    chown ${OWNER}: $TARGET_OBJECT_EXPIRER
-    chmod 0640 $TARGET_OBJECT_EXPIRER
+if [[ -f "/opt/kolla/swift-object-expirer/object-expirer.conf" ]]; then
+    cp /opt/kolla/swift-object-expirer/object-expirer.conf /etc/swift/object-expirer.conf
+    chown ${OWNER}: /etc/swift/object-expirer.conf
+    chmod 0640 /etc/swift/object-expirer.conf
 fi
diff --git a/docker/swift/swift-object-expirer/start.sh b/docker/swift/swift-object-expirer/start.sh
index 434e8dc499e95f33f1310f7355da04683408d038..366525d1188eb074d233a2a15f06b7f26e4b32c9 100755
--- a/docker/swift/swift-object-expirer/start.sh
+++ b/docker/swift/swift-object-expirer/start.sh
@@ -3,13 +3,11 @@
 set -o errexit
 
 CMD="/usr/bin/swift-object-expirer"
-ARGS="/etc/swift/object-server.conf --verbose"
+ARGS="/etc/swift/object-expirer.conf --verbose"
 
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-source /opt/kolla/config-swift.sh
-
 # Execute config strategy
 set_configs
 
diff --git a/docker/swift/swift-object-replicator/config-external.sh b/docker/swift/swift-object-replicator/config-external.sh
index 0fa02e9855ab122fc7c2e38dd4eb5ec4c9eca7eb..827721088155a3766f868d14074cb1d3d773dd85 100644
--- a/docker/swift/swift-object-replicator/config-external.sh
+++ b/docker/swift/swift-object-replicator/config-external.sh
@@ -1,18 +1,27 @@
 #!/bin/bash
-SOURCE="/opt/kolla/swift/swift.conf"
-TARGET="/etc/swift/swift.conf"
-SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf"
-TARGET_OBJECT_SERVER="/etc/swift/object-server.conf"
+
 OWNER="swift"
 
-if [[ -f "$SOURCE" ]]; then
-    cp $SOURCE $TARGET
-    chown ${OWNER}: $TARGET
-    chmod 0640 $TARGET
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then
+    cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz
+    chown ${OWNER}: /etc/swift/object.ring.gz
+    chmod 0640 /etc/swift/object.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
 fi
 
-if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then
-    cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER
-    chown ${OWNER}: $TARGET_OBJECT_SERVER
-    chmod 0640 $TARGET_OBJECT_SERVER
+if [[ -f "/opt/kolla/swift-object-replicator/object-replicator.conf" ]]; then
+    cp /opt/kolla/swift-object-replicator/object-replicator.conf /etc/swift/object-replicator.conf
+    chown ${OWNER}: /etc/swift/object-replicator.conf
+    chmod 0640 /etc/swift/object-replicator.conf
 fi
diff --git a/docker/swift/swift-object-replicator/start.sh b/docker/swift/swift-object-replicator/start.sh
index 203f8864d1c1f3a99a81a633b9620738255a12a0..dbb1424990a1f1b3c0baf1f6b3c639738793a671 100755
--- a/docker/swift/swift-object-replicator/start.sh
+++ b/docker/swift/swift-object-replicator/start.sh
@@ -3,13 +3,11 @@
 set -o errexit
 
 CMD="/usr/bin/swift-object-replicator"
-ARGS="/etc/swift/object-server.conf --verbose"
+ARGS="/etc/swift/object-replicator.conf --verbose"
 
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-source /opt/kolla/config-swift.sh
-
 # Execute config strategy
 set_configs
 
diff --git a/docker/swift/swift-object-updater/config-external.sh b/docker/swift/swift-object-updater/config-external.sh
index 0fa02e9855ab122fc7c2e38dd4eb5ec4c9eca7eb..b94844476b48c2f41446a5dfb995cbf444daf65c 100644
--- a/docker/swift/swift-object-updater/config-external.sh
+++ b/docker/swift/swift-object-updater/config-external.sh
@@ -1,18 +1,27 @@
 #!/bin/bash
-SOURCE="/opt/kolla/swift/swift.conf"
-TARGET="/etc/swift/swift.conf"
-SOURCE_OBJECT_SERVER="/opt/kolla/swift/object-server.conf"
-TARGET_OBJECT_SERVER="/etc/swift/object-server.conf"
+
 OWNER="swift"
 
-if [[ -f "$SOURCE" ]]; then
-    cp $SOURCE $TARGET
-    chown ${OWNER}: $TARGET
-    chmod 0640 $TARGET
+if [[ -f "/opt/kolla/swift/swift.conf" ]]; then
+    cp /opt/kolla/swift/swift.conf /etc/swift/swift.conf
+    chown ${OWNER}: /etc/swift/swift.conf
+    chmod 0640 /etc/swift/swift.conf
+fi
+
+if [[ -f "/opt/kolla/swift/object.ring.gz" ]]; then
+    cp /opt/kolla/swift/object.ring.gz /etc/swift/object.ring.gz
+    chown ${OWNER}: /etc/swift/object.ring.gz
+    chmod 0640 /etc/swift/object.ring.gz
+fi
+
+if [[ -f "/opt/kolla/swift/container.ring.gz" ]]; then
+    cp /opt/kolla/swift/container.ring.gz /etc/swift/container.ring.gz
+    chown ${OWNER}: /etc/swift/container.ring.gz
+    chmod 0640 /etc/swift/container.ring.gz
 fi
 
-if [[ -f "$SOURCE_OBJECT_SERVER" ]]; then
-    cp $SOURCE_OBJECT_SERVER $TARGET_OBJECT_SERVER
-    chown ${OWNER}: $TARGET_OBJECT_SERVER
-    chmod 0640 $TARGET_OBJECT_SERVER
+if [[ -f "/opt/kolla/swift-object-updater/object-updater.conf" ]]; then
+    cp /opt/kolla/swift-object-updater/object-updater.conf /etc/swift/object-updater.conf
+    chown ${OWNER}: /etc/swift/object-updater.conf
+    chmod 0640 /etc/swift/object-updater.conf
 fi
diff --git a/docker/swift/swift-object-updater/start.sh b/docker/swift/swift-object-updater/start.sh
index 744344f74c6c2053bf3a7075c3fb24345dc86485..5e970b416512f90759c1b79760e05456bb1a0b02 100755
--- a/docker/swift/swift-object-updater/start.sh
+++ b/docker/swift/swift-object-updater/start.sh
@@ -3,13 +3,11 @@
 set -o errexit
 
 CMD="/usr/bin/swift-object-updater"
-ARGS="/etc/swift/object-server.conf --verbose"
+ARGS="/etc/swift/object-updater.conf --verbose"
 
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-source /opt/kolla/config-swift.sh
-
 # Execute config strategy
 set_configs
 
diff --git a/etc/kolla/config/swift/account-auditor.conf b/etc/kolla/config/swift/account-auditor.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/account-reaper.conf b/etc/kolla/config/swift/account-reaper.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/account-replicator.conf b/etc/kolla/config/swift/account-replicator.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/container-auditor.conf b/etc/kolla/config/swift/container-auditor.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/container-replicator.conf b/etc/kolla/config/swift/container-replicator.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/container-updater.conf b/etc/kolla/config/swift/container-updater.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/object-auditor.conf b/etc/kolla/config/swift/object-auditor.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/object-expirer.conf b/etc/kolla/config/swift/object-expirer.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/object-replicator.conf b/etc/kolla/config/swift/object-replicator.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/etc/kolla/config/swift/object-updater.conf b/etc/kolla/config/swift/object-updater.conf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391