From 0fcee87549dc417c152b16e14c31dea6ada84eb7 Mon Sep 17 00:00:00 2001
From: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
Date: Sun, 1 May 2016 20:11:45 +0800
Subject: [PATCH] map the host localtime to the container

Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
---
 ansible/roles/ceph/tasks/bootstrap_osds.yml       |  2 ++
 ansible/roles/ceph/tasks/generate_cluster.yml     |  1 +
 ansible/roles/ceph/tasks/start_mons.yml           |  1 +
 ansible/roles/ceph/tasks/start_osds.yml           |  1 +
 ansible/roles/ceph/tasks/start_rgws.yml           |  4 +++-
 ansible/roles/cinder/tasks/bootstrap_service.yml  |  1 +
 ansible/roles/cinder/tasks/start.yml              |  4 ++++
 ansible/roles/common/tasks/bootstrap.yml          |  1 +
 ansible/roles/common/tasks/start.yml              |  3 +++
 ansible/roles/elasticsearch/tasks/start.yml       |  1 +
 ansible/roles/glance/tasks/bootstrap_service.yml  |  1 +
 ansible/roles/glance/tasks/start.yml              |  2 ++
 ansible/roles/haproxy/tasks/start.yml             |  2 ++
 ansible/roles/heat/tasks/bootstrap_service.yml    |  1 +
 ansible/roles/heat/tasks/start.yml                |  3 +++
 ansible/roles/horizon/tasks/start.yml             |  3 ++-
 ansible/roles/ironic/tasks/bootstrap.yml          |  1 +
 ansible/roles/ironic/tasks/bootstrap_service.yml  |  4 +++-
 ansible/roles/ironic/tasks/start.yml              |  6 +++++-
 ansible/roles/iscsi/tasks/start.yml               |  2 ++
 .../roles/keystone/tasks/bootstrap_service.yml    |  1 +
 ansible/roles/keystone/tasks/start.yml            |  1 +
 ansible/roles/kibana/tasks/start.yml              |  1 +
 ansible/roles/magnum/tasks/bootstrap_service.yml  |  1 +
 ansible/roles/magnum/tasks/start.yml              |  2 ++
 ansible/roles/manila/tasks/bootstrap_service.yml  |  1 +
 ansible/roles/manila/tasks/start.yml              |  3 +++
 ansible/roles/mariadb/tasks/bootstrap_cluster.yml |  2 ++
 ansible/roles/mariadb/tasks/recover_cluster.yml   |  1 +
 ansible/roles/mariadb/tasks/start.yml             |  1 +
 ansible/roles/memcached/tasks/start.yml           |  4 +++-
 ansible/roles/mistral/tasks/bootstrap_service.yml |  1 +
 ansible/roles/mistral/tasks/start.yml             |  3 +++
 ansible/roles/mongodb/tasks/bootstrap.yml         |  1 +
 ansible/roles/mongodb/tasks/start.yml             |  1 +
 ansible/roles/murano/tasks/bootstrap_service.yml  |  1 +
 ansible/roles/murano/tasks/start.yml              |  2 ++
 ansible/roles/neutron/tasks/bootstrap_service.yml |  1 +
 ansible/roles/neutron/tasks/start.yml             |  9 +++++++++
 ansible/roles/nova/tasks/bootstrap_service.yml    |  2 ++
 ansible/roles/nova/tasks/start_compute.yml        |  5 +++++
 ansible/roles/nova/tasks/start_conductors.yml     |  1 +
 ansible/roles/nova/tasks/start_controllers.yml    |  5 +++++
 ansible/roles/rabbitmq/tasks/bootstrap.yml        |  1 +
 ansible/roles/rabbitmq/tasks/start.yml            |  1 +
 ansible/roles/swift/tasks/start.yml               | 15 +++++++++++++++
 46 files changed, 106 insertions(+), 5 deletions(-)

