diff --git a/ansible/roles/octavia/defaults/main.yml b/ansible/roles/octavia/defaults/main.yml
index e3fc7db4ecc56a4b4cd0fbe41837dd43f139ae1b..66ee76b62f2b1321347fcea3002cb7ff431ee382 100644
--- a/ansible/roles/octavia/defaults/main.yml
+++ b/ansible/roles/octavia/defaults/main.yml
@@ -11,6 +11,7 @@ octavia_services:
       - "{{ node_config_directory }}/octavia-api/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ octavia_api_dimensions }}"
   octavia-health-manager:
     container_name: octavia_health_manager
     group: octavia-health-manager
@@ -20,6 +21,7 @@ octavia_services:
       - "{{ node_config_directory }}/octavia-health-manager/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ octavia_health_manager_dimensions }}"
   octavia-housekeeping:
     container_name: octavia_housekeeping
     group: octavia-housekeeping
@@ -29,6 +31,7 @@ octavia_services:
       - "{{ node_config_directory }}/octavia-housekeeping/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ octavia_housekeeping_dimensions }}"
   octavia-worker:
     container_name: octavia_worker
     group: octavia-worker
@@ -38,6 +41,7 @@ octavia_services:
       - "{{ node_config_directory }}/octavia-worker/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ octavia_worker_dimensions }}"
 
 octavia_required_roles:
   - load-balancer_observer
@@ -77,6 +81,11 @@ octavia_worker_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{
 octavia_worker_tag: "{{ octavia_tag }}"
 octavia_worker_image_full: "{{ octavia_worker_image }}:{{ octavia_worker_tag }}"
 
+octavia_api_dimensions: "{{ default_container_dimensions }}"
+octavia_health_manager_dimensions: "{{ default_container_dimensions }}"
+octavia_housekeeping_dimensions: "{{ default_container_dimensions }}"
+octavia_worker_dimensions: "{{ default_container_dimensions }}"
+
 
 ####################
 # OpenStack
diff --git a/ansible/roles/octavia/handlers/main.yml b/ansible/roles/octavia/handlers/main.yml
index 94b319383a34fbe5724497b99265a76eb417a8be..139f63bad6b46768783e8793824bdc5759daf4bf 100644
--- a/ansible/roles/octavia/handlers/main.yml
+++ b/ansible/roles/octavia/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -35,6 +36,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -58,6 +60,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -81,6 +84,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/octavia/tasks/config.yml b/ansible/roles/octavia/tasks/config.yml
index 74ec14970bcb93a31458a64f7143b363fbf02bbc..435bf46eb56047d4e42ad9348c5af77ec0dd3c69 100644
--- a/ansible/roles/octavia/tasks/config.yml
+++ b/ansible/roles/octavia/tasks/config.yml
@@ -108,6 +108,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_octavia_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/opendaylight/defaults/main.yml b/ansible/roles/opendaylight/defaults/main.yml
index f2d35bda472d8233705807a33b3684ba09e8c41f..42278c985794e9883c554ab7a71983c2a87dab7f 100644
--- a/ansible/roles/opendaylight/defaults/main.yml
+++ b/ansible/roles/opendaylight/defaults/main.yml
@@ -13,6 +13,7 @@ opendaylight_services:
       - "{{ node_config_directory }}/opendaylight/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ opendaylight_dimensions }}"
 
 ####################
 # Docker
@@ -22,3 +23,4 @@ opendaylight_install_type: "{{ kolla_install_type }}"
 opendaylight_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ opendaylight_install_type }}-opendaylight"
 opendaylight_tag: "{{ openstack_release }}"
 opendaylight_image_full: "{{ opendaylight_image }}:{{ opendaylight_tag }}"
+opendaylight_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/opendaylight/handlers/main.yml b/ansible/roles/opendaylight/handlers/main.yml
index ae42b61a57fd5d38cfecea0e2e3218debfd5c501..c9bd033c2c23524303a84b5c93f5f181e1354ccc 100644
--- a/ansible/roles/opendaylight/handlers/main.yml
+++ b/ansible/roles/opendaylight/handlers/main.yml
@@ -11,6 +11,7 @@
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
     privileged: "{{ service.privileged | default(False) }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - service.enabled | bool
diff --git a/ansible/roles/opendaylight/tasks/config.yml b/ansible/roles/opendaylight/tasks/config.yml
index 9a31d97b62aad67b8a5cfdf51a90e26440ec8891..1f529ce58939cd7eae0902a5f558d8488442bde1 100644
--- a/ansible/roles/opendaylight/tasks/config.yml
+++ b/ansible/roles/opendaylight/tasks/config.yml
@@ -213,6 +213,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_opendaylight_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/openvswitch/defaults/main.yml b/ansible/roles/openvswitch/defaults/main.yml
index 1e7b0d240cf4d5f8aa0267d6c2f551f8f3b76fa4..ee77b2d699e7f67bc58adb576272b35e1a97a335 100644
--- a/ansible/roles/openvswitch/defaults/main.yml
+++ b/ansible/roles/openvswitch/defaults/main.yml
@@ -22,6 +22,7 @@ openvswitch_services:
       - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
       - "openvswitch_db:/var/lib/openvswitch/"
+    dimensions: "{{ openvswitch_db_dimensions }}"
   openvswitch-vswitchd:
     container_name: "openvswitch_vswitchd"
     image: "{{ openvswitch_vswitchd_image_full }}"
@@ -42,6 +43,7 @@ openvswitch_services:
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ openvswitch_vswitchd_dimensions }}"
 
 ####################
 # Docker
@@ -56,3 +58,6 @@ openvswitch_db_image_full: "{{ openvswitch_db_image }}:{{ openvswitch_db_tag }}"
 openvswitch_vswitchd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ openvswitch_install_type }}-openvswitch-vswitchd"
 openvswitch_vswitchd_tag: "{{ openvswitch_tag }}"
 openvswitch_vswitchd_image_full: "{{ openvswitch_vswitchd_image }}:{{ openvswitch_vswitchd_tag }}"
+
+openvswitch_db_dimensions: "{{ default_container_dimensions }}"
+openvswitch_vswitchd_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/openvswitch/handlers/main.yml b/ansible/roles/openvswitch/handlers/main.yml
index 6181bac10440946e53f88558c7709868d05ce110..aebafb418576d858b38ce5b53f8c874680c92a44 100644
--- a/ansible/roles/openvswitch/handlers/main.yml
+++ b/ansible/roles/openvswitch/handlers/main.yml
@@ -12,6 +12,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - service.enabled | bool
@@ -57,6 +58,7 @@
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
     privileged: "{{ service.privileged | default(False) }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - service.enabled | bool
