93 lines
2.7 KiB
YAML
93 lines
2.7 KiB
YAML
---
|
|
|
|
- import_tasks: local_actions.yml
|
|
when:
|
|
- generate_certs
|
|
|
|
- block:
|
|
- import_tasks: RedHat.yml
|
|
when: ansible_os_family == 'RedHat'
|
|
|
|
- import_tasks: Debian.yml
|
|
when: ansible_os_family == 'Debian'
|
|
|
|
- name: Remove elasticsearch configuration file
|
|
file:
|
|
path: "{{ opendistro_conf_path }}/elasticsearch.yml"
|
|
state: absent
|
|
tags: install
|
|
|
|
- name: Copy Configuration File
|
|
blockinfile:
|
|
block: "{{ lookup('template', 'elasticsearch.yml.j2') }}"
|
|
dest: "{{ opendistro_conf_path }}/elasticsearch.yml"
|
|
create: true
|
|
group: elasticsearch
|
|
mode: 0640
|
|
marker: "## {mark} Opendistro general settings ##"
|
|
tags: install
|
|
|
|
- include_tasks: security_actions.yml
|
|
tags:
|
|
- security
|
|
|
|
|
|
- name: Configure OpenDistro Elasticsearch JVM memmory.
|
|
template:
|
|
src: "templates/jvm.options.j2"
|
|
dest: /etc/elasticsearch/jvm.options
|
|
owner: root
|
|
group: elasticsearch
|
|
mode: 0644
|
|
force: yes
|
|
notify: restart elasticsearch
|
|
tags: install
|
|
|
|
- name: Ensure Elasticsearch started and enabled
|
|
service:
|
|
name: elasticsearch
|
|
enabled: true
|
|
state: started
|
|
|
|
- name: Wait for Elasticsearch API
|
|
uri:
|
|
url: "https://{{ inventory_hostname }}:{{ opendistro_http_port }}/_cluster/health/"
|
|
user: "admin" # Default OpenDistro user is always "admin"
|
|
password: "{{ opendistro_admin_password }}"
|
|
validate_certs: no
|
|
status_code: 200,401
|
|
return_content: yes
|
|
timeout: 4
|
|
register: _result
|
|
until:
|
|
- _result.json is defined
|
|
- _result.json.status == "green" or ( _result.json.status == "yellow" and single_node )
|
|
retries: 24
|
|
delay: 5
|
|
tags: debug
|
|
when:
|
|
- hostvars[inventory_hostname]['private_ip'] is not defined or not hostvars[inventory_hostname]['private_ip']
|
|
|
|
- name: Wait for Elasticsearch API (Private IP)
|
|
uri:
|
|
url: "https://{{ hostvars[inventory_hostname]['private_ip'] }}:{{ opendistro_http_port }}/_cluster/health/"
|
|
user: "admin" # Default OpenDistro user is always "admin"
|
|
password: "{{ opendistro_admin_password }}"
|
|
validate_certs: no
|
|
status_code: 200,401
|
|
return_content: yes
|
|
timeout: 4
|
|
register: _result
|
|
until:
|
|
- _result.json is defined
|
|
- _result.json.status == "green" or ( _result.json.status == "yellow" and single_node )
|
|
retries: 24
|
|
delay: 5
|
|
tags: debug
|
|
when:
|
|
- hostvars[inventory_hostname]['private_ip'] is defined and hostvars[inventory_hostname]['private_ip']
|
|
|
|
- import_tasks: "RMRedHat.yml"
|
|
when: ansible_os_family == "RedHat"
|
|
when: perform_installation
|