diff --git a/ansible/roles/ceph/tasks/bootstrap_osds.yml b/ansible/roles/ceph/tasks/bootstrap_osds.yml
index 471d173c90..c3dfac0c50 100644
--- a/ansible/roles/ceph/tasks/bootstrap_osds.yml
+++ b/ansible/roles/ceph/tasks/bootstrap_osds.yml
@@ -49,6 +49,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
   with_indexed_items: osds_bootstrap|default([])
 
@@ -79,5 +80,6 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
   with_indexed_items: osds_cache_bootstrap|default([])
diff --git a/ansible/roles/ceph/tasks/generate_cluster.yml b/ansible/roles/ceph/tasks/generate_cluster.yml
index 298689f779..4c085b9991 100644
--- a/ansible/roles/ceph/tasks/generate_cluster.yml
+++ b/ansible/roles/ceph/tasks/generate_cluster.yml
@@ -16,6 +16,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "ceph_mon:/var/lib/ceph"
       - "ceph_mon_config:/etc/ceph"
 
diff --git a/ansible/roles/ceph/tasks/start_mons.yml b/ansible/roles/ceph/tasks/start_mons.yml
index 702401c3de..6ff67f95aa 100644
--- a/ansible/roles/ceph/tasks/start_mons.yml
+++ b/ansible/roles/ceph/tasks/start_mons.yml
@@ -10,5 +10,6 @@
     name: "ceph_mon"
     volumes:
       - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "ceph_mon:/var/lib/ceph"
       - "ceph_mon_config:/etc/ceph"
diff --git a/ansible/roles/ceph/tasks/start_osds.yml b/ansible/roles/ceph/tasks/start_osds.yml
index 63787dd120..9c0e66bcd2 100644
--- a/ansible/roles/ceph/tasks/start_osds.yml
+++ b/ansible/roles/ceph/tasks/start_osds.yml
@@ -41,6 +41,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
       - "/var/lib/ceph/osd/{{ item.1['fs_uuid'] }}:/var/lib/ceph/osd/ceph-{{ item.0.stdout }}"
   with_together:
diff --git a/ansible/roles/ceph/tasks/start_rgws.yml b/ansible/roles/ceph/tasks/start_rgws.yml
index f8f963225a..f8cc73359f 100644
--- a/ansible/roles/ceph/tasks/start_rgws.yml
+++ b/ansible/roles/ceph/tasks/start_rgws.yml
@@ -5,4 +5,6 @@
     common_options: "{{ docker_common_options }}"
     image: "{{ ceph_rgw_image_full }}"
     name: "ceph_rgw"
-    volumes: "{{ node_config_directory }}/ceph-rgw/:{{ container_config_directory }}/:ro"
+    volumes:
+      - "{{ node_config_directory }}/ceph-rgw/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
diff --git a/ansible/roles/cinder/tasks/bootstrap_service.yml b/ansible/roles/cinder/tasks/bootstrap_service.yml
index fc97f91cfc..7968f466c9 100644
--- a/ansible/roles/cinder/tasks/bootstrap_service.yml
+++ b/ansible/roles/cinder/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['cinder-api'][0] }}"
diff --git a/ansible/roles/cinder/tasks/start.yml b/ansible/roles/cinder/tasks/start.yml
index 6200ebc0de..7f433646f9 100644
--- a/ansible/roles/cinder/tasks/start.yml
+++ b/ansible/roles/cinder/tasks/start.yml
@@ -7,6 +7,7 @@
     image: "{{ cinder_api_image_full }}"
     volumes:
       - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['cinder-api']
 
@@ -18,6 +19,7 @@
     image: "{{ cinder_scheduler_image_full }}"
     volumes:
       - "{{ node_config_directory }}/cinder-scheduler/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['cinder-scheduler']
 
@@ -25,6 +27,7 @@
   set_fact:
      mounts:
       - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
       - "/run/:/run/"
       - "{% if enable_iscsi | bool %}cinder:/var/lib/cinder{% endif %}"