diff --git a/ansible/roles/openvswitch/tasks/config.yml b/ansible/roles/openvswitch/tasks/config.yml
index 20ddca920e6562d1c0d51b19f6c526184e8bd13d..a15a1e8d706d37428d1060744072ac87be0f9a35 100644
--- a/ansible/roles/openvswitch/tasks/config.yml
+++ b/ansible/roles/openvswitch/tasks/config.yml
@@ -63,6 +63,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_openvswitch_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/ovs-dpdk/defaults/main.yml b/ansible/roles/ovs-dpdk/defaults/main.yml
index af677daeae6dc7797dc468092d368fa3d87245d1..85b7e2b3bde41dcf073d1fdc916187232dfd4f65 100644
--- a/ansible/roles/ovs-dpdk/defaults/main.yml
+++ b/ansible/roles/ovs-dpdk/defaults/main.yml
@@ -22,6 +22,7 @@ ovsdpdk_services:
       - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
       - "ovsdpdk_db:/var/lib/openvswitch/"
+    dimensions: "{{ ovsdpdk_db_dimensions }}"
   ovsdpdk-vswitchd:
     container_name: "ovsdpdk_vswitchd"
     image: "{{ ovsdpdk_vswitchd_image_full }}"
@@ -42,6 +43,7 @@ ovsdpdk_services:
       - "/run:/run:shared"
       - "/dev:/dev:shared"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ ovsdpdk_vswitchd_dimensions }}"
 
 ####################
 # OVS
@@ -81,3 +83,5 @@ ovsdpdk_db_image_full: "{{ ovsdpdk_db_image }}:{{ ovsdpdk_db_tag }}"
 ovsdpdk_vswitchd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ovsdpdk_install_type }}-ovsdpdk-vswitchd"
 ovsdpdk_vswitchd_tag: "{{ ovsdpdk_tag }}"
 ovsdpdk_vswitchd_image_full: "{{ ovsdpdk_vswitchd_image }}:{{ ovsdpdk_vswitchd_tag }}"
+ovsdpdk_db_dimensions: "{{ default_container_dimensions }}"
+ovsdpdk_vswitchd_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/ovs-dpdk/handlers/main.yml b/ansible/roles/ovs-dpdk/handlers/main.yml
index 5aa29ae7c6810df92e85f657cd4d705f06dfaa59..8c92ddbed8db65023c9d888f08a42bc679c3d4c8 100644
--- a/ansible/roles/ovs-dpdk/handlers/main.yml
+++ b/ansible/roles/ovs-dpdk/handlers/main.yml
@@ -12,6 +12,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - service.enabled | bool
@@ -66,6 +67,7 @@
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
     privileged: "{{ service.privileged | default(True) }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - service.enabled | bool
diff --git a/ansible/roles/ovs-dpdk/tasks/config.yml b/ansible/roles/ovs-dpdk/tasks/config.yml
index 6caa1c6bda53a3b4d17523b1ab1bc94f74233e6a..1e7fd0f055e97f07830ac5b50fbe81be881be331 100644
--- a/ansible/roles/ovs-dpdk/tasks/config.yml
+++ b/ansible/roles/ovs-dpdk/tasks/config.yml
@@ -53,6 +53,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_ovsdpdk_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/panko/defaults/main.yml b/ansible/roles/panko/defaults/main.yml
index ce22d3a3695b0814899a341a2025a418a2d199df..e70f170c4093c5890ff16b341970422bdcee3511 100644
--- a/ansible/roles/panko/defaults/main.yml
+++ b/ansible/roles/panko/defaults/main.yml
@@ -11,6 +11,7 @@ panko_services:
       - "{{ node_config_directory }}/panko-api/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ panko_api_dimensions }}"
 
 
 ####################
@@ -28,6 +29,7 @@ panko_database_mysql_address: "{{ database_address }}:{{ database_port }}"
 panko_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-panko-api"
 panko_api_tag: "{{ openstack_release }}"
 panko_api_image_full: "{{ panko_api_image }}:{{ panko_api_tag }}"
+panko_api_dimensions: "{{ default_container_dimensions }}"
 
 ####################
 # OpenStack
diff --git a/ansible/roles/panko/handlers/main.yml b/ansible/roles/panko/handlers/main.yml
index 9c2290ea4d26b40b18e80592b405270e5a2e12db..fb473036e628a78cdcf9eff6999cad551bf9caf0 100644
--- a/ansible/roles/panko/handlers/main.yml
+++ b/ansible/roles/panko/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/panko/tasks/config.yml b/ansible/roles/panko/tasks/config.yml
index 086744acc6732b5c3077eb0ca0d9b1def684985c..bbaf7c95316fcfd629848a70fef88422a2b5797d 100644
--- a/ansible/roles/panko/tasks/config.yml
+++ b/ansible/roles/panko/tasks/config.yml
@@ -102,6 +102,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_panko_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/prometheus/defaults/main.yml b/ansible/roles/prometheus/defaults/main.yml
index 41179d66f50f63d24db71b9f55e4ec496870fe63..a8340c775e5e3c5c8928cf22513b39c96e5d93fb 100644
--- a/ansible/roles/prometheus/defaults/main.yml
+++ b/ansible/roles/prometheus/defaults/main.yml
@@ -12,6 +12,7 @@ prometheus_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "prometheus:/var/lib/prometheus"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ prometheus_server_dimensions }}"
   prometheus-node-exporter:
     container_name: prometheus_node_exporter
     group: prometheus-node-exporter
@@ -24,6 +25,7 @@ prometheus_services:
       - "kolla_logs:/var/log/kolla/"
       - "/proc:/host/proc:ro"
       - "/sys:/host/sys:ro"
+    dimensions: "{{ prometheus_node_exporter_dimensions }}"
   prometheus-mysqld-exporter:
     container_name: prometheus_mysqld_exporter
     group: prometheus-mysqld-exporter
@@ -33,6 +35,7 @@ prometheus_services:
       - "{{ node_config_directory }}/prometheus-mysqld-exporter/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ prometheus_mysqld_exporter_dimensions }}"
   prometheus-haproxy-exporter:
     container_name: prometheus_haproxy_exporter
     group: prometheus-haproxy-exporter
@@ -43,6 +46,7 @@ prometheus_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "haproxy_socket:/var/lib/kolla/haproxy"
+    dimensions: "{{ prometheus_haproxy_exporter_dimensions }}"
   prometheus-memcached-exporter:
     container_name: prometheus_memcached_exporter
     group: prometheus-memcached-exporter
@@ -52,6 +56,7 @@ prometheus_services:
       - "{{ node_config_directory }}/prometheus-memcached-exporter/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ prometheus_memcached_exporter_dimensions }}"
   prometheus-cadvisor:
     container_name: "prometheus_cadvisor"
     group: "prometheus-cadvisor"
