102 lines
3 KiB
YAML
102 lines
3 KiB
YAML
---
|
|
|
|
- set_fact: "es_major_version={{ es_version.split('.')[0] }}.x"
|
|
when:
|
|
- es_major_version is undefined
|
|
tags:
|
|
- always
|
|
|
|
- name: os-specific vars
|
|
include_vars: "{{ansible_os_family}}.yml"
|
|
tags:
|
|
- always
|
|
|
|
- name: set compatibility variables
|
|
include: compatibility-variables.yml
|
|
tags:
|
|
- always
|
|
|
|
- name: check-set-parameters
|
|
include: elasticsearch-parameters.yml
|
|
tags:
|
|
- always
|
|
|
|
- name: use snapshot release
|
|
include: snapshot-release.yml
|
|
when: es_use_snapshot_release
|
|
|
|
- name: include java.yml
|
|
include: java.yml
|
|
when: es_java_install
|
|
tags:
|
|
- java
|
|
|
|
- name: include elasticsearch.yml
|
|
include: elasticsearch.yml
|
|
tags:
|
|
- install
|
|
|
|
- name: include elasticsearch-config.yml
|
|
include: elasticsearch-config.yml
|
|
tags:
|
|
- config
|
|
|
|
- name: include elasticsearch-plugins.yml
|
|
include: elasticsearch-plugins.yml
|
|
when: es_plugins is defined or es_plugins_reinstall
|
|
tags:
|
|
- plugins
|
|
|
|
#We always execute xpack as we may need to remove features
|
|
- name: include xpack/elasticsearch-xpack.yml
|
|
include: xpack/elasticsearch-xpack.yml
|
|
tags:
|
|
- xpack
|
|
|
|
- name: include elasticsearch-ssl.yml
|
|
include: elasticsearch-ssl.yml
|
|
when: es_enable_http_ssl or es_enable_transport_ssl
|
|
|
|
- name: flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: Make sure elasticsearch is started
|
|
become: yes
|
|
service: name=elasticsearch state=started enabled=yes
|
|
when: es_start_service
|
|
|
|
- name: Wait for elasticsearch to startup
|
|
wait_for: host={{es_api_host}} port={{es_api_port}} delay=5 connect_timeout=1
|
|
when: es_restarted is defined and es_restarted.changed and es_start_service
|
|
|
|
- name: set fact manage_native_realm to false
|
|
set_fact: manage_native_realm=false
|
|
|
|
- name: set fact manage_native_realm to true
|
|
set_fact: manage_native_realm=true
|
|
when:
|
|
- es_start_service
|
|
- es_enable_xpack
|
|
- (es_users is defined and es_users.native is defined) or (es_roles is defined and es_roles.native is defined)
|
|
|
|
# If playbook runs too fast, Native commands could fail as the Native Realm is not yet up
|
|
- name: Wait 15 seconds for the Native Realm to come up
|
|
command: sleep 15
|
|
when: manage_native_realm | bool
|
|
|
|
- name: activate-license
|
|
include: ./xpack/security/elasticsearch-xpack-activation.yml
|
|
when: es_start_service and es_enable_xpack and es_xpack_license is defined and es_xpack_license != ''
|
|
|
|
#perform security actions here now elasticsearch is started
|
|
- name: include xpack/security/elasticsearch-security-native.yml
|
|
include: ./xpack/security/elasticsearch-security-native.yml
|
|
when: manage_native_realm | bool
|
|
|
|
#Templates done after restart - handled by flushing the handlers. e.g. suppose user removes security on a running node and doesn't specify es_api_basic_auth_username and es_api_basic_auth_password. The templates will subsequently not be removed if we don't wait for the node to restart.
|
|
#We also do after the native realm to ensure any changes are applied here first and its denf up.
|
|
- name: include elasticsearch-template.yml
|
|
include: elasticsearch-template.yml
|
|
when: es_templates
|
|
tags:
|
|
- templates
|