@@ -51,6 +54,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/mapper/:/dev/mapper/"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['cinder-backup']
diff --git a/ansible/roles/common/tasks/bootstrap.yml b/ansible/roles/common/tasks/bootstrap.yml
index f93689513e..b7fbeebfdc 100644
--- a/ansible/roles/common/tasks/bootstrap.yml
+++ b/ansible/roles/common/tasks/bootstrap.yml
@@ -21,5 +21,6 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/heka/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: kolla_logs_volume.changed
diff --git a/ansible/roles/common/tasks/start.yml b/ansible/roles/common/tasks/start.yml
index b3d3a3096b..955103eb14 100644
--- a/ansible/roles/common/tasks/start.yml
+++ b/ansible/roles/common/tasks/start.yml
@@ -10,6 +10,7 @@
     name: "heka"
     volumes:
       - "{{ node_config_directory }}/heka/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "heka:/var/cache/hekad"
       - "heka_socket:/var/lib/kolla/heka/"
@@ -25,6 +26,7 @@
     name: "kolla_toolbox"
     privileged: True
     volumes:
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
       - "/run/:/run/"
       - "kolla_logs:/var/log/kolla/"
@@ -37,5 +39,6 @@
     name: "cron"
     volumes:
       - "{{ node_config_directory }}/cron/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
       - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/elasticsearch/tasks/start.yml b/ansible/roles/elasticsearch/tasks/start.yml
index a0ac0ca517..56399015b0 100644
--- a/ansible/roles/elasticsearch/tasks/start.yml
+++ b/ansible/roles/elasticsearch/tasks/start.yml
@@ -7,4 +7,5 @@
     name: "elasticsearch"
     volumes:
       - "{{ node_config_directory }}/elasticsearch/:{{ container_config_directory }}/"
+      - "/etc/localtime:/etc/localtime:ro"
       - "elasticsearch:/var/lib/elasticsearch/data"
diff --git a/ansible/roles/glance/tasks/bootstrap_service.yml b/ansible/roles/glance/tasks/bootstrap_service.yml
index 6426c36a96..0b32234461 100644
--- a/ansible/roles/glance/tasks/bootstrap_service.yml
+++ b/ansible/roles/glance/tasks/bootstrap_service.yml
@@ -13,6 +13,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "glance:/var/lib/glance/"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
diff --git a/ansible/roles/glance/tasks/start.yml b/ansible/roles/glance/tasks/start.yml
index 28e10f89a2..bec16bbee3 100644
--- a/ansible/roles/glance/tasks/start.yml
+++ b/ansible/roles/glance/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "glance_registry"
     volumes:
       - "{{ node_config_directory }}/glance-registry/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['glance-registry']
 
@@ -18,6 +19,7 @@
     name: "glance_api"
     volumes:
       - "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "glance:/var/lib/glance/"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['glance-api']
diff --git a/ansible/roles/haproxy/tasks/start.yml b/ansible/roles/haproxy/tasks/start.yml
index 7ad4d106a0..0909b33b0b 100644
--- a/ansible/roles/haproxy/tasks/start.yml
+++ b/ansible/roles/haproxy/tasks/start.yml
@@ -8,6 +8,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/haproxy/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "haproxy_socket:/var/lib/kolla/haproxy/"
       - "heka_socket:/var/lib/kolla/heka/"
 
@@ -20,6 +21,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/keepalived/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "haproxy_socket:/var/lib/kolla/haproxy/"
       - "heka_socket:/var/lib/kolla/heka/"
diff --git a/ansible/roles/heat/tasks/bootstrap_service.yml b/ansible/roles/heat/tasks/bootstrap_service.yml
index 40af8b1759..58a571c670 100644
--- a/ansible/roles/heat/tasks/bootstrap_service.yml
+++ b/ansible/roles/heat/tasks/bootstrap_service.yml
@@ -19,6 +19,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['heat-api'][0] }}"
diff --git a/ansible/roles/heat/tasks/start.yml b/ansible/roles/heat/tasks/start.yml
index 7ec4a9faeb..c1238e74e3 100644
--- a/ansible/roles/heat/tasks/start.yml
+++ b/ansible/roles/heat/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "heat_api"
     volumes:
       - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['heat-api']
 
