diff --git a/ansible/roles/elasticsearch/templates/elasticsearch.yml.j2 b/ansible/roles/elasticsearch/templates/elasticsearch.yml.j2
index de3fcda3ad..2f335da89d 100644
--- a/ansible/roles/elasticsearch/templates/elasticsearch.yml.j2
+++ b/ansible/roles/elasticsearch/templates/elasticsearch.yml.j2
@@ -18,3 +18,4 @@ path.data: "/var/lib/elasticsearch/data"
 path.logs: "/var/log/kolla/elasticsearch"
 path.scripts: "/etc/elasticsearch/scripts"
 indices.fielddata.cache.size: 40%
+action.auto_create_index: "true"
diff --git a/ansible/roles/kibana/defaults/main.yml b/ansible/roles/kibana/defaults/main.yml
index 28bf4cc3f2..71bf00d142 100644
--- a/ansible/roles/kibana/defaults/main.yml
+++ b/ansible/roles/kibana/defaults/main.yml
@@ -29,7 +29,8 @@ kibana_default_index_pattern: "{{ kibana_log_prefix }}-*"
 kibana_default_index:
   title: "{{ kibana_default_index_pattern }}"
   timeFieldName: "@timestamp"
-
+kibana_default_index_options:
+  index.mapper.dynamic: true
 
 ####################
 # Docker
diff --git a/ansible/roles/kibana/tasks/post_config.yml b/ansible/roles/kibana/tasks/post_config.yml
index 1acdbd4deb..108c25662f 100644
--- a/ansible/roles/kibana/tasks/post_config.yml
+++ b/ansible/roles/kibana/tasks/post_config.yml
@@ -5,6 +5,15 @@
     port: "{{ kibana_server_port }}"
   run_once: true
 
+- name: Register the kibana index in elasticsearch
+  uri:
+    url: "{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ elasticsearch_port }}/.kibana"
+    method: PUT
+    body: "{{ kibana_default_index_options | to_json }}"
+    body_format: json
+    status_code: 200, 201
+  run_once: true
+
 - name: Wait for kibana to register in elasticsearch
   uri:
     url: "{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ elasticsearch_port }}/.kibana"
@@ -15,6 +24,16 @@
   delay: 2
   run_once: true
 
+- name: Change kibana config to set index as defaultIndex
+  uri:
+    url: "{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ elasticsearch_port }}/.kibana/config/*"
+    method: PUT
+    body:
+      defaultIndex: "{{ kibana_default_index_pattern }}"
+    body_format: json
+    status_code: 200, 201
+  run_once: true
+
 - name: Get kibana default indexes
   uri:
     HEADER_Content-Type: application/json
@@ -44,36 +63,3 @@
     - kibana_default_index is defined
     - kibana_default_indexes is defined
     - kibana_default_indexes['.kibana']['mappings']['config']['properties']['defaultIndex'] is not defined
-
-- name: Find kibana version
-  command: docker exec -t kibana /opt/kibana/bin/kibana --version
-  register: kibana_version
-  run_once: true
-  changed_when: true
-  when:
-    - kibana_default_index is defined
-    - kibana_default_indexes is defined
-    - kibana_default_indexes['.kibana']['mappings']['config']['properties']['defaultIndex'] is not defined
-
-- set_fact:
-    kibana_version: "{{ kibana_version.stdout }}"
-  run_once: true
-  connection: local
-  when:
-    - kibana_default_index is defined
-    - kibana_default_indexes is defined
-    - kibana_default_indexes['.kibana']['mappings']['config']['properties']['defaultIndex'] is not defined
-
-- name: Change kibana config to set index as defaultIndex
-  uri:
-    url: "http://{{ kolla_internal_vip_address }}:{{ elasticsearch_port }}/.kibana/config/{{ kibana_version }}"
-    method: PUT
-    body:
-      defaultIndex: "{{ kibana_default_index_pattern }}"
-    body_format: json
-    status_code: 200
-  run_once: true
-  when:
-    - kibana_default_index is defined
-    - kibana_default_indexes is defined
-    - kibana_default_indexes['.kibana']['mappings']['config']['properties']['defaultIndex'] is not defined