From 94162bd08f40ec742a7bfcdcd4aac45be5bd5618 Mon Sep 17 00:00:00 2001
From: Sam Yaple <sam@yaple.net>
Date: Thu, 1 Oct 2015 07:43:18 +0000
Subject: [PATCH] Bring Kolla inline with FHS

This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
---
 ansible/group_vars/all.yml                    |  1 +
 ansible/roles/ceph/tasks/bootstrap_osds.yml   |  2 +-
 ansible/roles/ceph/tasks/generate_cluster.yml |  2 +-
 ansible/roles/ceph/tasks/start_mons.yml       |  2 +-
 ansible/roles/ceph/tasks/start_osds.yml       |  2 +-
 ansible/roles/ceph/templates/ceph-mon.json.j2 |  8 +--
 ansible/roles/ceph/templates/ceph-osd.json.j2 |  4 +-
 ansible/roles/cinder/tasks/bootstrap.yml      |  2 +-
 ansible/roles/cinder/tasks/start.yml          |  8 +--
 .../roles/cinder/templates/cinder-api.json.j2 |  2 +-
 .../cinder/templates/cinder-backup.json.j2    |  2 +-
 .../cinder/templates/cinder-scheduler.json.j2 |  2 +-
 .../cinder/templates/cinder-volume.json.j2    |  6 +-
 ansible/roles/common/tasks/start.yml          |  2 +-
 .../roles/common/templates/rsyslog.json.j2    |  2 +-
 ansible/roles/glance/tasks/bootstrap.yml      |  2 +-
 ansible/roles/glance/tasks/start.yml          |  4 +-
 .../roles/glance/templates/glance-api.json.j2 |  6 +-
 .../glance/templates/glance-registry.json.j2  |  2 +-
 ansible/roles/haproxy/tasks/start.yml         |  6 +-
 .../roles/haproxy/templates/haproxy.json.j2   |  2 +-
 .../haproxy/templates/keepalived.json.j2      |  2 +-
 ansible/roles/heat/tasks/bootstrap.yml        |  2 +-
 ansible/roles/heat/tasks/start.yml            |  6 +-
 .../roles/heat/templates/heat-api-cfn.json.j2 |  2 +-
 ansible/roles/heat/templates/heat-api.json.j2 |  2 +-
 .../roles/heat/templates/heat-engine.json.j2  |  2 +-
 ansible/roles/horizon/tasks/start.yml         |  2 +-
 .../roles/horizon/templates/horizon.json.j2   |  4 +-
 ansible/roles/ironic/tasks/bootstrap.yml      |  2 +-
 ansible/roles/ironic/tasks/start.yml          |  8 +--
 .../roles/ironic/templates/ironic-api.json.j2 |  2 +-
 .../ironic/templates/ironic-conductor.json.j2 |  2 +-
 .../ironic/templates/ironic-discoverd.json.j2 |  2 +-
 ansible/roles/keystone/tasks/bootstrap.yml    |  2 +-
 ansible/roles/keystone/tasks/start.yml        |  2 +-
 .../roles/keystone/templates/keystone.json.j2 |  4 +-
 ansible/roles/mariadb/tasks/bootstrap.yml     |  2 +-
 ansible/roles/mariadb/tasks/start.yml         |  2 +-
 .../roles/mariadb/templates/mariadb.json.j2   |  2 +-
 ansible/roles/memcached/tasks/start.yml       |  2 +-
 ansible/roles/murano/tasks/bootstrap.yml      |  2 +-
 ansible/roles/murano/tasks/start.yml          |  4 +-
 .../roles/murano/templates/murano-api.json.j2 |  2 +-
 .../murano/templates/murano-engine.json.j2    |  2 +-
 ansible/roles/neutron/tasks/bootstrap.yml     |  2 +-
 ansible/roles/neutron/tasks/start.yml         | 14 ++---
 .../neutron/templates/neutron-agents.json.j2  | 12 ++--
 .../neutron-linuxbridge-agent.json.j2         |  4 +-
 .../neutron-openvswitch-agent.json.j2         |  4 +-
 .../neutron/templates/neutron-server.json.j2  |  4 +-
 ansible/roles/nova/tasks/bootstrap.yml        |  2 +-
 ansible/roles/nova/tasks/start.yml            | 14 ++---
 ansible/roles/nova/templates/nova-api.json.j2 |  2 +-
 .../roles/nova/templates/nova-compute.json.j2 |  6 +-
 .../nova/templates/nova-conductor.json.j2     |  2 +-
 .../nova/templates/nova-consoleauth.json.j2   |  2 +-
 .../roles/nova/templates/nova-libvirt.json.j2 |  6 +-
 .../roles/nova/templates/nova-network.json.j2 |  2 +-
 .../nova/templates/nova-novncproxy.json.j2    |  2 +-
 .../nova/templates/nova-scheduler.json.j2     |  2 +-
 ansible/roles/rabbitmq/tasks/bootstrap.yml    |  2 +-
 ansible/roles/rabbitmq/tasks/start.yml        |  2 +-
 .../roles/rabbitmq/templates/rabbitmq.json.j2 |  4 +-
 ansible/roles/swift/tasks/start.yml           | 58 +++++++++----------
 .../templates/swift-account-auditor.json.j2   |  6 +-
 .../templates/swift-account-reaper.json.j2    |  6 +-
 .../swift-account-replicator.json.j2          |  6 +-
 .../templates/swift-account-server.json.j2    |  6 +-
 .../templates/swift-container-auditor.json.j2 |  6 +-
 .../swift-container-replicator.json.j2        |  6 +-
 .../templates/swift-container-server.json.j2  |  6 +-
 .../templates/swift-container-updater.json.j2 |  8 +--
 .../templates/swift-object-auditor.json.j2    |  8 +--
 .../templates/swift-object-expirer.json.j2    | 10 ++--
 .../templates/swift-object-replicator.json.j2 |  8 +--
 .../templates/swift-object-server.json.j2     |  8 +--
 .../templates/swift-object-updater.json.j2    |  8 +--
 .../templates/swift-proxy-server.json.j2      | 10 ++--
 .../swift/templates/swift-rsyncd.json.j2      |  2 +-
 docker/base/Dockerfile.j2                     |  5 +-
 docker/base/set_configs.py                    |  2 +-
 docker/base/start.sh                          |  2 +-
 .../ceilometer-alarm/config-external.sh       |  2 +-
 .../ceilometer-api/config-external.sh         |  2 +-
 .../ceilometer-central/config-external.sh     |  2 +-
 .../ceilometer-collector/config-external.sh   |  2 +-
 .../ceilometer-compute/config-external.sh     |  2 +-
 .../config-external.sh                        |  2 +-
 .../designate-api/config-external.sh          |  2 +-
 .../designate-backend-bind9/Dockerfile.j2     |  3 +-
 .../config-external.sh                        |  2 +-
 .../designate-central/config-external.sh      |  2 +-
 .../designate-mdns/config-external.sh         |  2 +-
 .../designate-poolmanager/config-external.sh  |  2 +-
 .../designate-sink/config-external.sh         |  2 +-
 docker/gnocchi/gnocchi-api/config-external.sh |  2 +-
 .../gnocchi/gnocchi-statsd/config-external.sh |  2 +-
 docker/haproxy/Dockerfile.j2                  |  8 +--
 docker/haproxy/ensure_latest_config.sh        |  4 +-
 docker/ironic/ironic-api/config-external.sh   |  2 +-
 docker/magnum/magnum-api/config-external.sh   |  2 +-
 .../magnum-conductor/config-external.sh       |  2 +-
 docker/neutron/neutron-agents/Dockerfile.j2   |  8 +--
 .../neutron-dhcp-agent/start.sh               |  2 +-
 .../neutron-agents/neutron-l3-agent/start.sh  |  2 +-
 .../neutron-metadata-agent/start.sh           |  2 +-
 docker/neutron/neutron-agents/start.sh        |  4 +-
 .../neutron/neutron-agents/supervisord.conf   |  6 +-
 docker/neutron/neutron-base/ip_wrapper.py     |  6 +-
 .../openvswitch-vswitchd/Dockerfile.j2        |  5 +-
 docker/swift/swift-base/Dockerfile.j2         |  3 +-
 .../swift/swift-proxy-server/extend_start.sh  |  2 +-
 docker/zaqar/config-external.sh               |  2 +-
 114 files changed, 241 insertions(+), 242 deletions(-)

diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index 3f3072d1ca..4add08a1b4 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -9,6 +9,7 @@ docker_api_version: "1.18"
 # to the fact that ansible will register a "change" if it has to create them
 # again. Persistent files allow for idempotency
 node_templates_directory: "/usr/share/kolla/templates"
+container_config_directory: "/var/lib/kolla/config_files"
 
 # The directory to store the config files on the destination node
 node_config_directory: "/etc/kolla"
diff --git a/ansible/roles/ceph/tasks/bootstrap_osds.yml b/ansible/roles/ceph/tasks/bootstrap_osds.yml
index 1909db27f5..3e2095008d 100644
--- a/ansible/roles/ceph/tasks/bootstrap_osds.yml
+++ b/ansible/roles/ceph/tasks/bootstrap_osds.yml
@@ -20,7 +20,7 @@
     name: "bootstrap_osd_{{ item.0 }}"
     image: "{{ ceph_osd_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/ceph-osd/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
       - "/dev/:/dev/"
     env:
       KOLLA_BOOTSTRAP:
diff --git a/ansible/roles/ceph/tasks/generate_cluster.yml b/ansible/roles/ceph/tasks/generate_cluster.yml
index 5e4e7c560b..4f51dd3641 100644
--- a/ansible/roles/ceph/tasks/generate_cluster.yml
+++ b/ansible/roles/ceph/tasks/generate_cluster.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: ceph_mon
     image: "{{ ceph_mon_image_full }}"