@@ -66,6 +71,7 @@ prometheus_services:
       - "/sys:/sys:ro"
       - "/varlib/docker/:/var/lib/docker:ro"
       - "/dev/disk/:/dev/disk:ro"
+    dimensions: "{{ prometheus_cadvisor_dimensions }}"
   prometheus-alertmanager:
     container_name: "prometheus_alertmanager"
     group: "prometheus-alertmanager"
@@ -76,6 +82,7 @@ prometheus_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "prometheus:/var/lib/prometheus"
+    dimensions: "{{ prometheus_alertmanager_dimensions }}"
 
 ####################
 # Database
@@ -115,3 +122,11 @@ prometheus_cadvisor_image_full: "{{ prometheus_cadvisor_image }}:{{ prometheus_c
 prometheus_alertmanager_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-prometheus-alertmanager"
 prometheus_alertmanager_tag: "{{ openstack_release }}"
 prometheus_alertmanager_image_full: "{{ prometheus_alertmanager_image }}:{{ prometheus_alertmanager_tag }}"
+
+prometheus_server_dimensions: "{{ default_container_dimensions }}"
+prometheus_haproxy_exporter_dimensions: "{{ default_container_dimensions }}"
+prometheus_mysqld_exporter_dimensions: "{{ default_container_dimensions }}"
+prometheus_node_exporter_dimensions: "{{ default_container_dimensions }}"
+prometheus_memcached_exporter_dimensions: "{{ default_container_dimensions }}"
+prometheus_cadvisor_dimensions: "{{ default_container_dimensions }}"
+prometheus_alertmanager_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/prometheus/handlers/main.yml b/ansible/roles/prometheus/handlers/main.yml
index bcac309d5b275b74933e311345f1ed384c869481..5e935dc789187d8fdccc368c8a50b2b1dad705a1 100644
--- a/ansible/roles/prometheus/handlers/main.yml
+++ b/ansible/roles/prometheus/handlers/main.yml
@@ -12,6 +12,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -34,6 +35,7 @@
     image: "{{ service.image }}"
     pid_mode: "{{ service.pid_mode | default(emit) }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -54,6 +56,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -75,6 +78,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -95,6 +99,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -114,6 +119,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -133,6 +139,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/prometheus/tasks/config.yml b/ansible/roles/prometheus/tasks/config.yml
index a1b075b870b086d93f4436e9eb19b9ae76014200..b9591e346efc83c805c2961b72c02d9e8449bce4 100644
--- a/ansible/roles/prometheus/tasks/config.yml
+++ b/ansible/roles/prometheus/tasks/config.yml
@@ -81,6 +81,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_prometheus_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/qdrouterd/defaults/main.yml b/ansible/roles/qdrouterd/defaults/main.yml
index f4b58ca26f03bbef197aa3355a514c34665eb801..08c38acd4f0a3654f06736d1ac85be44e01a1f47 100644
--- a/ansible/roles/qdrouterd/defaults/main.yml
+++ b/ansible/roles/qdrouterd/defaults/main.yml
@@ -12,7 +12,7 @@ qdrouterd_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "qdrouterd:/var/lib/qdrouterd/"
       - "kolla_logs:/var/log/kolla/"
-
+    dimensions: "{{ qdrouterd_dimensions }}"
 
 ####################
 # Docker
@@ -20,3 +20,4 @@ qdrouterd_services:
 qdrouterd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-qdrouterd"
 qdrouterd_tag: "{{ openstack_release }}"
 qdrouterd_image_full: "{{ qdrouterd_image }}:{{ qdrouterd_tag }}"
+qdrouterd_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/qdrouterd/handlers/main.yml b/ansible/roles/qdrouterd/handlers/main.yml
index e679b314ef187b4d486f332709fa4593be8115f2..7dd59039e3fb7f38dc559fad18f6154d6018effd 100644
--- a/ansible/roles/qdrouterd/handlers/main.yml
+++ b/ansible/roles/qdrouterd/handlers/main.yml
@@ -12,6 +12,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/qdrouterd/tasks/config.yml b/ansible/roles/qdrouterd/tasks/config.yml
index 04c957ce2b0632536ad93c7233692c89a9ac918f..82f46f336f7d8f1f1b2185a0655c417d9843f7a4 100644
--- a/ansible/roles/qdrouterd/tasks/config.yml
+++ b/ansible/roles/qdrouterd/tasks/config.yml
@@ -72,6 +72,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_qdrouterd_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/rabbitmq/defaults/main.yml b/ansible/roles/rabbitmq/defaults/main.yml
index deb7876f7abc1154c38256bc2ddecd152ac80136..f709401e95eca73c6943993bd521d3badf3544dc 100644
--- a/ansible/roles/rabbitmq/defaults/main.yml
+++ b/ansible/roles/rabbitmq/defaults/main.yml
@@ -21,6 +21,7 @@ rabbitmq_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ project_name }}:/var/lib/rabbitmq/"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ rabbitmq_dimensions }}"
 
 
 ####################
@@ -29,6 +30,7 @@ rabbitmq_services:
 rabbitmq_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-rabbitmq"
 rabbitmq_tag: "{{ openstack_release }}"
 rabbitmq_image_full: "{{ rabbitmq_image }}:{{ rabbitmq_tag }}"
+rabbitmq_dimensions: "{{ default_container_dimensions }}"
 
 
 ####################
diff --git a/ansible/roles/rabbitmq/handlers/main.yml b/ansible/roles/rabbitmq/handlers/main.yml
index deffdbb14d3f71cb4fb30d3c23c9abcc4bce8f28..3c31cf700d6c269de69b18a51d6d47c6f51f4e45 100644
--- a/ansible/roles/rabbitmq/handlers/main.yml
+++ b/ansible/roles/rabbitmq/handlers/main.yml
@@ -13,6 +13,7 @@
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
     environment: "{{ service.environment }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/rabbitmq/tasks/config.yml b/ansible/roles/rabbitmq/tasks/config.yml
index 98b0dc046204bf880aaed8add766b32054e8076c..91ee75bc3959739928579a057951f2bfc86e5da7 100644
--- a/ansible/roles/rabbitmq/tasks/config.yml
+++ b/ansible/roles/rabbitmq/tasks/config.yml
@@ -55,6 +55,7 @@
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
     environment: "{{ item.value.environment }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_rabbitmq_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/rally/defaults/main.yml b/ansible/roles/rally/defaults/main.yml
index c6227150f80cac02b6a2bf931eebdcc5d78f578c..c8bc103f2ddcfc66d1648cc4405f3a9249c2078f 100644
--- a/ansible/roles/rally/defaults/main.yml
+++ b/ansible/roles/rally/defaults/main.yml
@@ -11,6 +11,7 @@ rally_services:
       - "{{ node_config_directory }}/rally/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ rally_dimensions }}"
 
 
 ########