@@ -18,6 +19,7 @@
     name: "heat_api_cfn"
     volumes:
       - "{{ node_config_directory }}/heat-api-cfn/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['heat-api-cfn']
 
@@ -29,5 +31,6 @@
     name: "heat_engine"
     volumes:
       - "{{ node_config_directory }}/heat-engine/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['heat-engine']
diff --git a/ansible/roles/horizon/tasks/start.yml b/ansible/roles/horizon/tasks/start.yml
index b9d6eb14a8..e178b92a23 100644
--- a/ansible/roles/horizon/tasks/start.yml
+++ b/ansible/roles/horizon/tasks/start.yml
@@ -5,7 +5,8 @@
     common_options: "{{ docker_common_options }}"
     image: "{{ horizon_image_full }}"
     name: "horizon"
-    volumes: 
+    volumes:
       - "{{ node_config_directory }}/horizon/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['horizon']
diff --git a/ansible/roles/ironic/tasks/bootstrap.yml b/ansible/roles/ironic/tasks/bootstrap.yml
index 4932af3575..1b1ff962c5 100644
--- a/ansible/roles/ironic/tasks/bootstrap.yml
+++ b/ansible/roles/ironic/tasks/bootstrap.yml
@@ -55,6 +55,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/ironic-pxe/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "ironic_pxe:/tftpboot/"
   run_once: True
   delegate_to: "{{ groups['ironic-pxe'][0] }}"
diff --git a/ansible/roles/ironic/tasks/bootstrap_service.yml b/ansible/roles/ironic/tasks/bootstrap_service.yml
index 115b27a0a4..863bdc02d2 100644
--- a/ansible/roles/ironic/tasks/bootstrap_service.yml
+++ b/ansible/roles/ironic/tasks/bootstrap_service.yml
@@ -11,6 +11,8 @@
       BOOTSTRAP:
     name: "bootstrap_ironic"
     restart_policy: "never"
-    volumes: "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro"
+    volumes:
+      - "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
   run_once: True
   delegate_to: "{{ groups['ironic-api'][0] }}"
diff --git a/ansible/roles/ironic/tasks/start.yml b/ansible/roles/ironic/tasks/start.yml
index 2c2dba6bb0..f055a56887 100644
--- a/ansible/roles/ironic/tasks/start.yml
+++ b/ansible/roles/ironic/tasks/start.yml
@@ -7,6 +7,7 @@
     image: "{{ ironic_pxe_image_full }}"
     volumes:
       - "{{ node_config_directory }}/ironic-pxe/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "ironic_pxe:/tftpboot/"
   when: inventory_hostname in groups['ironic-pxe']
 
@@ -27,6 +28,7 @@
     name: "ironic_conductor"
     volumes:
       - "{{ node_config_directory }}/ironic-conductor/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "ironic_pxe:/tftpboot/"
   when: inventory_hostname in groups['ironic-conductor']
 
@@ -37,5 +39,7 @@
     image: "{{ ironic_inspector_image_full }}"
     name: "ironic_inspector"
     privileged: True
-    volumes: "{{ node_config_directory }}/ironic-inspector/:{{ container_config_directory }}/:ro"
+    volumes:
+      - "{{ node_config_directory }}/ironic-inspector/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
   when: inventory_hostname in groups['ironic-inspector']
