From d5879135f077e4aaaa09c8e4ebf5d9ef2a063a78 Mon Sep 17 00:00:00 2001
From: Eric Wolinetz <ewolinet@redhat.com>
Date: Fri, 5 Jan 2018 11:06:43 -0600
Subject: Adding support for ES 5.x tech preview opt in

---
 playbooks/openshift-logging/private/config.yml | 41 ++++++++++++++++++++++----
 1 file changed, 36 insertions(+), 5 deletions(-)

(limited to 'playbooks/openshift-logging/private')

diff --git a/playbooks/openshift-logging/private/config.yml b/playbooks/openshift-logging/private/config.yml
index 07aa8bfde..f2a57f9f8 100644
--- a/playbooks/openshift-logging/private/config.yml
+++ b/playbooks/openshift-logging/private/config.yml
@@ -11,6 +11,38 @@
           status: "In Progress"
           start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
 
+- name: Update vm.max_map_count for ES 5.x
+  hosts: all
+  gather_facts: false
+  tasks:
+  - when:
+    - openshift_logging_es5_techpreview | default(false) | bool
+    - openshift_deployment_type in ['origin']
+    block:
+    - name: Checking vm max_map_count value
+      command:
+        cat /proc/sys/vm/max_map_count
+      register: _vm_max_map_count
+
+    - stat:
+        path: /etc/sysctl.d/99-elasticsearch.conf
+      register: _99_es_conf
+
+    - name: Check for current value of vm.max_map_count in 99-elasticsearch.conf
+      command: >
+        sed /etc/sysctl.d/99-elasticsearch.conf -e 's/vm.max_map_count=\(.*\)/\1/'
+      register: _curr_vm_max_map_count
+      when: _99_es_conf.stat.exists
+
+    - name: Updating vm.max_map_count value
+      sysctl:
+        name: vm.max_map_count
+        value: 262144
+        sysctl_file: "/etc/sysctl.d/99-elasticsearch.conf"
+        reload: yes
+      when:
+      - _vm_max_map_count.stdout | default(0) | int < 262144 | int or _curr_vm_max_map_count.stdout | default(0) | int < 262144
+
 - name: OpenShift Aggregated Logging
   hosts: oo_first_master
   roles:
@@ -20,11 +52,10 @@
 - name: Update Master configs
   hosts: oo_masters:!oo_first_master
   tasks:
-  - block:
-    - import_role:
-        name: openshift_logging
-        tasks_from: update_master_config
-      when: not openshift.common.version_gte_3_9
+  - include_role:
+      name: openshift_logging
+      tasks_from: update_master_config
+    when: not openshift.common.version_gte_3_9
 
 - name: Logging Install Checkpoint End
   hosts: all
-- 
cgit v1.2.3