@@ -19,6 +20,7 @@ rally_services:
 rally_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-rally"
 rally_tag: "{{ openstack_release }}"
 rally_image_full: "{{ rally_image }}:{{ rally_tag }}"
+rally_dimensions: "{{ default_container_dimensions }}"
 
 
 ####################
diff --git a/ansible/roles/rally/handlers/main.yml b/ansible/roles/rally/handlers/main.yml
index 0c31c7c413e3cc62f015e5bfa31baaf98cfc6078..29c20f725f61a7cf99c6361b33dffb466f095159 100644
--- a/ansible/roles/rally/handlers/main.yml
+++ b/ansible/roles/rally/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/rally/tasks/config.yml b/ansible/roles/rally/tasks/config.yml
index 950b9be2f4a0e672773c9980793ac31fa9c0c8bd..7309818ec56b561cc2304747a6f4308e2e7c00c2 100644
--- a/ansible/roles/rally/tasks/config.yml
+++ b/ansible/roles/rally/tasks/config.yml
@@ -84,6 +84,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_rally_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/redis/defaults/main.yml b/ansible/roles/redis/defaults/main.yml
index 3ff30a8c3cb218d81e7b6f9cdcd856b6fc217d4c..8c551d4969fc0abf43ab9a37bd2159eab8a34ee8 100644
--- a/ansible/roles/redis/defaults/main.yml
+++ b/ansible/roles/redis/defaults/main.yml
@@ -12,6 +12,7 @@ redis_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ project_name }}:/var/lib/redis/"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ redis_dimensions }}"
   redis-sentinel:
     container_name: redis_sentinel
     group: redis
@@ -21,6 +22,7 @@ redis_services:
       - "{{ node_config_directory }}/redis-sentinel/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ redis_sentinel_dimensions }}"
 
 ####################
 # Docker
@@ -32,3 +34,5 @@ redis_image_full: "{{ redis_image }}:{{ redis_tag }}"
 redis_sentinel_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-redis-sentinel"
 redis_sentinel_tag: "{{ openstack_release }}"
 redis_sentinel_image_full: "{{ redis_sentinel_image }}:{{ redis_tag }}"
+redis_dimensions: "{{ default_container_dimensions }}"
+redis_sentinel_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/redis/handlers/main.yml b/ansible/roles/redis/handlers/main.yml
index 30dfe4927fca077b4826e98db5fbcba08b13b2ea..2822d510bf969a6b8802c013e40e4cc14e1c2135 100644
--- a/ansible/roles/redis/handlers/main.yml
+++ b/ansible/roles/redis/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -35,6 +36,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/redis/tasks/config.yml b/ansible/roles/redis/tasks/config.yml
index bc9486d5c1fdf9ceafe80c1ae37cdee40fa6b499..89eb645dd98fe4e7391692f08cf226ad1ceed309 100644
--- a/ansible/roles/redis/tasks/config.yml
+++ b/ansible/roles/redis/tasks/config.yml
@@ -48,6 +48,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_redis_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/sahara/defaults/main.yml b/ansible/roles/sahara/defaults/main.yml
index 426fb1a75f78b88af5a5d8ea333ad28436caa77e..cb5a930f1c924b77c582fec3c1059d7aac694713 100644
--- a/ansible/roles/sahara/defaults/main.yml
+++ b/ansible/roles/sahara/defaults/main.yml
@@ -13,6 +13,7 @@ sahara_services:
       - "sahara:/var/lib/sahara/"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}"
+    dimensions: "{{ sahara_api_dimensions }}"
   sahara-engine:
     container_name: sahara_engine
     group: sahara-engine
@@ -26,6 +27,7 @@ sahara_services:
       - "kolla_logs:/var/log/kolla/"
       - "/run:/run:shared"
       - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}"
+    dimensions: "{{ sahara_engine_dimensions }}"
 
 
 ####################
@@ -50,6 +52,8 @@ sahara_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ dock
 sahara_api_tag: "{{ sahara_tag }}"
 sahara_api_image_full: "{{ sahara_api_image }}:{{ sahara_api_tag }}"
 
+sahara_api_dimensions: "{{ default_container_dimensions }}"
+sahara_engine_dimensions: "{{ default_container_dimensions }}"
 
 ####################
 # OpenStack
diff --git a/ansible/roles/sahara/handlers/main.yml b/ansible/roles/sahara/handlers/main.yml
index 83ee69fd8fb1dc1e2cec3982e82691326c054d45..e47045caeca5f713cad83c5a5d2ea57ce1d34e38 100644
--- a/ansible/roles/sahara/handlers/main.yml
+++ b/ansible/roles/sahara/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -39,6 +40,7 @@
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
     privileged: "{{ service.privileged | default(False) }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/sahara/tasks/config.yml b/ansible/roles/sahara/tasks/config.yml
index f7f249f524f4c837d605c16e146ec98d72d1cf4d..43c771ecff6c61c8a1895a136ae5d19250078cf6 100644
--- a/ansible/roles/sahara/tasks/config.yml
+++ b/ansible/roles/sahara/tasks/config.yml
@@ -91,6 +91,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_sahara_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/searchlight/defaults/main.yml b/ansible/roles/searchlight/defaults/main.yml
index bc5b3435f772025598eedf00f26c1f5aa4863727..9b0110d856cf0148b192f6dc1a19c257f856be5c 100644
--- a/ansible/roles/searchlight/defaults/main.yml
+++ b/ansible/roles/searchlight/defaults/main.yml
@@ -11,6 +11,7 @@ searchlight_services:
       - "{{ node_config_directory }}/searchlight-api/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ searchlight_api_dimensions }}"
   searchlight-listener:
     container_name: searchlight_listener
     group: searchlight-listener
@@ -20,6 +21,7 @@ searchlight_services:
       - "{{ node_config_directory }}/searchlight-listener/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ searchlight_listener_dimensions }}"
 
 ####################
 # Elasticsearch