diff --git a/ansible/roles/iscsi/tasks/start.yml b/ansible/roles/iscsi/tasks/start.yml
index 8d86558310..448c6e8c18 100644
--- a/ansible/roles/iscsi/tasks/start.yml
+++ b/ansible/roles/iscsi/tasks/start.yml
@@ -10,6 +10,7 @@
     volumes:
       - "{{ node_config_directory }}/iscsid/:{{ container_config_directory }}/:ro"
       - "kolla_logs:/var/log/kolla/"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
       - "/run/:/run/"
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
@@ -30,6 +31,7 @@
     volumes:
       - "{{ node_config_directory }}/tgtd/:{{ container_config_directory }}/:ro"
       - "kolla_logs:/var/log/kolla/"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
       - "/run/:/run/"
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
diff --git a/ansible/roles/keystone/tasks/bootstrap_service.yml b/ansible/roles/keystone/tasks/bootstrap_service.yml
index a9d005a993..cce78e7ced 100644
--- a/ansible/roles/keystone/tasks/bootstrap_service.yml
+++ b/ansible/roles/keystone/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['keystone'][0] }}"
diff --git a/ansible/roles/keystone/tasks/start.yml b/ansible/roles/keystone/tasks/start.yml
index 78a0e9b3cf..3108d1292e 100644
--- a/ansible/roles/keystone/tasks/start.yml
+++ b/ansible/roles/keystone/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "keystone"
     volumes:
       - "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
 
 - name: Wait for keystone startup
diff --git a/ansible/roles/kibana/tasks/start.yml b/ansible/roles/kibana/tasks/start.yml
index 104ff8e371..f58174804d 100644
--- a/ansible/roles/kibana/tasks/start.yml
+++ b/ansible/roles/kibana/tasks/start.yml
@@ -7,3 +7,4 @@
     name: "kibana"
     volumes:
       - "{{ node_config_directory }}/kibana/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
diff --git a/ansible/roles/magnum/tasks/bootstrap_service.yml b/ansible/roles/magnum/tasks/bootstrap_service.yml
index 01ba3ffbab..2f5e2b5031 100644
--- a/ansible/roles/magnum/tasks/bootstrap_service.yml
+++ b/ansible/roles/magnum/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/magnum-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla"
   run_once: True
   delegate_to: "{{ groups['magnum-api'][0] }}"
diff --git a/ansible/roles/magnum/tasks/start.yml b/ansible/roles/magnum/tasks/start.yml
index f98afadf71..d283aee1d8 100644
--- a/ansible/roles/magnum/tasks/start.yml
+++ b/ansible/roles/magnum/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "magnum_api"
     volumes:
       - "{{ node_config_directory }}/magnum-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['magnum-api']
 
@@ -18,5 +19,6 @@
     name: "magnum_conductor"
     volumes:
       - "{{ node_config_directory }}/magnum-conductor/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['magnum-conductor']
diff --git a/ansible/roles/manila/tasks/bootstrap_service.yml b/ansible/roles/manila/tasks/bootstrap_service.yml
index 05e54ad16b..501e6062b4 100644
--- a/ansible/roles/manila/tasks/bootstrap_service.yml
+++ b/ansible/roles/manila/tasks/bootstrap_service.yml
@@ -15,5 +15,6 @@
     volumes:
       - "{{ node_config_directory }}/manila-api/:{{ container_config_directory }}/:ro"
       - "kolla_logs:/var/log/kolla/"
+      - "/etc/localtime:/etc/localtime:ro"
   run_once: True
   delegate_to: "{{ groups['manila-api'][0] }}"
diff --git a/ansible/roles/manila/tasks/start.yml b/ansible/roles/manila/tasks/start.yml
index d68cb48dff..461b81ab09 100644
--- a/ansible/roles/manila/tasks/start.yml
+++ b/ansible/roles/manila/tasks/start.yml
@@ -7,6 +7,7 @@
     image: "{{ manila_api_image_full }}"
     volumes:
       - "{{ node_config_directory }}/manila-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['manila-api']
 
@@ -18,6 +19,7 @@
     image: "{{ manila_scheduler_image_full }}"
     volumes:
       - "{{ node_config_directory }}/manila-scheduler/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['manila-scheduler']
 
@@ -30,6 +32,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/manila-share/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/run/:/run/"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['manila-share']
diff --git a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
index 1c9aab453e..51915f4e32 100644
--- a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
+++ b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
@@ -16,6 +16,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mariadb:/var/lib/mysql"
 
