---
- name: Logging Install Checkpoint Start
  hosts: all
  gather_facts: false
  tasks:
  - name: Set Logging install 'In Progress'
    run_once: true
    set_stats:
      data:
        installer_phase_logging:
          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
        get_checksum: false
        get_attributes: false
        get_mime: false
      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:
  - openshift_logging

# TODO: Remove when master config property is removed
- name: Update Master configs
  hosts: oo_masters:!oo_first_master
  tasks:
  - 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
  gather_facts: false
  tasks:
  - name: Set Logging install 'Complete'
    run_once: true
    set_stats:
      data:
        installer_phase_logging:
          status: "Complete"
          end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