@@ -40,6 +42,9 @@ searchlight_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{
 searchlight_api_tag: "{{ searchlight_tag }}"
 searchlight_api_image_full: "{{ searchlight_api_image }}:{{ searchlight_api_tag }}"
 
+searchlight_api_dimensions: "{{ default_container_dimensions }}"
+searchlight_listener_dimensions: "{{ default_container_dimensions }}"
+
 
 ####################
 # OpenStack
diff --git a/ansible/roles/searchlight/handlers/main.yml b/ansible/roles/searchlight/handlers/main.yml
index 7d109af6f5b2f8e953cf0f275b91bffeb9aee24a..984f2725c2126e018495ada985653b5a6f594db5 100644
--- a/ansible/roles/searchlight/handlers/main.yml
+++ b/ansible/roles/searchlight/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -38,6 +39,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/searchlight/tasks/config.yml b/ansible/roles/searchlight/tasks/config.yml
index c26360a8ac92f1dfb4796a01d62d2ef07a2a16db..19269fbad78b7b682a778d6b64a079545bf0d9fe 100644
--- a/ansible/roles/searchlight/tasks/config.yml
+++ b/ansible/roles/searchlight/tasks/config.yml
@@ -86,6 +86,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_searchlight_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/senlin/defaults/main.yml b/ansible/roles/senlin/defaults/main.yml
index 5515d0d106b8584aa95d21ba3addecf2a595ffb5..26027d95254dce22b4051ed9609f51765f8990fa 100644
--- a/ansible/roles/senlin/defaults/main.yml
+++ b/ansible/roles/senlin/defaults/main.yml
@@ -12,6 +12,7 @@ senlin_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
+    dimensions: "{{ senlin_api_dimensions }}"
   senlin-engine:
     container_name: senlin_engine
     group: senlin-engine
@@ -22,6 +23,7 @@ senlin_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
+    dimensions: "{{ senlin_engine_dimensions }}"
 
 ####################
 # Database
@@ -45,6 +47,9 @@ senlin_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ dock
 senlin_api_tag: "{{ senlin_tag }}"
 senlin_api_image_full: "{{ senlin_api_image }}:{{ senlin_api_tag }}"
 
+senlin_api_dimensions: "{{ default_container_dimensions }}"
+senlin_engine_dimensions: "{{ default_container_dimensions }}"
+
 
 ####################
 # OpenStack
diff --git a/ansible/roles/senlin/handlers/main.yml b/ansible/roles/senlin/handlers/main.yml
index fa4f517da4308efe7af7d329f7276289c22e6cb8..b2f7846f6365cc1da10f18e5c2ec829a7f5c6aa1 100644
--- a/ansible/roles/senlin/handlers/main.yml
+++ b/ansible/roles/senlin/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -38,6 +39,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/senlin/tasks/config.yml b/ansible/roles/senlin/tasks/config.yml
index 90bf1fabe1a35544e121fa32b9e33bcb23e1335d..dd688f95f84bd46ec06cce8a80840850547b5262 100644
--- a/ansible/roles/senlin/tasks/config.yml
+++ b/ansible/roles/senlin/tasks/config.yml
@@ -90,6 +90,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_senlin_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/skydive/defaults/main.yml b/ansible/roles/skydive/defaults/main.yml
index a30ca1a9a87278968419995b420a0a79cffe6668..019fbd3517c82ba54979ade4f1dba41a1eaf887e 100644
--- a/ansible/roles/skydive/defaults/main.yml
+++ b/ansible/roles/skydive/defaults/main.yml
@@ -11,6 +11,7 @@ skydive_services:
       - "{{ node_config_directory }}/skydive-analyzer/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ skydive_analyzer_dimensions }}"
   skydive-agent:
     container_name: skydive_agent
     group: skydive-agent
@@ -23,6 +24,7 @@ skydive_services:
       - "/var/run/openvswitch:/var/run/openvswitch:ro"
       - "/var/run/netns:/host/run:shared"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ skydive_agent_dimensions }}"
 
 ####################
 # Docker
@@ -34,3 +36,5 @@ skydive_analyzer_image_full: "{{ skydive_analyzer_image }}:{{ skydive_analyzer_t
 skydive_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-skydive-agent"
 skydive_agent_tag: "{{ openstack_release }}"
 skydive_agent_image_full: "{{ skydive_agent_image }}:{{ skydive_agent_tag }}"
+skydive_analyzer_dimensions: "{{ default_container_dimensions }}"
+skydive_agent_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/skydive/handlers/main.yml b/ansible/roles/skydive/handlers/main.yml
index a7ddb9be08efb7f013552fc30948b9eb7bfe2d99..7700e96ecd361c2e5e329869bdf9e62d25310e00 100644
--- a/ansible/roles/skydive/handlers/main.yml
+++ b/ansible/roles/skydive/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -36,6 +37,7 @@
     image: "{{ service.image }}"
     privileged: "{{ service.privileged }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/skydive/tasks/config.yml b/ansible/roles/skydive/tasks/config.yml
index 3c0b221948847ddaad85a3780bf7d3edfd7c999d..aa83bbb3fe0023d0b927714ade741c3138b0c2d8 100644
--- a/ansible/roles/skydive/tasks/config.yml
+++ b/ansible/roles/skydive/tasks/config.yml
@@ -51,6 +51,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_skydive_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/solum/defaults/main.yml b/ansible/roles/solum/defaults/main.yml
index 7c4546d2620aa54f0512dc7f1e14b4296168c01d..92d68f4106a363af95ca0b3a2882d48fd2ea7989 100644
--- a/ansible/roles/solum/defaults/main.yml
+++ b/ansible/roles/solum/defaults/main.yml
@@ -12,6 +12,7 @@ solum_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}"
+    dimensions: "{{ solum_api_dimensions }}"
   solum-worker:
     container_name: solum_worker
     group: solum-worker
@@ -22,6 +23,7 @@ solum_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}"
+    dimensions: "{{ solum_worker_dimensions }}"
   solum-deployer:
     container_name: solum_deployer
     group: solum-deployer
@@ -32,6 +34,7 @@ solum_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}"
+    dimensions: "{{ solum_deployer_dimensions }}"
   solum-conductor:
     container_name: solum_conductor
     group: solum-conductor
@@ -42,6 +45,7 @@ solum_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}"
+    dimensions: "{{ solum_conductor_dimensions }}"
 
 
 ####################
@@ -74,6 +78,10 @@ solum_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docke
 solum_api_tag: "{{ solum_tag }}"
 solum_api_image_full: "{{ solum_api_image }}:{{ solum_api_tag }}"
 
+solum_api_dimensions: "{{ default_container_dimensions }}"
+solum_worker_dimensions: "{{ default_container_dimensions }}"
+solum_deployer_dimensions: "{{ default_container_dimensions }}"
+solum_conductor_dimensions: "{{ default_container_dimensions }}"
 
 ####################
 # OpenStack
diff --git a/ansible/roles/solum/handlers/main.yml b/ansible/roles/solum/handlers/main.yml
index 0e122dea768e8ac7a0267426dd9ee20e4d11e78f..34c564e0b9c05c8ae859b0499a7da4654e726ae9 100644
--- a/ansible/roles/solum/handlers/main.yml
+++ b/ansible/roles/solum/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -35,6 +36,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -57,6 +59,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -79,6 +82,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/solum/tasks/config.yml b/ansible/roles/solum/tasks/config.yml
index c286fc1ad33077c382e7d7ee8992894625b88134..f2b8b6f8aa3e5fbf4031e6d02e3d9ecf4c24ee16 100644
--- a/ansible/roles/solum/tasks/config.yml
+++ b/ansible/roles/solum/tasks/config.yml
@@ -61,6 +61,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_solum_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/tacker/defaults/main.yml b/ansible/roles/tacker/defaults/main.yml
index 833c014958df2c0530c4db17717246fbcff27088..4ad540b9516e2bf0edd9e59424ce4f73ae487ce2 100644
--- a/ansible/roles/tacker/defaults/main.yml
+++ b/ansible/roles/tacker/defaults/main.yml
@@ -12,6 +12,7 @@ tacker_services:
       - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ tacker_server_dimensions }}"
   tacker-conductor:
     container_name: "tacker_conductor"
     group: "tacker-conductor"