@@ -33,5 +34,6 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mariadb:/var/lib/mysql"
diff --git a/ansible/roles/mariadb/tasks/recover_cluster.yml b/ansible/roles/mariadb/tasks/recover_cluster.yml
index 6c2fccb725..2e0fcf5b46 100644
--- a/ansible/roles/mariadb/tasks/recover_cluster.yml
+++ b/ansible/roles/mariadb/tasks/recover_cluster.yml
@@ -28,6 +28,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mariadb:/var/lib/mysql"
   when:
diff --git a/ansible/roles/mariadb/tasks/start.yml b/ansible/roles/mariadb/tasks/start.yml
index 2c4e955b0c..e75b3e0d17 100644
--- a/ansible/roles/mariadb/tasks/start.yml
+++ b/ansible/roles/mariadb/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "mariadb"
     volumes:
       - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "mariadb:/var/lib/mysql"
       - "kolla_logs:/var/log/kolla/"
   when: delegate_host != 'None' or
diff --git a/ansible/roles/memcached/tasks/start.yml b/ansible/roles/memcached/tasks/start.yml
index aed1c6a632..c1a193f40f 100644
--- a/ansible/roles/memcached/tasks/start.yml
+++ b/ansible/roles/memcached/tasks/start.yml
@@ -5,5 +5,7 @@
     common_options: "{{ docker_common_options }}"
     image: "{{ memcached_image_full }}"
     name: "memcached"
-    volumes: "{{ node_config_directory }}/memcached/:{{ container_config_directory }}/:ro"
+    volumes:
+      - "{{ node_config_directory }}/memcached/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
   when: inventory_hostname in groups['memcached']
diff --git a/ansible/roles/mistral/tasks/bootstrap_service.yml b/ansible/roles/mistral/tasks/bootstrap_service.yml
index 4ca55c8213..01fadc8d39 100644
--- a/ansible/roles/mistral/tasks/bootstrap_service.yml
+++ b/ansible/roles/mistral/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mistral-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['mistral-api'][0] }}"
diff --git a/ansible/roles/mistral/tasks/start.yml b/ansible/roles/mistral/tasks/start.yml
index 9987b8aaeb..7aef02880e 100644
--- a/ansible/roles/mistral/tasks/start.yml
+++ b/ansible/roles/mistral/tasks/start.yml
@@ -7,6 +7,7 @@
     image: "{{ mistral_engine_image_full }}"
     volumes:
       - "{{ node_config_directory }}/mistral-engine/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['mistral-engine']
 
@@ -18,6 +19,7 @@
     image: "{{ mistral_executor_image_full }}"
     volumes:
       - "{{ node_config_directory }}/mistral-executor/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['mistral-executor']
 
@@ -29,5 +31,6 @@
     image: "{{ mistral_api_image_full }}"
     volumes:
       - "{{ node_config_directory }}/mistral-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['mistral-api']
diff --git a/ansible/roles/mongodb/tasks/bootstrap.yml b/ansible/roles/mongodb/tasks/bootstrap.yml
index 8c4608d67e..6b2329cab7 100644
--- a/ansible/roles/mongodb/tasks/bootstrap.yml
+++ b/ansible/roles/mongodb/tasks/bootstrap.yml
@@ -12,5 +12,6 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mongodb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mongodb:/var/lib/mongodb/"
diff --git a/ansible/roles/mongodb/tasks/start.yml b/ansible/roles/mongodb/tasks/start.yml
index c5593f92cf..40edba8e4e 100644
--- a/ansible/roles/mongodb/tasks/start.yml
+++ b/ansible/roles/mongodb/tasks/start.yml
@@ -8,5 +8,6 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/mongodb/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mongodb:/var/lib/mongodb"
diff --git a/ansible/roles/murano/tasks/bootstrap_service.yml b/ansible/roles/murano/tasks/bootstrap_service.yml
index 7d803013c4..59a59a4c2f 100644
--- a/ansible/roles/murano/tasks/bootstrap_service.yml
+++ b/ansible/roles/murano/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['murano-api'][0] }}"
diff --git a/ansible/roles/murano/tasks/start.yml b/ansible/roles/murano/tasks/start.yml
index ff9ca9fe1d..f1c0962468 100644
--- a/ansible/roles/murano/tasks/start.yml
+++ b/ansible/roles/murano/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "murano_engine"
     volumes:
       - "{{ node_config_directory }}/murano-engine/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['murano-engine']
 