-    volumes: "{{ node_config_directory }}/ceph-mon/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "ceph_mon_data"
     env:
diff --git a/ansible/roles/ceph/tasks/start_mons.yml b/ansible/roles/ceph/tasks/start_mons.yml
index f8f06d84ed..8e2e44402b 100644
--- a/ansible/roles/ceph/tasks/start_mons.yml
+++ b/ansible/roles/ceph/tasks/start_mons.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: ceph_mon
     image: "{{ ceph_mon_image_full }}"
-    volumes: "{{ node_config_directory }}/ceph-mon/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "ceph_mon_data"
     env:
diff --git a/ansible/roles/ceph/tasks/start_osds.yml b/ansible/roles/ceph/tasks/start_osds.yml
index f10c575260..37011f3555 100644
--- a/ansible/roles/ceph/tasks/start_osds.yml
+++ b/ansible/roles/ceph/tasks/start_osds.yml
@@ -37,7 +37,7 @@
     image: "{{ ceph_osd_image_full }}"
     volumes:
       - "/var/lib/ceph/osd/{{ item.1.fs_uuid }}:/var/lib/ceph/osd/ceph-{{ item.0.stdout }}"
-      - "{{ node_config_directory }}/ceph-osd/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
       - "/dev/:/dev/"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/ceph/templates/ceph-mon.json.j2 b/ansible/roles/ceph/templates/ceph-mon.json.j2
index 0580261f90..c4de81b8a0 100644
--- a/ansible/roles/ceph/templates/ceph-mon.json.j2
+++ b/ansible/roles/ceph/templates/ceph-mon.json.j2
@@ -2,27 +2,27 @@
     "command": "/usr/bin/ceph-mon -d -i {{ ansible_hostname }} --public-addr {{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}:6789",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "ceph",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.client.admin.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
             "dest": "/etc/ceph/ceph.client.admin.keyring",
             "owner": "ceph",
             "perm": "0600",
             "optional": "True"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.client.mon.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.mon.keyring",
             "dest": "/etc/ceph/ceph.client.mon.keyring",
             "owner": "ceph",
             "perm": "0600",
             "optional": "True"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.monmap",
+            "source": "{{ container_config_directory }}/ceph.monmap",
             "dest": "/etc/ceph/ceph.monmap",
             "owner": "ceph",
             "perm": "0600",
diff --git a/ansible/roles/ceph/templates/ceph-osd.json.j2 b/ansible/roles/ceph/templates/ceph-osd.json.j2
index 831d8085fe..d012808ce7 100644
--- a/ansible/roles/ceph/templates/ceph-osd.json.j2
+++ b/ansible/roles/ceph/templates/ceph-osd.json.j2
@@ -2,13 +2,13 @@
     "command": "/usr/bin/ceph-osd -f -d",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "ceph",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.client.admin.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.admin.keyring",
             "dest": "/etc/ceph/ceph.client.admin.keyring",
             "owner": "ceph",
             "perm": "0600"
diff --git a/ansible/roles/cinder/tasks/bootstrap.yml b/ansible/roles/cinder/tasks/bootstrap.yml
index 3d1e633562..18960731b7 100644
--- a/ansible/roles/cinder/tasks/bootstrap.yml
+++ b/ansible/roles/cinder/tasks/bootstrap.yml
@@ -57,7 +57,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_cinder
     image: "{{ cinder_api_image_full }}"
-    volumes: "{{ node_config_directory }}/cinder-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro"
     volumes_from:
      - cinder_data
     env:
diff --git a/ansible/roles/cinder/tasks/start.yml b/ansible/roles/cinder/tasks/start.yml
index a85d64097c..d75c901805 100644
--- a/ansible/roles/cinder/tasks/start.yml
+++ b/ansible/roles/cinder/tasks/start.yml
@@ -13,7 +13,7 @@
     name: cinder_api
     image: "{{ cinder_api_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/cinder-api/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -34,7 +34,7 @@
     name: cinder_backup
     image: "{{ cinder_backup_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/cinder-backup/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -55,7 +55,7 @@
     name: cinder_scheduler
     image: "{{ cinder_scheduler_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/cinder-scheduler/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/cinder-scheduler/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -77,7 +77,7 @@
     name: cinder_volume
     image: "{{ cinder_volume_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/cinder-volume/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/cinder/templates/cinder-api.json.j2 b/ansible/roles/cinder/templates/cinder-api.json.j2
index 44f3a0f592..07142fae38 100644
--- a/ansible/roles/cinder/templates/cinder-api.json.j2
+++ b/ansible/roles/cinder/templates/cinder-api.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/cinder-api --config-file /etc/cinder/cinder.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/cinder.conf",
+            "source": "{{ container_config_directory }}/cinder.conf",
             "dest": "/etc/cinder/cinder.conf",
             "owner": "cinder",
             "perm": "0600"
diff --git a/ansible/roles/cinder/templates/cinder-backup.json.j2 b/ansible/roles/cinder/templates/cinder-backup.json.j2
index bba9f718b3..76d9097023 100644
--- a/ansible/roles/cinder/templates/cinder-backup.json.j2
+++ b/ansible/roles/cinder/templates/cinder-backup.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/cinder-backup --config-file /etc/cinder/cinder.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/cinder.conf",
+            "source": "{{ container_config_directory }}/cinder.conf",
             "dest": "/etc/cinder/cinder.conf",
             "owner": "cinder",
             "perm": "0600"
diff --git a/ansible/roles/cinder/templates/cinder-scheduler.json.j2 b/ansible/roles/cinder/templates/cinder-scheduler.json.j2
index 2c7cb5f257..ada942eb07 100644
--- a/ansible/roles/cinder/templates/cinder-scheduler.json.j2
+++ b/ansible/roles/cinder/templates/cinder-scheduler.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/cinder-scheduler --config-file /etc/cinder/cinder.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/cinder.conf",
+            "source": "{{ container_config_directory }}/cinder.conf",
             "dest": "/etc/cinder/cinder.conf",
             "owner": "cinder",
             "perm": "0600"