@@ -22,6 +23,7 @@ tacker_services:
       - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ tacker_conductor_dimensions }}"
 
 ####################
 # Database
@@ -44,6 +46,9 @@ tacker_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{
 tacker_conductor_tag: "{{ tacker_tag }}"
 tacker_conductor_image_full: "{{ tacker_conductor_image }}:{{ tacker_conductor_tag }}"
 
+tacker_server_dimensions: "{{ default_container_dimensions }}"
+tacker_conductor_dimensions: "{{ default_container_dimensions }}"
+
 ####################
 # OpenStack
 ####################
diff --git a/ansible/roles/tacker/handlers/main.yml b/ansible/roles/tacker/handlers/main.yml
index 2f5b65661428a3695540ec1e952eef51448ed73f..9905c486f26e921b471ee85522d4b0fb26d1e3c2 100644
--- a/ansible/roles/tacker/handlers/main.yml
+++ b/ansible/roles/tacker/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -38,6 +39,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/tacker/tasks/config.yml b/ansible/roles/tacker/tasks/config.yml
index abc96248d2fa601c62b63c63c5bbaa4e9193bbc8..e50bb44dae6e42c2783d02d333b26149a4682221 100644
--- a/ansible/roles/tacker/tasks/config.yml
+++ b/ansible/roles/tacker/tasks/config.yml
@@ -89,6 +89,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   when:
     - kolla_action != 'config'
     - inventory_hostname in groups[item.value.group]
diff --git a/ansible/roles/telegraf/defaults/main.yml b/ansible/roles/telegraf/defaults/main.yml
index 1ab9f3621f7b96ea26a580c3e4187c6eda4121b4..815fe77af220cf530f9ba7e1b2037b8656006d42 100644
--- a/ansible/roles/telegraf/defaults/main.yml
+++ b/ansible/roles/telegraf/defaults/main.yml
@@ -15,7 +15,7 @@ telegraf_services:
       - "/sys:/rootfs/sys:ro"
       - "/proc:/rootfs/proc:ro"
       - "/var/run/docker.sock:/var/run/docker.sock:ro"
-
+    dimensions: "{{ telegraf_dimensions }}"
 
 ####################
 # Docker
@@ -23,7 +23,7 @@ telegraf_services:
 telegraf_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-telegraf"
 telegraf_tag: "{{ openstack_release }}"
 telegraf_image_full: "{{ telegraf_image }}:{{ telegraf_tag }}"
-
+telegraf_dimensions: "{{ default_container_dimensions }}"
 
 ####################
 # Protocols
diff --git a/ansible/roles/telegraf/handlers/main.yml b/ansible/roles/telegraf/handlers/main.yml
index 55c38c296cfc95d80d71bc8992f2a6526c43149b..dbfd7098da01a99706e63be9663b0ef2bada6a45 100644
--- a/ansible/roles/telegraf/handlers/main.yml
+++ b/ansible/roles/telegraf/handlers/main.yml
@@ -16,6 +16,7 @@
       HOST_SYS: "/rootfs/sys"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/telegraf/tasks/config.yml b/ansible/roles/telegraf/tasks/config.yml
index 9fbd5a1d99d249e6339b26f612d5579337ff6585..5c1ca1e78af8435bde40b9a31827c42e14602f51 100644
--- a/ansible/roles/telegraf/tasks/config.yml
+++ b/ansible/roles/telegraf/tasks/config.yml
@@ -71,6 +71,7 @@
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
     pid_mode: "{{ item.value.pid_mode }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_telegraf_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/tempest/defaults/main.yml b/ansible/roles/tempest/defaults/main.yml
index 75458784e5ee9d09139a243e14d16861655fb878..6b5d9c36839b60932672a27f0f5b78908c446e09 100644
--- a/ansible/roles/tempest/defaults/main.yml
+++ b/ansible/roles/tempest/defaults/main.yml
@@ -11,6 +11,7 @@ tempest_services:
       - "{{ node_config_directory }}/tempest/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ tempest_dimensions }}"
 
 
 ########
@@ -19,7 +20,7 @@ tempest_services:
 tempest_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-tempest"
 tempest_tag: "{{ openstack_release }}"
 tempest_image_full: "{{ tempest_image }}:{{ tempest_tag }}"
-
+tempest_dimensions: "{{ default_container_dimensions }}"
 
 ###########################
 # Tempest Required Resource
diff --git a/ansible/roles/tempest/handlers/main.yml b/ansible/roles/tempest/handlers/main.yml
index 42cb89df54f84f9055ae440d41b660b44c95600e..2ee88c0de0e958eb1fc3cf0c7634b675cafda66f 100644
--- a/ansible/roles/tempest/handlers/main.yml
+++ b/ansible/roles/tempest/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/tempest/tasks/config.yml b/ansible/roles/tempest/tasks/config.yml
index b4c50347fdc3ba61061f26d7dcdbf3943eaae147..ee7a68db63ffd298d7178721a005e8d8e31c8d65 100644
--- a/ansible/roles/tempest/tasks/config.yml
+++ b/ansible/roles/tempest/tasks/config.yml
@@ -52,6 +52,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_tempest_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/trove/defaults/main.yml b/ansible/roles/trove/defaults/main.yml
index 94e2ac4016f217ea7ec78fb3eae1482fa05350b3..01bb1e66e6675ce882d2299149ea2af9ec40a907 100644
--- a/ansible/roles/trove/defaults/main.yml
+++ b/ansible/roles/trove/defaults/main.yml
@@ -13,6 +13,7 @@ trove_services:
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}"
       - "trove:/var/lib/trove/"
+    dimensions: "{{ trove_api_dimensions }}"
   trove-conductor:
     container_name: trove_conductor
     group: trove-conductor
@@ -24,6 +25,7 @@ trove_services:
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}"
       - "trove:/var/lib/trove/"
+    dimensions: "{{ trove_conductor_dimensions }}"
   trove-taskmanager:
     container_name: trove_taskmanager
     group: trove-taskmanager
@@ -35,6 +37,7 @@ trove_services:
       - "kolla_logs:/var/log/kolla/"
       - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}"
       - "trove:/var/lib/trove/"
+    dimensions: "{{ trove_taskmanager_dimensions }}"
 
 
 ####################