@@ -18,5 +19,6 @@
     name: "murano_api"
     volumes:
       - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['murano-api']
diff --git a/ansible/roles/neutron/tasks/bootstrap_service.yml b/ansible/roles/neutron/tasks/bootstrap_service.yml
index 6eb6c92180..534c451463 100644
--- a/ansible/roles/neutron/tasks/bootstrap_service.yml
+++ b/ansible/roles/neutron/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['neutron-server'][0] }}"
diff --git a/ansible/roles/neutron/tasks/start.yml b/ansible/roles/neutron/tasks/start.yml
index a4895b5bb3..af01c5064b 100644
--- a/ansible/roles/neutron/tasks/start.yml
+++ b/ansible/roles/neutron/tasks/start.yml
@@ -7,6 +7,7 @@
     name: "openvswitch_db"
     volumes:
       - "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/run:/run"
       - "openvswitch_db:/var/lib/openvswitch/"
   when:
@@ -53,6 +54,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
   when:
@@ -71,6 +73,7 @@
     name: "neutron_server"
     volumes:
       - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['neutron-server']
 
@@ -83,6 +86,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "kolla_logs:/var/log/kolla/"
@@ -112,6 +116,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-openvswitch-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "kolla_logs:/var/log/kolla/"
@@ -134,6 +139,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "kolla_logs:/var/log/kolla/"
@@ -154,6 +160,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/run/:/run/"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
@@ -170,6 +177,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/run:/run"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
@@ -186,6 +194,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/neutron-metadata-agent/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
       - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/nova/tasks/bootstrap_service.yml b/ansible/roles/nova/tasks/bootstrap_service.yml
index 3fc61b3010..c3bcebf7db 100644
--- a/ansible/roles/nova/tasks/bootstrap_service.yml
+++ b/ansible/roles/nova/tasks/bootstrap_service.yml
@@ -14,6 +14,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   run_once: True
   delegate_to: "{{ groups['nova-api'][0] }}"
@@ -43,6 +44,7 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "nova_compute:/var/lib/nova/"
   when:
diff --git a/ansible/roles/nova/tasks/start_compute.yml b/ansible/roles/nova/tasks/start_compute.yml
index 0ce500d5b2..a50f3c69fb 100644
--- a/ansible/roles/nova/tasks/start_compute.yml
+++ b/ansible/roles/nova/tasks/start_compute.yml
@@ -9,6 +9,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run/:/run/"
       - "/dev:/dev"
@@ -22,6 +23,7 @@
   set_fact:
      mounts:
       - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "/dev:/dev"
@@ -50,6 +52,7 @@
     name: "nova_compute_ironic"
     volumes:
       - "{{ node_config_directory }}/nova-compute-ironic/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when:
     - inventory_hostname in groups['nova-compute-ironic']
@@ -64,6 +67,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/nova-compute-fake-{{ item }}/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/run:/run"
       - "kolla_logs:/var/log/kolla/"
@@ -80,6 +84,7 @@
     name: "nova_ssh"
     volumes:
       - "{{ node_config_directory }}/nova-ssh/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla"
       - "nova_compute:/var/lib/nova"
       - "heka_socket:/var/lib/kolla/heka/"
diff --git a/ansible/roles/nova/tasks/start_conductors.yml b/ansible/roles/nova/tasks/start_conductors.yml
index 7eb37d44ec..aa5fe4dd00 100644
--- a/ansible/roles/nova/tasks/start_conductors.yml
+++ b/ansible/roles/nova/tasks/start_conductors.yml
@@ -7,5 +7,6 @@
     image: "{{ nova_conductor_image_full }}"
     volumes:
       - "{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['nova-conductor']