diff --git a/ansible/roles/cinder/templates/cinder-volume.json.j2 b/ansible/roles/cinder/templates/cinder-volume.json.j2
index 780251728c..f062902468 100644
--- a/ansible/roles/cinder/templates/cinder-volume.json.j2
+++ b/ansible/roles/cinder/templates/cinder-volume.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/cinder-volume --config-file /etc/cinder/cinder.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/cinder.conf",
+            "source": "{{ container_config_directory }}/cinder.conf",
             "dest": "/etc/cinder/cinder.conf",
             "owner": "cinder",
             "perm": "0600"
         }{% if enable_ceph | bool %},
         {
-            "source": "/opt/kolla/config_files/ceph.client.cinder.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.cinder.keyring",
             "dest": "/etc/ceph/ceph.client.cinder.keyring",
             "owner": "cinder",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "cinder",
             "perm": "0600"
diff --git a/ansible/roles/common/tasks/start.yml b/ansible/roles/common/tasks/start.yml
index 09d504f01c..38bf9d4ed5 100755
--- a/ansible/roles/common/tasks/start.yml
+++ b/ansible/roles/common/tasks/start.yml
@@ -37,7 +37,7 @@
       - "log_data"
     volumes:
       - "/var/lib/kolla/dev:/dev"
-      - "{{ node_config_directory }}/rsyslog/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/rsyslog/:{{ container_config_directory }}/:ro"
     env:
         KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
 
diff --git a/ansible/roles/common/templates/rsyslog.json.j2 b/ansible/roles/common/templates/rsyslog.json.j2
index 22c2f0eca7..4222b81098 100644
--- a/ansible/roles/common/templates/rsyslog.json.j2
+++ b/ansible/roles/common/templates/rsyslog.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/sbin/rsyslogd -n",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/rsyslog.conf",
+            "source": "{{ container_config_directory }}/rsyslog.conf",
             "dest": "/etc/rsyslog.conf",
             "owner": "root",
             "perm": "0644"
diff --git a/ansible/roles/glance/tasks/bootstrap.yml b/ansible/roles/glance/tasks/bootstrap.yml
index 86be5c3f15..03bddaf34f 100644
--- a/ansible/roles/glance/tasks/bootstrap.yml
+++ b/ansible/roles/glance/tasks/bootstrap.yml
@@ -58,7 +58,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_glance
     image: "{{ glance_api_image_full }}"
-    volumes: "{{ node_config_directory }}/glance-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
     volumes_from:
      - glance_data
     env:
diff --git a/ansible/roles/glance/tasks/start.yml b/ansible/roles/glance/tasks/start.yml
index ea42edb3f2..6776261cbe 100644
--- a/ansible/roles/glance/tasks/start.yml
+++ b/ansible/roles/glance/tasks/start.yml
@@ -14,7 +14,7 @@
     name: glance_registry
     image: "{{ glance_registry_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/glance-registry/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/glance-registry/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - glance_data
@@ -37,7 +37,7 @@
     name: glance_api
     image: "{{ glance_api_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/glance-api/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/glance/templates/glance-api.json.j2 b/ansible/roles/glance/templates/glance-api.json.j2
index a2cb2756d9..afcedecb8e 100644
--- a/ansible/roles/glance/templates/glance-api.json.j2
+++ b/ansible/roles/glance/templates/glance-api.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/glance-api",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/glance-api.conf",
+            "source": "{{ container_config_directory }}/glance-api.conf",
             "dest": "/etc/glance/glance-api.conf",
             "owner": "glance",
             "perm": "0600"
         }{% if enable_ceph | bool %},
         {
-            "source": "/opt/kolla/config_files/ceph.client.glance.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.glance.keyring",
             "dest": "/etc/ceph/ceph.client.glance.keyring",
             "owner": "glance",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "glance",
             "perm": "0600"
diff --git a/ansible/roles/glance/templates/glance-registry.json.j2 b/ansible/roles/glance/templates/glance-registry.json.j2
index f439b57c83..ea752ab008 100644
--- a/ansible/roles/glance/templates/glance-registry.json.j2
+++ b/ansible/roles/glance/templates/glance-registry.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/glance-registry",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/glance-registry.conf",
+            "source": "{{ container_config_directory }}/glance-registry.conf",
             "dest": "/etc/glance/glance-registry.conf",
             "owner": "glance",
             "perm": "0600"
diff --git a/ansible/roles/haproxy/tasks/start.yml b/ansible/roles/haproxy/tasks/start.yml
index 84a545d2b4..5e569e3573 100755
--- a/ansible/roles/haproxy/tasks/start.yml
+++ b/ansible/roles/haproxy/tasks/start.yml
@@ -15,7 +15,7 @@
     image: "{{ keepalived_image_full }}"
     privileged: True
     volumes:
-      - "{{ node_config_directory }}/keepalived/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/keepalived/:{{ container_config_directory }}/:ro"
       - "/run:/run"
       - "/lib/modules:/lib/modules:ro"
     env:
@@ -37,13 +37,13 @@
     image: "{{ haproxy_image_full }}"
     privileged: True
     volumes:
-      - "{{ node_config_directory }}/haproxy/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/haproxy/:{{ container_config_directory }}/:ro"
       - "/run:/run"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
 
 - name: Ensuring latest haproxy config is used
-  command: docker exec haproxy /opt/kolla/ensure_latest_config.sh
+  command: docker exec haproxy /usr/local/bin/kolla_ensure_haproxy_latest_config
   register: status
   changed_when: status.stdout.find('changed') != -1
 
diff --git a/ansible/roles/haproxy/templates/haproxy.json.j2 b/ansible/roles/haproxy/templates/haproxy.json.j2
index 62a30b3dd1..a14bb1a37a 100644
--- a/ansible/roles/haproxy/templates/haproxy.json.j2
+++ b/ansible/roles/haproxy/templates/haproxy.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/haproxy.cfg",
+            "source": "{{ container_config_directory }}/haproxy.cfg",
             "dest": "/etc/haproxy/haproxy.cfg",
             "owner": "root",
             "perm": "0644"
diff --git a/ansible/roles/haproxy/templates/keepalived.json.j2 b/ansible/roles/haproxy/templates/keepalived.json.j2
index 27ebf7c96f..63a760c675 100644
--- a/ansible/roles/haproxy/templates/keepalived.json.j2
+++ b/ansible/roles/haproxy/templates/keepalived.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/sbin/keepalived -nld -p /run/keepalived.pid",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/keepalived.conf",
+            "source": "{{ container_config_directory }}/keepalived.conf",
             "dest": "/etc/keepalived/keepalived.conf",
             "owner": "root",
             "perm": "0644"
diff --git a/ansible/roles/heat/tasks/bootstrap.yml b/ansible/roles/heat/tasks/bootstrap.yml
index cf0d199782..c633993b57 100644
--- a/ansible/roles/heat/tasks/bootstrap.yml
+++ b/ansible/roles/heat/tasks/bootstrap.yml
@@ -41,7 +41,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_heat
     image: "{{ heat_api_image_full }}"
-    volumes: "{{ node_config_directory }}/heat-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/heat/tasks/start.yml b/ansible/roles/heat/tasks/start.yml
index 9ba7a1b287..d534539edd 100644
--- a/ansible/roles/heat/tasks/start.yml
+++ b/ansible/roles/heat/tasks/start.yml
@@ -14,7 +14,7 @@
     name: heat_api
     image: "{{ heat_api_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/heat-api/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -35,7 +35,7 @@
     name: heat_api_cfn
     image: "{{ heat_api_cfn_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/heat-api-cfn/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/heat-api-cfn/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -56,7 +56,7 @@
     name: heat_engine
     image: "{{ heat_engine_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/heat-engine/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/heat-engine/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/heat/templates/heat-api-cfn.json.j2 b/ansible/roles/heat/templates/heat-api-cfn.json.j2
index 6ebaf00a8d..d722e5e5f9 100644
--- a/ansible/roles/heat/templates/heat-api-cfn.json.j2
+++ b/ansible/roles/heat/templates/heat-api-cfn.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/heat-api-cfn",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/heat.conf",
+            "source": "{{ container_config_directory }}/heat.conf",
             "dest": "/etc/heat/heat.conf",
             "owner": "heat",
             "perm": "0600"
diff --git a/ansible/roles/heat/templates/heat-api.json.j2 b/ansible/roles/heat/templates/heat-api.json.j2
index 25de4b0178..04748480e5 100644
--- a/ansible/roles/heat/templates/heat-api.json.j2
+++ b/ansible/roles/heat/templates/heat-api.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/heat-api",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/heat.conf",
+            "source": "{{ container_config_directory }}/heat.conf",
             "dest": "/etc/heat/heat.conf",
             "owner": "heat",
             "perm": "0600"
diff --git a/ansible/roles/heat/templates/heat-engine.json.j2 b/ansible/roles/heat/templates/heat-engine.json.j2
index 8ca57e841d..277205a59c 100644
--- a/ansible/roles/heat/templates/heat-engine.json.j2
+++ b/ansible/roles/heat/templates/heat-engine.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/heat-engine",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/heat.conf",
+            "source": "{{ container_config_directory }}/heat.conf",
             "dest": "/etc/heat/heat.conf",
             "owner": "heat",
             "perm": "0600"
diff --git a/ansible/roles/horizon/tasks/start.yml b/ansible/roles/horizon/tasks/start.yml
index 3856050a33..462e1a0abd 100644
--- a/ansible/roles/horizon/tasks/start.yml
+++ b/ansible/roles/horizon/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: horizon
     image: "{{ horizon_image_full }}"
-    volumes: "{{ node_config_directory }}/horizon/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/horizon/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['horizon']
diff --git a/ansible/roles/horizon/templates/horizon.json.j2 b/ansible/roles/horizon/templates/horizon.json.j2
index a3bdef0d1a..b52554d48a 100644
--- a/ansible/roles/horizon/templates/horizon.json.j2
+++ b/ansible/roles/horizon/templates/horizon.json.j2
@@ -5,13 +5,13 @@
     "command": "/usr/sbin/{{ apache_cmd }} -DFOREGROUND",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/horizon.conf",
+            "source": "{{ container_config_directory }}/horizon.conf",
             "dest": "/etc/{{ apache_dir }}/{{ apache_file }}",
             "owner": "horizon",
             "perm": "0644"
         },
         {
-            "source": "/opt/kolla/config_files/local_settings",
+            "source": "{{ container_config_directory }}/local_settings",
             "dest": "/etc/openstack-dashboard/local_settings",
             "owner": "horizon",
             "perm": "0644"
diff --git a/ansible/roles/ironic/tasks/bootstrap.yml b/ansible/roles/ironic/tasks/bootstrap.yml
index 2f99cf59fe..8034cb4b64 100644
--- a/ansible/roles/ironic/tasks/bootstrap.yml
+++ b/ansible/roles/ironic/tasks/bootstrap.yml
@@ -43,7 +43,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_ironic
     image: "{{ ironic_api_image_full }}"
-    volumes: "{{ node_config_directory }}/ironic-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/ironic/tasks/start.yml b/ansible/roles/ironic/tasks/start.yml
index 4b6c5b4530..c1af84387b 100644
--- a/ansible/roles/ironic/tasks/start.yml
+++ b/ansible/roles/ironic/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: ironic-api
     image: "{{ ironic_api_image_full }}"
-    volumes: "{{ node_config_directory }}/ironic-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['ironic-api']
@@ -32,7 +32,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: ironic-conductor
     image: "{{ ironic_conductor_image_full }}"
-    volumes: "{{ node_config_directory }}/ironic-conductor/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ironic-conductor/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['ironic-conductor']
@@ -52,7 +52,7 @@
     privileged: True
     name: ironic-discoverd
     image: "{{ ironic_discoverd_image_full }}"
-    volumes: "{{ node_config_directory }}/ironic-discoverd/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ironic-discoverd/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['ironic-discoverd']
@@ -71,7 +71,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: ironic-pxe
     image: "{{ ironic_pxe_image_full }}"
-    volumes: "{{ node_config_directory }}/ironic-pxe/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/ironic-pxe/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['ironic-pxe']
diff --git a/ansible/roles/ironic/templates/ironic-api.json.j2 b/ansible/roles/ironic/templates/ironic-api.json.j2
index dd2caadf40..530f8554b4 100644
--- a/ansible/roles/ironic/templates/ironic-api.json.j2
+++ b/ansible/roles/ironic/templates/ironic-api.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/ironic-api",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/ironic.conf",
+            "source": "{{ container_config_directory }}/ironic.conf",
             "dest": "/etc/ironic/ironic.conf",
             "owner": "ironic",
             "perm": "0600"
diff --git a/ansible/roles/ironic/templates/ironic-conductor.json.j2 b/ansible/roles/ironic/templates/ironic-conductor.json.j2
index e77781c112..3b6ef5ff0a 100644
--- a/ansible/roles/ironic/templates/ironic-conductor.json.j2
+++ b/ansible/roles/ironic/templates/ironic-conductor.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/ironic-conductor",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/ironic.conf",
+            "source": "{{ container_config_directory }}/ironic.conf",
             "dest": "/etc/ironic/ironic.conf",
             "owner": "ironic",
             "perm": "0600"
diff --git a/ansible/roles/ironic/templates/ironic-discoverd.json.j2 b/ansible/roles/ironic/templates/ironic-discoverd.json.j2
index a4dc91d569..1af9e54157 100644
--- a/ansible/roles/ironic/templates/ironic-discoverd.json.j2
+++ b/ansible/roles/ironic/templates/ironic-discoverd.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/ironic-discoverd --config-file /etc/ironic-discoverd/discoverd.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/discoverd.conf",
+            "source": "{{ container_config_directory }}/discoverd.conf",
             "dest": "/etc/ironic-discoverd/discoverd.conf",
             "owner": "root",
             "perm": "0600"
diff --git a/ansible/roles/keystone/tasks/bootstrap.yml b/ansible/roles/keystone/tasks/bootstrap.yml
index 61110f093b..30fcfad2b5 100644
--- a/ansible/roles/keystone/tasks/bootstrap.yml
+++ b/ansible/roles/keystone/tasks/bootstrap.yml
@@ -43,7 +43,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_keystone
     image: "{{ keystone_image_full }}"
-    volumes: "{{ node_config_directory }}/keystone/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/keystone/tasks/start.yml b/ansible/roles/keystone/tasks/start.yml
index 1187f99d1c..f6241c4e44 100644
--- a/ansible/roles/keystone/tasks/start.yml
+++ b/ansible/roles/keystone/tasks/start.yml
@@ -14,7 +14,7 @@
     name: keystone
     image: "{{ keystone_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/keystone/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/keystone/templates/keystone.json.j2 b/ansible/roles/keystone/templates/keystone.json.j2
index d5d85fd153..b5ecc3db8e 100644
--- a/ansible/roles/keystone/templates/keystone.json.j2
+++ b/ansible/roles/keystone/templates/keystone.json.j2
@@ -4,13 +4,13 @@
     "command": "/usr/sbin/{{ keystone_cmd }}",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/keystone.conf",
+            "source": "{{ container_config_directory }}/keystone.conf",
             "dest": "/etc/keystone/keystone.conf",
             "owner": "keystone",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/wsgi-keystone.conf",
+            "source": "{{ container_config_directory }}/wsgi-keystone.conf",
             "dest": "/etc/{{ keystone_dir }}/wsgi-keystone.conf",
             "owner": "keystone",
             "perm": "0644"
diff --git a/ansible/roles/mariadb/tasks/bootstrap.yml b/ansible/roles/mariadb/tasks/bootstrap.yml
index 7beeae5bfe..4a356bd164 100644
--- a/ansible/roles/mariadb/tasks/bootstrap.yml
+++ b/ansible/roles/mariadb/tasks/bootstrap.yml
@@ -66,7 +66,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: mariadb
     image: "{{ mariadb_image_full }}"
-    volumes: "{{ node_config_directory }}/mariadb/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "mariadb_data"
     env:
diff --git a/ansible/roles/mariadb/tasks/start.yml b/ansible/roles/mariadb/tasks/start.yml
index 54f698813d..ba07d85c7b 100644
--- a/ansible/roles/mariadb/tasks/start.yml
+++ b/ansible/roles/mariadb/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: mariadb
     image: "{{ mariadb_image_full }}"
-    volumes: "{{ node_config_directory }}/mariadb/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "mariadb_data"
     env:
diff --git a/ansible/roles/mariadb/templates/mariadb.json.j2 b/ansible/roles/mariadb/templates/mariadb.json.j2
index 909bcad88b..359acf8d8a 100644
--- a/ansible/roles/mariadb/templates/mariadb.json.j2
+++ b/ansible/roles/mariadb/templates/mariadb.json.j2
@@ -3,7 +3,7 @@
     "command": "/usr/bin/mysqld_safe",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/galera.cnf",
+            "source": "{{ container_config_directory }}/galera.cnf",
             "dest": "/etc/{{ mysql_dir }}/galera.cnf",
             "owner": "mysql",
             "perm": "0600"
diff --git a/ansible/roles/memcached/tasks/start.yml b/ansible/roles/memcached/tasks/start.yml
index 21d72f8a11..29b3c105b8 100644
--- a/ansible/roles/memcached/tasks/start.yml
+++ b/ansible/roles/memcached/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: memcached
     image: "{{ memcached_image_full }}"
-    volumes: "{{ node_config_directory }}/memcached/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/memcached/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['memcached']
diff --git a/ansible/roles/murano/tasks/bootstrap.yml b/ansible/roles/murano/tasks/bootstrap.yml
index 31811ae35c..b53cb7c844 100644
--- a/ansible/roles/murano/tasks/bootstrap.yml
+++ b/ansible/roles/murano/tasks/bootstrap.yml
@@ -42,7 +42,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_murano
     image: "{{ murano_api_image_full }}"
-    volumes: "{{ node_config_directory }}/murano-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/murano/tasks/start.yml b/ansible/roles/murano/tasks/start.yml
index c9f73b11e6..098ebacbf5 100644
--- a/ansible/roles/murano/tasks/start.yml
+++ b/ansible/roles/murano/tasks/start.yml
@@ -14,7 +14,7 @@
     name: murano_engine
     image: "{{ murano_engine_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/murano-engine/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/murano-engine/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
     env:
@@ -36,7 +36,7 @@
     name: murano_api
     image: "{{ murano_api_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/murano-api/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/murano/templates/murano-api.json.j2 b/ansible/roles/murano/templates/murano-api.json.j2
index bfafba91e5..74155d85e4 100644
--- a/ansible/roles/murano/templates/murano-api.json.j2
+++ b/ansible/roles/murano/templates/murano-api.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/murano-api --config-file /etc/murano/murano.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/murano.conf",
+            "source": "{{ container_config_directory }}/murano.conf",
             "dest": "/etc/murano/murano.conf",
             "owner": "murano",
             "perm": "0644"
diff --git a/ansible/roles/murano/templates/murano-engine.json.j2 b/ansible/roles/murano/templates/murano-engine.json.j2
index d4ad92c083..25f2c474ff 100644
--- a/ansible/roles/murano/templates/murano-engine.json.j2
+++ b/ansible/roles/murano/templates/murano-engine.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/murano-engine --config-file /etc/murano/murano.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/murano.conf",
+            "source": "{{ container_config_directory }}/murano.conf",
             "dest": "/etc/murano/murano.conf",
             "owner": "murano",
             "perm": "0644"
diff --git a/ansible/roles/neutron/tasks/bootstrap.yml b/ansible/roles/neutron/tasks/bootstrap.yml
index e21684e23d..398018de49 100644
--- a/ansible/roles/neutron/tasks/bootstrap.yml
+++ b/ansible/roles/neutron/tasks/bootstrap.yml
@@ -41,7 +41,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_neutron
     image: "{{ neutron_server_image_full }}"
-    volumes: "{{ node_config_directory }}/neutron-server/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/neutron/tasks/start.yml b/ansible/roles/neutron/tasks/start.yml
index 67af9001f7..037a323de2 100644
--- a/ansible/roles/neutron/tasks/start.yml
+++ b/ansible/roles/neutron/tasks/start.yml
@@ -15,7 +15,7 @@
     image: "{{ openvswitch_db_image_full }}"
     volumes:
       - "/run:/run"
-      - "{{ node_config_directory }}/openvswitch-db-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: (inventory_hostname in groups['compute'] or inventory_hostname in groups['neutron-agents'])
@@ -39,14 +39,14 @@
     volumes:
       - "/run:/run"
       - "/lib/modules:/lib/modules:ro"
-      - "{{ node_config_directory }}/openvswitch-vswitchd/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: (inventory_hostname in groups['compute'] or inventory_hostname in groups['neutron-agents'])
         and neutron_plugin_agent == "openvswitch"
 
 - name: Ensuring OVS bridge is properly setup
-  command: docker exec openvswitch_vswitchd /opt/kolla/ovs_ensure_configured.sh {{ neutron_bridge_name }} {{ neutron_external_interface }}
+  command: docker exec openvswitch_vswitchd /usr/local/bin/kolla_ensure_openvswitch_configured {{ neutron_bridge_name }} {{ neutron_external_interface }}
   register: status
   changed_when: status.stdout.find('changed') != -1
   when: (inventory_hostname in groups['compute'] or inventory_hostname in groups['neutron-agents'])
@@ -67,7 +67,7 @@
     name: neutron_server
     image: "{{ neutron_server_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/neutron-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -91,7 +91,7 @@
     volumes:
       - "/run:/run"
       - "/lib/modules:/lib/modules:ro"
-      - "{{ node_config_directory }}/neutron-openvswitch-agent/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -116,7 +116,7 @@
     volumes:
       - "/run:/run"
       - "/lib/modules:/lib/modules:ro"
-      - "{{ node_config_directory }}/neutron-linuxbridge-agent/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -142,7 +142,7 @@
     image: "{{ neutron_agents_image_full }}"
     volumes:
       - "/run:/run"
-      - "{{ node_config_directory }}/neutron-agents/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/neutron-agents/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/neutron/templates/neutron-agents.json.j2 b/ansible/roles/neutron/templates/neutron-agents.json.j2
index 4503acbaec..e33bf823f4 100644
--- a/ansible/roles/neutron/templates/neutron-agents.json.j2
+++ b/ansible/roles/neutron/templates/neutron-agents.json.j2
@@ -2,37 +2,37 @@
     "command": "",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/neutron.conf",
+            "source": "{{ container_config_directory }}/neutron.conf",
             "dest": "/etc/neutron/neutron.conf",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/dhcp_agent.ini",
+            "source": "{{ container_config_directory }}/dhcp_agent.ini",
             "dest": "/etc/neutron/dhcp_agent.ini",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/dnsmasq.conf",
+            "source": "{{ container_config_directory }}/dnsmasq.conf",
             "dest": "/etc/neutron/dnsmasq.conf",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/l3_agent.ini",
+            "source": "{{ container_config_directory }}/l3_agent.ini",
             "dest": "/etc/neutron/l3_agent.ini",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ml2_conf.ini",
+            "source": "{{ container_config_directory }}/ml2_conf.ini",
             "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/metadata_agent.ini",
+            "source": "{{ container_config_directory }}/metadata_agent.ini",
             "dest": "/etc/neutron/metadata_agent.ini",
             "owner": "neutron",
             "perm": "0600"
diff --git a/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2 b/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2
index 68f3d586b4..1c55a781d9 100644
--- a/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2
+++ b/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2
@@ -2,13 +2,13 @@
     "command": "/usr/bin/neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/neutron.conf",
+            "source": "{{ container_config_directory }}/neutron.conf",
             "dest": "/etc/neutron/neutron.conf",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ml2_conf.ini",
+            "source": "{{ container_config_directory }}/ml2_conf.ini",
             "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini",
             "owner": "neutron",
             "perm": "0600"
diff --git a/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2 b/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2
index b0d2974a98..aae90ccd31 100644
--- a/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2
+++ b/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2
@@ -2,13 +2,13 @@
     "command": "/usr/bin/neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/neutron.conf",
+            "source": "{{ container_config_directory }}/neutron.conf",
             "dest": "/etc/neutron/neutron.conf",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ml2_conf.ini",
+            "source": "{{ container_config_directory }}/ml2_conf.ini",
             "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini",
             "owner": "neutron",
             "perm": "0600"
diff --git a/ansible/roles/neutron/templates/neutron-server.json.j2 b/ansible/roles/neutron/templates/neutron-server.json.j2
index de8020504f..ea476745ed 100644
--- a/ansible/roles/neutron/templates/neutron-server.json.j2
+++ b/ansible/roles/neutron/templates/neutron-server.json.j2
@@ -2,13 +2,13 @@
     "command": "/usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/neutron.conf",
+            "source": "{{ container_config_directory }}/neutron.conf",
             "dest": "/etc/neutron/neutron.conf",
             "owner": "neutron",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ml2_conf.ini",
+            "source": "{{ container_config_directory }}/ml2_conf.ini",
             "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini",
             "owner": "neutron",
             "perm": "0600"
diff --git a/ansible/roles/nova/tasks/bootstrap.yml b/ansible/roles/nova/tasks/bootstrap.yml
index c06c011d00..bd2b37f9f7 100644
--- a/ansible/roles/nova/tasks/bootstrap.yml
+++ b/ansible/roles/nova/tasks/bootstrap.yml
@@ -59,7 +59,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: bootstrap_nova
     image: "{{ nova_api_image_full }}"
-    volumes: "{{ node_config_directory }}/nova-api/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/nova/tasks/start.yml b/ansible/roles/nova/tasks/start.yml
index 330310eb83..833e771abd 100644
--- a/ansible/roles/nova/tasks/start.yml
+++ b/ansible/roles/nova/tasks/start.yml
@@ -16,7 +16,7 @@
     name: nova_libvirt
     image: "{{ nova_libvirt_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/nova-libvirt/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro"
       - "/run:/run"
       - "/sys/fs/cgroup:/sys/fs/cgroup"
       - "/lib/modules:/lib/modules:ro"
@@ -43,7 +43,7 @@
     image: "{{ nova_api_image_full }}"
     volumes:
       - "/var/lib/kolla/dev/log:/dev/log"
-      - "{{ node_config_directory }}/nova-api/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
       - "/lib/modules:/lib/modules:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -65,7 +65,7 @@
     image: "{{ nova_conductor_image_full }}"
     volumes:
       - "/var/lib/kolla/dev/log:/dev/log"
-      - "{{ node_config_directory }}/nova-conductor/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['nova-conductor']
@@ -86,7 +86,7 @@
     image: "{{ nova_consoleauth_image_full }}"
     volumes:
       - "/var/lib/kolla/dev/log:/dev/log"
-      - "{{ node_config_directory }}/nova-consoleauth/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-consoleauth/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['nova-consoleauth']
@@ -107,7 +107,7 @@
     image: "{{ nova_novncproxy_image_full }}"
     volumes:
       - "/var/lib/kolla/dev/log:/dev/log"
-      - "{{ node_config_directory }}/nova-novncproxy/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-novncproxy/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['nova-novncproxy']
@@ -128,7 +128,7 @@
     image: "{{ nova_scheduler_image_full }}"
     volumes:
       - "/var/lib/kolla/dev/log:/dev/log"
-      - "{{ node_config_directory }}/nova-scheduler/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['nova-scheduler']
@@ -149,7 +149,7 @@
     name: nova_compute
     image: "{{ nova_compute_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/nova-compute/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "/var/lib/kolla/dev/log:/dev/log"
diff --git a/ansible/roles/nova/templates/nova-api.json.j2 b/ansible/roles/nova/templates/nova-api.json.j2
index cf4bdf3f6a..1e92b10af1 100644
--- a/ansible/roles/nova/templates/nova-api.json.j2
+++ b/ansible/roles/nova/templates/nova-api.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-api",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-compute.json.j2 b/ansible/roles/nova/templates/nova-compute.json.j2
index 0f7abe5c5b..107c160b9e 100644
--- a/ansible/roles/nova/templates/nova-compute.json.j2
+++ b/ansible/roles/nova/templates/nova-compute.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/nova-compute",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
         }{% if enable_ceph | bool %},
         {
-            "source": "/opt/kolla/config_files/ceph.client.nova.keyring",
+            "source": "{{ container_config_directory }}/ceph.client.nova.keyring",
             "dest": "/etc/ceph/ceph.client.nova.keyring",
             "owner": "nova",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-conductor.json.j2 b/ansible/roles/nova/templates/nova-conductor.json.j2
index 41902783ce..d612348801 100644
--- a/ansible/roles/nova/templates/nova-conductor.json.j2
+++ b/ansible/roles/nova/templates/nova-conductor.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-conductor",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-consoleauth.json.j2 b/ansible/roles/nova/templates/nova-consoleauth.json.j2
index 0aaad565c8..2956259c41 100644
--- a/ansible/roles/nova/templates/nova-consoleauth.json.j2
+++ b/ansible/roles/nova/templates/nova-consoleauth.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-consoleauth",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-libvirt.json.j2 b/ansible/roles/nova/templates/nova-libvirt.json.j2
index 78d38683a2..abc3159005 100644
--- a/ansible/roles/nova/templates/nova-libvirt.json.j2
+++ b/ansible/roles/nova/templates/nova-libvirt.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/sbin/libvirtd --listen",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/libvirtd.conf",
+            "source": "{{ container_config_directory }}/libvirtd.conf",
             "dest": "/etc/libvirt/libvirtd.conf",
             "owner": "root",
             "perm": "0644"
         }{% if enable_ceph | bool %},
         {
-            "source": "/opt/kolla/config_files/secrets",
+            "source": "{{ container_config_directory }}/secrets",
             "dest": "/etc/libvirt/secrets",
             "owner": "root",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/ceph.conf",
+            "source": "{{ container_config_directory }}/ceph.conf",
             "dest": "/etc/ceph/ceph.conf",
             "owner": "root",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-network.json.j2 b/ansible/roles/nova/templates/nova-network.json.j2
index eea74c71dd..2f45ce6edb 100644
--- a/ansible/roles/nova/templates/nova-network.json.j2
+++ b/ansible/roles/nova/templates/nova-network.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-network",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-novncproxy.json.j2 b/ansible/roles/nova/templates/nova-novncproxy.json.j2
index c565202a7f..b801c7472d 100644
--- a/ansible/roles/nova/templates/nova-novncproxy.json.j2
+++ b/ansible/roles/nova/templates/nova-novncproxy.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-novncproxy",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/nova/templates/nova-scheduler.json.j2 b/ansible/roles/nova/templates/nova-scheduler.json.j2
index 3e34eedd76..65c6ff2d3c 100644
--- a/ansible/roles/nova/templates/nova-scheduler.json.j2
+++ b/ansible/roles/nova/templates/nova-scheduler.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/nova-scheduler",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/nova.conf",
+            "source": "{{ container_config_directory }}/nova.conf",
             "dest": "/etc/nova/nova.conf",
             "owner": "nova",
             "perm": "0600"
diff --git a/ansible/roles/rabbitmq/tasks/bootstrap.yml b/ansible/roles/rabbitmq/tasks/bootstrap.yml
index c008d8b6c7..fffcbb94e8 100644
--- a/ansible/roles/rabbitmq/tasks/bootstrap.yml
+++ b/ansible/roles/rabbitmq/tasks/bootstrap.yml
@@ -37,7 +37,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: rabbitmq_bootstrap
     image: "{{ rabbitmq_image_full }}"
-    volumes: "{{ node_config_directory }}/rabbitmq/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/rabbitmq/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "rabbitmq_data"
     env:
diff --git a/ansible/roles/rabbitmq/tasks/start.yml b/ansible/roles/rabbitmq/tasks/start.yml
index beb93f0d40..19295063ba 100644
--- a/ansible/roles/rabbitmq/tasks/start.yml
+++ b/ansible/roles/rabbitmq/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: rabbitmq
     image: "{{ rabbitmq_image_full }}"
-    volumes: "{{ node_config_directory }}/rabbitmq/:/opt/kolla/config_files/:ro"
+    volumes: "{{ node_config_directory }}/rabbitmq/:{{ container_config_directory }}/:ro"
     volumes_from:
       - "rabbitmq_data"
     env:
diff --git a/ansible/roles/rabbitmq/templates/rabbitmq.json.j2 b/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
index dbf55c254a..1f0d48a671 100644
--- a/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
+++ b/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
@@ -2,13 +2,13 @@
     "command": "/usr/sbin/rabbitmq-server",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/rabbitmq-env.conf",
+            "source": "{{ container_config_directory }}/rabbitmq-env.conf",
             "dest": "/etc/rabbitmq/rabbitmq-env.conf",
             "owner": "rabbitmq",
             "perm": "0600"
         },
         {
-            "source": "/opt/kolla/config_files/rabbitmq.config",
+            "source": "{{ container_config_directory }}/rabbitmq.config",
             "dest": "/etc/rabbitmq/rabbitmq.config",
             "owner": "rabbitmq",
             "perm": "0600"
diff --git a/ansible/roles/swift/tasks/start.yml b/ansible/roles/swift/tasks/start.yml
index d5edeedf29..ecd1da8c26 100644
--- a/ansible/roles/swift/tasks/start.yml
+++ b/ansible/roles/swift/tasks/start.yml
@@ -14,7 +14,7 @@
     name: swift_rsyncd
     image: "{{ swift_rsyncd_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/swift-rsyncd/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/swift-rsyncd/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -36,8 +36,8 @@
     name: swift_proxy_server
     image: "{{ swift_proxy_server_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
-      - "{{ node_config_directory }}/swift-proxy-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-proxy-server/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -60,8 +60,8 @@
     name: swift_account_server
     image: "{{ swift_account_server_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
-      - "{{ node_config_directory }}/swift-account-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-server/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -84,8 +84,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-auditor/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -108,8 +108,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-replicator/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -132,8 +132,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-account-reaper/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -156,8 +156,8 @@
     name: swift_container_server
     image: "{{ swift_container_server_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
-      - "{{ node_config_directory }}/swift-container-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-server/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -180,8 +180,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-auditor/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -204,8 +204,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-replicator/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -228,8 +228,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-container-updater/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -252,8 +252,8 @@
     name: swift_object_server
     image: "{{ swift_object_server_image_full }}"
     volumes:
-      - "{{ node_config_directory }}/swift/:/opt/kolla/swift/:ro"
-      - "{{ node_config_directory }}/swift-object-server/:/opt/kolla/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-server/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -276,8 +276,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-auditor/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -300,8 +300,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-replicator/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -324,8 +324,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-updater/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
@@ -348,8 +348,8 @@
     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/config_files/:ro"
+      - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
+      - "{{ node_config_directory }}/swift-object-expirer/:{{ container_config_directory }}/:ro"
       - "/var/lib/kolla/dev/log:/dev/log"
     volumes_from:
       - swift_data
diff --git a/ansible/roles/swift/templates/swift-account-auditor.json.j2 b/ansible/roles/swift/templates/swift-account-auditor.json.j2
index 36ae6cd69b..8553ad0296 100644
--- a/ansible/roles/swift/templates/swift-account-auditor.json.j2
+++ b/ansible/roles/swift/templates/swift-account-auditor.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-account-auditor /etc/swift/account-auditor.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account-auditor.conf",
+            "source": "{{ container_config_directory }}/account-auditor.conf",
             "dest": "/etc/swift/account-auditor.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-account-reaper.json.j2 b/ansible/roles/swift/templates/swift-account-reaper.json.j2
index 0d88070ce6..086b39e29b 100644
--- a/ansible/roles/swift/templates/swift-account-reaper.json.j2
+++ b/ansible/roles/swift/templates/swift-account-reaper.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-account-reaper /etc/swift/account-reaper.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account-reaper.conf",
+            "source": "{{ container_config_directory }}/account-reaper.conf",
             "dest": "/etc/swift/account-reaper.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-account-replicator.json.j2 b/ansible/roles/swift/templates/swift-account-replicator.json.j2
index 4fc3de9564..1dc49b8558 100644
--- a/ansible/roles/swift/templates/swift-account-replicator.json.j2
+++ b/ansible/roles/swift/templates/swift-account-replicator.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-account-replicator /etc/swift/account-replicator.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account-replicator.conf",
+            "source": "{{ container_config_directory }}/account-replicator.conf",
             "dest": "/etc/swift/account-replicator.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-account-server.json.j2 b/ansible/roles/swift/templates/swift-account-server.json.j2
index eb28365ea5..43b562114d 100644
--- a/ansible/roles/swift/templates/swift-account-server.json.j2
+++ b/ansible/roles/swift/templates/swift-account-server.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-account-server /etc/swift/account-server.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account-server.conf",
+            "source": "{{ container_config_directory }}/account-server.conf",
             "dest": "/etc/swift/account-server.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-container-auditor.json.j2 b/ansible/roles/swift/templates/swift-container-auditor.json.j2
index 6fb280b848..d517d6a4b4 100644
--- a/ansible/roles/swift/templates/swift-container-auditor.json.j2
+++ b/ansible/roles/swift/templates/swift-container-auditor.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-container-auditor /etc/swift/container-auditor.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container-auditor.conf",
+            "source": "{{ container_config_directory }}/container-auditor.conf",
             "dest": "/etc/swift/container-auditor.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-container-replicator.json.j2 b/ansible/roles/swift/templates/swift-container-replicator.json.j2
index d9f0cc6196..36ecf9a09c 100644
--- a/ansible/roles/swift/templates/swift-container-replicator.json.j2
+++ b/ansible/roles/swift/templates/swift-container-replicator.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-container-replicator /etc/swift/container-replicator.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container-replicator.conf",
+            "source": "{{ container_config_directory }}/container-replicator.conf",
             "dest": "/etc/swift/container-replicator.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-container-server.json.j2 b/ansible/roles/swift/templates/swift-container-server.json.j2
index 62959aa610..a181b9c710 100644
--- a/ansible/roles/swift/templates/swift-container-server.json.j2
+++ b/ansible/roles/swift/templates/swift-container-server.json.j2
@@ -2,19 +2,19 @@
     "command": "/usr/bin/swift-container-server /etc/swift/container-server.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container-server.conf",
+            "source": "{{ container_config_directory }}/container-server.conf",
             "dest": "/etc/swift/container-server.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-container-updater.json.j2 b/ansible/roles/swift/templates/swift-container-updater.json.j2
index 6329d5778f..edf32abfa5 100644
--- a/ansible/roles/swift/templates/swift-container-updater.json.j2
+++ b/ansible/roles/swift/templates/swift-container-updater.json.j2
@@ -2,25 +2,25 @@
     "command": "/usr/bin/swift-container-updater /etc/swift/container-updater.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container-updater.conf",
+            "source": "{{ container_config_directory }}/container-updater.conf",
             "dest": "/etc/swift/container-updater.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-object-auditor.json.j2 b/ansible/roles/swift/templates/swift-object-auditor.json.j2
index e9c4888b27..4f52de1411 100644
--- a/ansible/roles/swift/templates/swift-object-auditor.json.j2
+++ b/ansible/roles/swift/templates/swift-object-auditor.json.j2
@@ -2,25 +2,25 @@
     "command": "/usr/bin/swift-object-auditor /etc/swift/object-auditor.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object-auditor.conf",
+            "source": "{{ container_config_directory }}/object-auditor.conf",
             "dest": "/etc/swift/object-auditor.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-object-expirer.json.j2 b/ansible/roles/swift/templates/swift-object-expirer.json.j2
index 33719b96cb..09fcbdc71c 100644
--- a/ansible/roles/swift/templates/swift-object-expirer.json.j2
+++ b/ansible/roles/swift/templates/swift-object-expirer.json.j2
@@ -2,31 +2,31 @@
     "command": "/usr/bin/swift-object-expirer /etc/swift/object-expirer.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object-expirer.conf",
+            "source": "{{ container_config_directory }}/object-expirer.conf",
             "dest": "/etc/swift/object-expirer.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-object-replicator.json.j2 b/ansible/roles/swift/templates/swift-object-replicator.json.j2
index 83758ff13b..db73d50e7f 100644
--- a/ansible/roles/swift/templates/swift-object-replicator.json.j2
+++ b/ansible/roles/swift/templates/swift-object-replicator.json.j2
@@ -2,25 +2,25 @@
     "command": "/usr/bin/swift-object-replicator /etc/swift/object-replicator.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object-replicator.conf",
+            "source": "{{ container_config_directory }}/object-replicator.conf",
             "dest": "/etc/swift/object-replicator.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-object-server.json.j2 b/ansible/roles/swift/templates/swift-object-server.json.j2
index 2e6a5cad9b..cb988beb03 100644
--- a/ansible/roles/swift/templates/swift-object-server.json.j2
+++ b/ansible/roles/swift/templates/swift-object-server.json.j2
@@ -2,25 +2,25 @@
     "command": "/usr/bin/swift-object-server /etc/swift/object-server.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object-server.conf",
+            "source": "{{ container_config_directory }}/object-server.conf",
             "dest": "/etc/swift/object-server.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-object-updater.json.j2 b/ansible/roles/swift/templates/swift-object-updater.json.j2
index a1bbfc0fc4..aa2c88e7d7 100644
--- a/ansible/roles/swift/templates/swift-object-updater.json.j2
+++ b/ansible/roles/swift/templates/swift-object-updater.json.j2
@@ -2,25 +2,25 @@
     "command": "/usr/bin/swift-object-updater /etc/swift/object-updater.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object-updater.conf",
+            "source": "{{ container_config_directory }}/object-updater.conf",
             "dest": "/etc/swift/object-updater.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-proxy-server.json.j2 b/ansible/roles/swift/templates/swift-proxy-server.json.j2
index 84b00e3aab..00bf937d9b 100644
--- a/ansible/roles/swift/templates/swift-proxy-server.json.j2
+++ b/ansible/roles/swift/templates/swift-proxy-server.json.j2
@@ -2,31 +2,31 @@
     "command": "/usr/bin/swift-proxy-server /etc/swift/proxy-server.conf --verbose",
     "config_files": [
         {
-            "source": "/opt/kolla/swift/swift.conf",
+            "source": "/var/lib/kolla/swift/swift.conf",
             "dest": "/etc/swift/swift.conf",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/account.ring.gz",
+            "source": "{{ container_config_directory }}/account.ring.gz",
             "dest": "/etc/swift/account.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/container.ring.gz",
+            "source": "{{ container_config_directory }}/container.ring.gz",
             "dest": "/etc/swift/container.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/object.ring.gz",
+            "source": "{{ container_config_directory }}/object.ring.gz",
             "dest": "/etc/swift/object.ring.gz",
             "owner": "swift",
             "perm": "0640"
         },
         {
-            "source": "/opt/kolla/config_files/proxy-server.conf",
+            "source": "{{ container_config_directory }}/proxy-server.conf",
             "dest": "/etc/swift/proxy-server.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/ansible/roles/swift/templates/swift-rsyncd.json.j2 b/ansible/roles/swift/templates/swift-rsyncd.json.j2
index 3fa8398125..3700a327fa 100644
--- a/ansible/roles/swift/templates/swift-rsyncd.json.j2
+++ b/ansible/roles/swift/templates/swift-rsyncd.json.j2
@@ -2,7 +2,7 @@
     "command": "/usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf",
     "config_files": [
         {
-            "source": "/opt/kolla/config_files/rsyncd.conf",
+            "source": "{{ container_config_directory }}/rsyncd.conf",
             "dest": "/etc/rsyncd.conf",
             "owner": "swift",
             "perm": "0640"
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index c17cfa25eb..28924b0d58 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -188,10 +188,9 @@ RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com 199369E5404BD
 
 {% endif %}
 
-COPY set_configs.py /opt/kolla/
-
+COPY set_configs.py /usr/local/bin/kolla_set_configs
 COPY start.sh /usr/local/bin/kolla_start
 RUN touch /usr/local/bin/kolla_extend_start \
-    && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_extend_start /opt/kolla/set_configs.py
+    && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_set_configs
 
 CMD ["kolla_start"]
diff --git a/docker/base/set_configs.py b/docker/base/set_configs.py
index 941e74ca23..12da192c01 100644
--- a/docker/base/set_configs.py
+++ b/docker/base/set_configs.py
@@ -140,7 +140,7 @@ def set_permissions(data):
 
 
 def load_config():
-    config_file = '/opt/kolla/config_files/config.json'
+    config_file = '/var/lib/kolla/config_files/config.json'
     LOG.info('Loading config file at {}'.format(config_file))
 
     # Attempt to read config file
diff --git a/docker/base/start.sh b/docker/base/start.sh
index 7d89f636c6..bbe321a808 100644
--- a/docker/base/start.sh
+++ b/docker/base/start.sh
@@ -2,7 +2,7 @@
 set -o errexit
 
 # Processing /opt/kolla/config_files/config.json
-python /opt/kolla/set_configs.py
+python /usr/local/bin/kolla_set_configs
 CMD=$(cat /run_command)
 ARGS=""
 
diff --git a/docker/ceilometer/ceilometer-alarm/config-external.sh b/docker/ceilometer/ceilometer-alarm/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-alarm/config-external.sh
+++ b/docker/ceilometer/ceilometer-alarm/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/ceilometer/ceilometer-api/config-external.sh b/docker/ceilometer/ceilometer-api/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-api/config-external.sh
+++ b/docker/ceilometer/ceilometer-api/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/ceilometer/ceilometer-central/config-external.sh b/docker/ceilometer/ceilometer-central/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-central/config-external.sh
+++ b/docker/ceilometer/ceilometer-central/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/ceilometer/ceilometer-collector/config-external.sh b/docker/ceilometer/ceilometer-collector/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-collector/config-external.sh
+++ b/docker/ceilometer/ceilometer-collector/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/ceilometer/ceilometer-compute/config-external.sh b/docker/ceilometer/ceilometer-compute/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-compute/config-external.sh
+++ b/docker/ceilometer/ceilometer-compute/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/ceilometer/ceilometer-notification/config-external.sh b/docker/ceilometer/ceilometer-notification/config-external.sh
index 2835bd5aa0..2c46075301 100644
--- a/docker/ceilometer/ceilometer-notification/config-external.sh
+++ b/docker/ceilometer/ceilometer-notification/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+SOURCE="/var/lib/kolla/ceilometer/ceilometer.conf"
 TARGET="/etc/ceilometer/ceilometer.conf"
 OWNER="ceilometer"
 
diff --git a/docker/designate/designate-api/config-external.sh b/docker/designate/designate-api/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-api/config-external.sh
+++ b/docker/designate/designate-api/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/designate/designate-backend-bind9/Dockerfile.j2 b/docker/designate/designate-backend-bind9/Dockerfile.j2
index 843209214f..47eff21222 100644
--- a/docker/designate/designate-backend-bind9/Dockerfile.j2
+++ b/docker/designate/designate-backend-bind9/Dockerfile.j2
@@ -6,7 +6,8 @@ MAINTAINER Kolla Project (https://launchpad.net.kolla)
 
 RUN yum install -y bind \
     && yum clean all \
-    && cp -pr /var/named /opt/kolla/var-named
+    && mkdir -p /var/lib/kolla/ \
+    && cp -pr /var/named /var/lib/kolla/var-named
 
     {% endif %}
 {% endif %}
diff --git a/docker/designate/designate-backend-bind9/config-external.sh b/docker/designate/designate-backend-bind9/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-backend-bind9/config-external.sh
+++ b/docker/designate/designate-backend-bind9/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/designate/designate-central/config-external.sh b/docker/designate/designate-central/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-central/config-external.sh
+++ b/docker/designate/designate-central/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/designate/designate-mdns/config-external.sh b/docker/designate/designate-mdns/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-mdns/config-external.sh
+++ b/docker/designate/designate-mdns/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/designate/designate-poolmanager/config-external.sh b/docker/designate/designate-poolmanager/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-poolmanager/config-external.sh
+++ b/docker/designate/designate-poolmanager/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/designate/designate-sink/config-external.sh b/docker/designate/designate-sink/config-external.sh
index ce302ea0c5..eb9299276a 100644
--- a/docker/designate/designate-sink/config-external.sh
+++ b/docker/designate/designate-sink/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/designate/designate.conf"
+SOURCE="/var/lib/kolla/designate/designate.conf"
 TARGET="/etc/designate/designate.conf"
 OWNER="designate"
 
diff --git a/docker/gnocchi/gnocchi-api/config-external.sh b/docker/gnocchi/gnocchi-api/config-external.sh
index 59639ba637..4d54a843b5 100644
--- a/docker/gnocchi/gnocchi-api/config-external.sh
+++ b/docker/gnocchi/gnocchi-api/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/gnocchi-api/gnocchi-api.conf"
+SOURCE="/var/lib/kolla/gnocchi-api/gnocchi-api.conf"
 TARGET="/etc/gnocchi/gnocchi-api.conf"
 OWNER="gnocchi"
 
diff --git a/docker/gnocchi/gnocchi-statsd/config-external.sh b/docker/gnocchi/gnocchi-statsd/config-external.sh
index 59639ba637..4d54a843b5 100644
--- a/docker/gnocchi/gnocchi-statsd/config-external.sh
+++ b/docker/gnocchi/gnocchi-statsd/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/gnocchi-api/gnocchi-api.conf"
+SOURCE="/var/lib/kolla/gnocchi-api/gnocchi-api.conf"
 TARGET="/etc/gnocchi/gnocchi-api.conf"
 OWNER="gnocchi"
 
diff --git a/docker/haproxy/Dockerfile.j2 b/docker/haproxy/Dockerfile.j2
index e7a4abdddf..4bd73b7e0a 100644
--- a/docker/haproxy/Dockerfile.j2
+++ b/docker/haproxy/Dockerfile.j2
@@ -3,8 +3,7 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
 
-RUN yum -y install \
-        haproxy \
+RUN yum -y install haproxy \
     && yum clean all
 
 {% elif base_distro == 'ubuntu' %}
@@ -19,9 +18,8 @@ RUN apt-get install -y --no-install-recommends haproxy \
 
 {% endif %}
 
-COPY ensure_latest_config.sh /opt/kolla/
-
+COPY ensure_latest_config.sh /usr/local/bin/kolla_ensure_haproxy_latest_config
 COPY extend_start.sh /usr/local/bin/kolla_extend_start
-RUN chmod 755 /usr/local/bin/kolla_extend_start /opt/kolla/ensure_latest_config.sh
+RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ensure_haproxy_latest_config
 
 {{ include_footer }}
diff --git a/docker/haproxy/ensure_latest_config.sh b/docker/haproxy/ensure_latest_config.sh
index af20175a6d..9a34f17587 100644
--- a/docker/haproxy/ensure_latest_config.sh
+++ b/docker/haproxy/ensure_latest_config.sh
@@ -1,11 +1,11 @@
 #!/bin/bash
 
 CURRENT_CONFIG_HASH=$(sha1sum /etc/haproxy/haproxy.cfg | cut -f1 -d' ')
-NEW_CONFIG_HASH=$(sha1sum /opt/kolla/config_files/haproxy.cfg | cut -f1 -d' ')
+NEW_CONFIG_HASH=$(sha1sum /var/lib/kolla/config_files/haproxy.cfg | cut -f1 -d' ')
 
 if [[ $CURRENT_CONFIG_HASH != $NEW_CONFIG_HASH ]]; then
     changed=changed
-    source /opt/kolla/config-external.sh
+    python /usr/local/bin/kolla_set_configs
     /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -sf $(cat /run/haproxy.pid)
 fi
 
diff --git a/docker/ironic/ironic-api/config-external.sh b/docker/ironic/ironic-api/config-external.sh
index b838ee19d0..025bef5b6f 100644
--- a/docker/ironic/ironic-api/config-external.sh
+++ b/docker/ironic/ironic-api/config-external.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-SOURCE="/opt/kolla/ironic-api/ironic.conf"
+SOURCE="/var/lib/kolla/ironic-api/ironic.conf"
 TARGET="/etc/ironic/ironic.conf"
 OWNER="ironic"
 
diff --git a/docker/magnum/magnum-api/config-external.sh b/docker/magnum/magnum-api/config-external.sh
index 573043f7d9..055efd8398 100644
--- a/docker/magnum/magnum-api/config-external.sh
+++ b/docker/magnum/magnum-api/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/magnum/magnum-api/magnum.conf"
+SOURCE="/var/lib/kolla/magnum/magnum-api/magnum.conf"
 TARGET="/etc/magnum/magnum.conf"
 OWNER="magnum"
 
diff --git a/docker/magnum/magnum-conductor/config-external.sh b/docker/magnum/magnum-conductor/config-external.sh
index b96e3179e0..fecdf2e38b 100644
--- a/docker/magnum/magnum-conductor/config-external.sh
+++ b/docker/magnum/magnum-conductor/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/magnum/magnum-conductor/magnum.conf"
+SOURCE="/var/lib/kolla/magnum/magnum-conductor/magnum.conf"
 TARGET="/etc/magnum/magnum.conf"
 OWNER="magnum"
 
diff --git a/docker/neutron/neutron-agents/Dockerfile.j2 b/docker/neutron/neutron-agents/Dockerfile.j2
index 2967222f4d..024a6d2f8b 100644
--- a/docker/neutron/neutron-agents/Dockerfile.j2
+++ b/docker/neutron/neutron-agents/Dockerfile.j2
@@ -28,10 +28,10 @@ COPY supervisord.conf /etc/supervisor/
 # main neutron.conf if we wish
 COPY fwaas_driver.ini /etc/neutron/
 
-COPY neutron-dhcp-agent/ /opt/kolla/neutron-dhcp-agent
-COPY neutron-l3-agent/ /opt/kolla/neutron-l3-agent
-COPY neutron-metadata-agent/ /opt/kolla/neutron-metadata-agent
-COPY config-sudoers.sh /opt/kolla/
+COPY neutron-dhcp-agent/ /var/lib/kolla/neutron-dhcp-agent
+COPY neutron-l3-agent/ /var/lib/kolla/neutron-l3-agent
+COPY neutron-metadata-agent/ /var/lib/kolla/neutron-metadata-agent
+COPY config-sudoers.sh /var/lib/kolla/
 
 COPY start.sh /
 
diff --git a/docker/neutron/neutron-agents/neutron-dhcp-agent/start.sh b/docker/neutron/neutron-agents/neutron-dhcp-agent/start.sh
index 96ecd80e6f..474b6a0b48 100755
--- a/docker/neutron/neutron-agents/neutron-dhcp-agent/start.sh
+++ b/docker/neutron/neutron-agents/neutron-dhcp-agent/start.sh
@@ -2,7 +2,7 @@
 set -o errexit
 
 # Loading common functions.
-source /opt/kolla/config-sudoers.sh
+source /var/lib/kolla/config-sudoers.sh
 
 # Will be removed when neutron-agents is a thin container
 CMD="/usr/bin/neutron-dhcp-agent"
diff --git a/docker/neutron/neutron-agents/neutron-l3-agent/start.sh b/docker/neutron/neutron-agents/neutron-l3-agent/start.sh
index aa73b090b6..0ba99d1fd9 100755
--- a/docker/neutron/neutron-agents/neutron-l3-agent/start.sh
+++ b/docker/neutron/neutron-agents/neutron-l3-agent/start.sh
@@ -2,7 +2,7 @@
 set -o errexit
 
 # Loading common functions.
-source /opt/kolla/config-sudoers.sh
+source /var/lib/kolla/config-sudoers.sh
 
 # Will be removed when this container is broken out into thin containers
 CMD="/usr/bin/neutron-l3-agent"
diff --git a/docker/neutron/neutron-agents/neutron-metadata-agent/start.sh b/docker/neutron/neutron-agents/neutron-metadata-agent/start.sh
index d94f767e24..8a0b5e9382 100755
--- a/docker/neutron/neutron-agents/neutron-metadata-agent/start.sh
+++ b/docker/neutron/neutron-agents/neutron-metadata-agent/start.sh
@@ -2,7 +2,7 @@
 set -o errexit
 
 # Loading common functions.
-source /opt/kolla/config-sudoers.sh
+source /var/lib/kolla/config-sudoers.sh
 
 # Will be removed when this container is broken out in thin containers
 CMD="/usr/bin/neutron-metadata-agent"
diff --git a/docker/neutron/neutron-agents/start.sh b/docker/neutron/neutron-agents/start.sh
index baf3d2a8e7..e156506592 100755
--- a/docker/neutron/neutron-agents/start.sh
+++ b/docker/neutron/neutron-agents/start.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 set -o errexit
 
-# Processing /opt/kolla/config_files/config.json
-python /opt/kolla/set_configs.py
+# Processing /var/lib/kolla/config_files/config.json
+python /usr/local/bin/kolla_set_configs
 
 exec /usr/bin/supervisord
diff --git a/docker/neutron/neutron-agents/supervisord.conf b/docker/neutron/neutron-agents/supervisord.conf
index 5cab8f5dcd..b7a808b3ab 100644
--- a/docker/neutron/neutron-agents/supervisord.conf
+++ b/docker/neutron/neutron-agents/supervisord.conf
@@ -19,21 +19,21 @@ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
 serverurl = unix:///var/run/supervisor.sock
 
 [program:neutron-dhcp-agent]
-command=/opt/kolla/neutron-dhcp-agent/start.sh
+command=/var/lib/kolla/neutron-dhcp-agent/start.sh
 priority=40
 startsec=10
 stderr_events_enabled=true
 stdout_events_enabled=true
 
 [program:neutron-metadata-agent]
-command=/opt/kolla/neutron-metadata-agent/start.sh
+command=/var/lib/kolla/neutron-metadata-agent/start.sh
 priority=40
 startsec=10
 stderr_events_enabled=true
 stdout_events_enabled=true
 
 [program:neutron-l3-agent]
-command=/opt/kolla/neutron-l3-agent/start.sh
+command=/var/lib/kolla/neutron-l3-agent/start.sh
 priority=40
 startsec=10
 stderr_events_enabled=true
diff --git a/docker/neutron/neutron-base/ip_wrapper.py b/docker/neutron/neutron-base/ip_wrapper.py
index 871c615aba..33177d03e9 100644
--- a/docker/neutron/neutron-base/ip_wrapper.py
+++ b/docker/neutron/neutron-base/ip_wrapper.py
@@ -35,7 +35,7 @@ def host_mnt_exec(cmd):
                 nsenter.Namespace(
                     '1',
                     'mnt',
-                    proc='/opt/kolla/host_proc/'))
+                    proc='/var/lib/kolla/host_proc/'))
             process_ = subprocess.Popen(cmd)
 
     except Exception as e:
@@ -57,9 +57,9 @@ if len(sys.argv) > 2:
         cmd = ["/usr/bin/env", "ip"] + sys.argv[1:]
         sys.exit(host_mnt_exec(cmd).returncode)
     else:
-        cmd = ["/opt/kolla/ip"] + sys.argv[1:]
+        cmd = ["/var/lib/kolla/ip"] + sys.argv[1:]
 else:
-    cmd = ["/opt/kolla/ip"]
+    cmd = ["/var/lib/kolla/ip"]
 
     if len(sys.argv) == 2:
         cmd = cmd + sys.argv[1:]
diff --git a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2 b/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
index bdb15a3401..23fc8bde5f 100644
--- a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
+++ b/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
@@ -1,9 +1,8 @@
 FROM {{ namespace }}/{{ image_prefix }}openvswitch-base:{{ tag }}
 MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
-COPY ovs_ensure_configured.sh /opt/kolla/
-
+COPY ovs_ensure_configured.sh /usr/local/bin/kolla_ensure_openvswitch_configured
 COPY extend_start.sh /usr/local/bin/kolla_extend_start
-RUN chmod 755 /usr/local/bin/kolla_extend_start /opt/kolla/ovs_ensure_configured.sh
+RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ensure_openvswitch_configured
 
 {{ include_footer }}
diff --git a/docker/swift/swift-base/Dockerfile.j2 b/docker/swift/swift-base/Dockerfile.j2
index 8a9747d2a5..192e9821c8 100644
--- a/docker/swift/swift-base/Dockerfile.j2
+++ b/docker/swift/swift-base/Dockerfile.j2
@@ -20,5 +20,6 @@ RUN ln -s swift-base-source/* swift \
 
 {% endif %}
 
-COPY config-swift.sh build-swift-ring.py /opt/kolla/
+COPY config-swift.sh /usr/local/bin/kolla_config_swift
+COPY build-swift-ring.py /usr/local/bin/kolla_build_swift_ring
 RUN mkdir /opt/swift
diff --git a/docker/swift/swift-proxy-server/extend_start.sh b/docker/swift/swift-proxy-server/extend_start.sh
index 78afd2e997..8fce9c1543 100644
--- a/docker/swift/swift-proxy-server/extend_start.sh
+++ b/docker/swift/swift-proxy-server/extend_start.sh
@@ -1,3 +1,3 @@
 #!/bin/bash
 
-source /opt/kolla/config-swift.sh
+source /usr/local/bin/kolla_config_swift
diff --git a/docker/zaqar/config-external.sh b/docker/zaqar/config-external.sh
index 7ed6da2eb4..e02d342910 100644
--- a/docker/zaqar/config-external.sh
+++ b/docker/zaqar/config-external.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-SOURCE="/opt/kolla/zaqar/zaqar.conf"
+SOURCE="/var/lib/kolla/zaqar/zaqar.conf"
 TARGET="/etc/zaqar/zaqar.conf"
 OWNER="zaqar"