@@ -63,6 +66,10 @@ trove_taskmanager_image: "{{ docker_registry ~ '/' if docker_registry else '' }}
 trove_taskmanager_tag: "{{ trove_tag }}"
 trove_taskmanager_image_full: "{{ trove_taskmanager_image }}:{{ trove_taskmanager_tag }}"
 
+trove_api_dimensions: "{{ default_container_dimensions }}"
+trove_conductor_dimensions: "{{ default_container_dimensions }}"
+trove_taskmanager_dimensions: "{{ default_container_dimensions }}"
+
 
 ####################
 # OpenStack
diff --git a/ansible/roles/trove/handlers/main.yml b/ansible/roles/trove/handlers/main.yml
index 5f85426750a38c43f19d118378ba2896fda03f9e..30a7768b07871030dcb9892f5caefbdb5581f5a8 100644
--- a/ansible/roles/trove/handlers/main.yml
+++ b/ansible/roles/trove/handlers/main.yml
@@ -13,6 +13,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -35,6 +36,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -57,6 +59,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/trove/tasks/config.yml b/ansible/roles/trove/tasks/config.yml
index 0554848cb6d2995308700393dee3d126f2159e2c..61160b6226eb2e4d4dbba89d28a6daec337d15e0 100644
--- a/ansible/roles/trove/tasks/config.yml
+++ b/ansible/roles/trove/tasks/config.yml
@@ -79,6 +79,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_trove_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/vitrage/defaults/main.yml b/ansible/roles/vitrage/defaults/main.yml
index d5719cfc57768ac9479098977fae47749ddf7711..3b705e6381cba6654304249162f1a96e5dca3ae6 100644
--- a/ansible/roles/vitrage/defaults/main.yml
+++ b/ansible/roles/vitrage/defaults/main.yml
@@ -12,6 +12,7 @@ vitrage_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ vitrage_api_dimensions }}"
   vitrage-collector:
     container_name: vitrage_collector
     group: vitrage-collector
@@ -22,6 +23,7 @@ vitrage_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ vitrage_collector_dimensions }}"
   vitrage-notifier:
     container_name: vitrage_notifier
     group: vitrage-notifier
@@ -32,6 +34,7 @@ vitrage_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ vitrage_notifier_dimensions }}"
   vitrage-graph:
     container_name: vitrage_graph
     group: vitrage-graph
@@ -42,6 +45,7 @@ vitrage_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ vitrage_graph_dimensions }}"
   vitrage-ml:
     container_name: vitrage_ml
     group: vitrage-ml
@@ -52,6 +56,7 @@ vitrage_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ vitrage_ml_dimensions }}"
 
 ####################
 ## Database
@@ -87,6 +92,12 @@ vitrage_ml_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ dock
 vitrage_ml_tag: "{{ vitrage_tag }}"
 vitrage_ml_image_full: "{{ vitrage_ml_image }}:{{ vitrage_ml_tag }}"
 
+vitrage_api_dimensions: "{{ default_container_dimensions }}"
+vitrage_notifier_dimensions: "{{ default_container_dimensions }}"
+vitrage_collector_dimensions: "{{ default_container_dimensions }}"
+vitrage_graph_dimensions: "{{ default_container_dimensions }}"
+vitrage_ml_dimensions: "{{ default_container_dimensions }}"
+
 ####################
 # OpenStack
 ####################
diff --git a/ansible/roles/vitrage/handlers/main.yml b/ansible/roles/vitrage/handlers/main.yml
index b7573b47b7cdf18d67d65a7f9f1ca05ec61c201f..3471a81494e84fa0f24df09cb6e0839bee7169dc 100644
--- a/ansible/roles/vitrage/handlers/main.yml
+++ b/ansible/roles/vitrage/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -38,6 +39,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -62,6 +64,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -86,6 +89,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -110,6 +114,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/vitrage/tasks/config.yml b/ansible/roles/vitrage/tasks/config.yml
index 6890f1bbcde5389d294558aba2ca4cbb9e168cbf..66389a22c2ba36f5d631c928c65842da7df36530 100644
--- a/ansible/roles/vitrage/tasks/config.yml
+++ b/ansible/roles/vitrage/tasks/config.yml
@@ -111,6 +111,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes | reject('equalto', '') | list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_vitrage_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/vmtp/defaults/main.yml b/ansible/roles/vmtp/defaults/main.yml
index b269a1c91921a97ba45fd652f0fbbc0f6fccab4b..ef315bde92471ded7ce7bd495f419cf11dff6be2 100644
--- a/ansible/roles/vmtp/defaults/main.yml
+++ b/ansible/roles/vmtp/defaults/main.yml
@@ -10,6 +10,7 @@ vmtp_services:
     volumes:
       - "{{ node_config_directory }}/vmtp/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
+    dimensions: "{{ vmtp_dimensions }}"
 
 ####################
 # Docker
@@ -17,6 +18,7 @@ vmtp_services:
 vmtp_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-vmtp"
 vmtp_tag: "{{ openstack_release }}"
 vmtp_image_full: "{{ vmtp_image }}:{{ vmtp_tag }}"
+vmtp_dimensions: "{{ default_container_dimensions }}"
 
 #########################
 # VMTP Specific resources
diff --git a/ansible/roles/vmtp/handlers/main.yml b/ansible/roles/vmtp/handlers/main.yml
index a12e16c96a603415474a472b634ff04f170a6b9a..3e74f948e735a6b36ffe102d9621b09c87b4de51 100644
--- a/ansible/roles/vmtp/handlers/main.yml
+++ b/ansible/roles/vmtp/handlers/main.yml
@@ -11,6 +11,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/vmtp/tasks/config.yml b/ansible/roles/vmtp/tasks/config.yml
index f2b64b3fe258e1727cbbe2ba1a2ec6cd2553ebeb..a31cbc473f09eef7365446bcd71fc0877ebff5c4 100644
--- a/ansible/roles/vmtp/tasks/config.yml
+++ b/ansible/roles/vmtp/tasks/config.yml
@@ -50,6 +50,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_vmtp_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/watcher/defaults/main.yml b/ansible/roles/watcher/defaults/main.yml
index b5eafe622178130e067911f826d8ba9d5e854370..d143bb38e92866cc571fff27948461fde9fa18cc 100644
--- a/ansible/roles/watcher/defaults/main.yml
+++ b/ansible/roles/watcher/defaults/main.yml
@@ -12,6 +12,7 @@ watcher_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ watcher_api_dimensions }}"
   watcher-applier:
     container_name: watcher_applier
     group: watcher-applier
@@ -22,6 +23,7 @@ watcher_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ watcher_applier_dimensions }}"
   watcher-engine:
     container_name: watcher_engine
     group: watcher-engine