diff --git a/ansible/roles/nova/tasks/start_controllers.yml b/ansible/roles/nova/tasks/start_controllers.yml
index df36424744..184927281a 100644
--- a/ansible/roles/nova/tasks/start_controllers.yml
+++ b/ansible/roles/nova/tasks/start_controllers.yml
@@ -8,6 +8,7 @@
     privileged: True
     volumes:
       - "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['nova-api']
@@ -20,6 +21,7 @@
     name: "nova_consoleauth"
     volumes:
       - "{{ node_config_directory }}/nova-consoleauth/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['nova-consoleauth']
 
@@ -31,6 +33,7 @@
     name: "nova_novncproxy"
     volumes:
       - "{{ node_config_directory }}/nova-novncproxy/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when:
     - inventory_hostname in groups['nova-novncproxy']
@@ -44,6 +47,7 @@
     name: "nova_scheduler"
     volumes:
       - "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['nova-scheduler']
 
@@ -55,6 +59,7 @@
     name: "nova_spicehtml5proxy"
     volumes:
       - "{{ node_config_directory }}/nova-spicehtml5proxy/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
   when:
     - inventory_hostname in groups['nova-spicehtml5proxy']
diff --git a/ansible/roles/rabbitmq/tasks/bootstrap.yml b/ansible/roles/rabbitmq/tasks/bootstrap.yml
index 5ee091a4a2..ae615b12e0 100644
--- a/ansible/roles/rabbitmq/tasks/bootstrap.yml
+++ b/ansible/roles/rabbitmq/tasks/bootstrap.yml
@@ -32,5 +32,6 @@
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/rabbitmq/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "rabbitmq:/var/lib/rabbitmq/"
   when: rabbitmq_volume | changed
diff --git a/ansible/roles/rabbitmq/tasks/start.yml b/ansible/roles/rabbitmq/tasks/start.yml
index 2f5585fce2..9501545ff9 100644
--- a/ansible/roles/rabbitmq/tasks/start.yml
+++ b/ansible/roles/rabbitmq/tasks/start.yml
@@ -7,5 +7,6 @@
     name: "rabbitmq"
     volumes:
       - "{{ node_config_directory }}/rabbitmq/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "rabbitmq:/var/lib/rabbitmq/"
       - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/swift/tasks/start.yml b/ansible/roles/swift/tasks/start.yml
index 2e4a5680b1..2f6db1f70b 100644
--- a/ansible/roles/swift/tasks/start.yml
+++ b/ansible/roles/swift/tasks/start.yml
@@ -40,6 +40,7 @@
     volumes:
       - "{{ node_config_directory }}/swift-rsyncd/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-account-server'] or
         inventory_hostname in groups['swift-container-server'] or
@@ -55,6 +56,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-account-server/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-account-server']
 
@@ -68,6 +70,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-account-auditor/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-account-server']
 
@@ -81,6 +84,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-account-replicator/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-account-server']
 
@@ -94,6 +98,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-account-reaper/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-account-server']
 
@@ -107,6 +112,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-container-server/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-container-server']
 
@@ -120,6 +126,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-container-auditor/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-container-server']
 
@@ -133,6 +140,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-container-replicator/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-container-server']
 
@@ -146,6 +154,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-container-updater/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-container-server']
 
@@ -159,6 +168,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-object-server/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-object-server']
 
@@ -172,6 +182,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-object-auditor/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-object-server']
 
@@ -185,6 +196,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-object-replicator/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-object-server']
 
@@ -198,6 +210,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-object-updater/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-object-server']
 
@@ -211,6 +224,7 @@
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-object-expirer/:{{ container_config_directory }}/:ro"
       - "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-object-server']
 
@@ -223,5 +237,6 @@
     volumes:
       - "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
       - "{{ node_config_directory }}/swift-proxy-server/:{{ container_config_directory }}/:ro"
+      - "/etc/localtime:/etc/localtime:ro"
       - "heka_socket:/var/lib/kolla/heka/"
   when: inventory_hostname in groups['swift-proxy-server']
-- 
GitLab