@@ -32,6 +34,7 @@ watcher_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ watcher_engine_dimensions }}"
 
 
 ####################
@@ -60,6 +63,10 @@ watcher_applier_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{
 watcher_applier_tag: "{{ watcher_tag }}"
 watcher_applier_image_full: "{{ watcher_applier_image }}:{{ watcher_applier_tag }}"
 
+watcher_api_dimensions: "{{ default_container_dimensions }}"
+watcher_applier_dimensions: "{{ default_container_dimensions }}"
+watcher_engine_dimensions: "{{ default_container_dimensions }}"
+
 ####################
 # OpenStack
 ####################
diff --git a/ansible/roles/watcher/handlers/main.yml b/ansible/roles/watcher/handlers/main.yml
index 4fd9e4b0db9a8318997101929bc1fd7bc5ffc728..7bf116dbf7e9828c9a723d76daaa83310d1b6634 100644
--- a/ansible/roles/watcher/handlers/main.yml
+++ b/ansible/roles/watcher/handlers/main.yml
@@ -14,6 +14,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -38,6 +39,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -62,6 +64,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/watcher/tasks/config.yml b/ansible/roles/watcher/tasks/config.yml
index 775e3840dec7bffd1016186d2443dd82d80dc596..401cb7ec2f8a5fd72c3c1a4b6b5437ff1bd624dd 100644
--- a/ansible/roles/watcher/tasks/config.yml
+++ b/ansible/roles/watcher/tasks/config.yml
@@ -89,6 +89,7 @@
     name: "{{ item.value.container_name }}"
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_watcher_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/zookeeper/defaults/main.yml b/ansible/roles/zookeeper/defaults/main.yml
index 125165e729f40a8c60649f18f4574028e7142c44..cea94c78987cbbec59f3fd9f4b4bfd90b4e5f63f 100644
--- a/ansible/roles/zookeeper/defaults/main.yml
+++ b/ansible/roles/zookeeper/defaults/main.yml
@@ -13,6 +13,7 @@ zookeeper_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "zookeeper:/var/lib/zookeeper/data"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ zookeeper_dimensions }}"
 
 ####################
 # Zookeeper
@@ -26,3 +27,4 @@ zookeeper_install_type: "{{ kolla_install_type }}"
 zookeeper_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ zookeeper_install_type }}-zookeeper"
 zookeeper_tag: "{{ openstack_release }}"
 zookeeper_image_full: "{{ zookeeper_image }}:{{ zookeeper_tag }}"
+zookeeper_dimensions: "{{ default_container_dimensions }}"
diff --git a/ansible/roles/zookeeper/handlers/main.yml b/ansible/roles/zookeeper/handlers/main.yml
index 51b0a01c1d867096b691ad604a8edce7836ca800..583fbaa99a7d49cc921d3e3d94a46d67982f1611 100644
--- a/ansible/roles/zookeeper/handlers/main.yml
+++ b/ansible/roles/zookeeper/handlers/main.yml
@@ -15,6 +15,7 @@
     image: "{{ service.image }}"
     environment: "{{ service.environment }}"
     volumes: "{{ service.volumes }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/zookeeper/tasks/config.yml b/ansible/roles/zookeeper/tasks/config.yml
index fe2f0b9f3288560f2dadfa8e5c89f82e192f94d5..5da9b0e1d8f287c161f944c819042f644e88e4fe 100644
--- a/ansible/roles/zookeeper/tasks/config.yml
+++ b/ansible/roles/zookeeper/tasks/config.yml
@@ -67,6 +67,7 @@
     image: "{{ item.value.image }}"
     volumes: "{{ item.value.volumes }}"
     environment: "{{ item.value.environment }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_zookeeper_containers
   when:
     - kolla_action != "config"
diff --git a/ansible/roles/zun/defaults/main.yml b/ansible/roles/zun/defaults/main.yml
index 26d626d0ab0ccea6bcf83ecaf471d94c2c641ef3..52e10849946c8a8854a628acaf3f38d521f4a3ae 100644
--- a/ansible/roles/zun/defaults/main.yml
+++ b/ansible/roles/zun/defaults/main.yml
@@ -12,6 +12,7 @@ zun_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ zun_api_dimensions }}"
   zun-wsproxy:
     container_name: zun_wsproxy
     group: zun-wsproxy
@@ -22,6 +23,7 @@ zun_services:
       - "/etc/localtime:/etc/localtime:ro"
       - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}"
       - "kolla_logs:/var/log/kolla/"
+    dimensions: "{{ zun_wsproxy_dimensions }}"
   zun-compute:
     container_name: zun_compute
     group: zun-compute
@@ -35,6 +37,7 @@ zun_services:
       - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}"
       - "/run:/run:shared"
       - "/usr/lib/docker:/usr/lib/docker"
+    dimensions: "{{ zun_compute_dimensions }}"
 
 ####################
 ## Database
@@ -62,6 +65,10 @@ zun_compute_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ doc
 zun_compute_tag: "{{ zun_tag }}"
 zun_compute_image_full: "{{ zun_compute_image }}:{{ zun_compute_tag }}"
 
+zun_api_dimensions: "{{ default_container_dimensions }}"
+zun_wsproxy_dimensions: "{{ default_container_dimensions }}"
+zun_compute_dimensions: "{{ default_container_dimensions }}"
+
 
 ####################
 ## OpenStack
diff --git a/ansible/roles/zun/handlers/main.yml b/ansible/roles/zun/handlers/main.yml
index e2d60d5320abc5393f7390ed187921ca1d890e86..4bc0af02c393d57fcb011ab68985fc9cf27a54c9 100644
--- a/ansible/roles/zun/handlers/main.yml
+++ b/ansible/roles/zun/handlers/main.yml
@@ -15,6 +15,7 @@
     image: "{{ service.image }}"
     privileged: "{{ service.privileged | default(False) }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -40,6 +41,7 @@
     image: "{{ service.image }}"
     privileged: "{{ service.privileged | default(False) }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
@@ -65,6 +67,7 @@
     image: "{{ service.image }}"
     privileged: "{{ service.privileged | default(False) }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ service.dimensions }}"
   when:
     - kolla_action != "config"
     - inventory_hostname in groups[service.group]
diff --git a/ansible/roles/zun/tasks/config.yml b/ansible/roles/zun/tasks/config.yml
index 7d874dd95e220ccfe28e3d7be1bd1da3a61591f8..d451c05df3108c1802e843bb4981fd0704dffc36 100644
--- a/ansible/roles/zun/tasks/config.yml
+++ b/ansible/roles/zun/tasks/config.yml
@@ -108,6 +108,7 @@
     image: "{{ item.value.image }}"
     privileged: "{{ item.value.privileged | default(False) }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
+    dimensions: "{{ item.value.dimensions }}"
   register: check_zun_containers
   when:
     - kolla_action != "config"