2016-07-24 01:10:07 +01:00
---
- name : Ensure elasticsearch is started
service : name={{instance_init_script | basename}} state=started enabled=yes
2016-12-06 12:15:34 -08:00
- set_fact :
es_config_host : "{{ item }}"
with_items : "{{ es_config['network.host'] }}"
when :
- es_config['network.host'] is defined and es_config['network.host'] is not string
- not item | match('^_.*_$')
- es_config_host is not defined
- set_fact :
es_config_host : "{{ es_config['network.host'] }}"
when :
- es_config['network.host'] is defined and es_config['network.host'] is string
- not es_config['network.host'] | match('^_.*_$')
- set_fact :
es_config_port : "{{ es_config['network.port'] }}"
when :
- es_config['network.port'] is defined and es_config['network.port'] is number
- set_fact :
es_config_port : "{{ es_config['network.port'].split('-').0 }}"
when :
- es_config['network.port'] is defined and es_config['network.port'] is string
- es_config['network.port'] | match('^\d')
2016-07-24 01:10:07 +01:00
- name : Wait for elasticsearch to startup
2016-12-06 12:15:34 -08:00
wait_for :
host : "{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}"
port : "{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}"
delay : 10
- name : Gather template files contents
shell : "cat /etc/elasticsearch/templates/{{ item }}"
with_items : "{{ es_template_files }}"
register : es_template_files_contents
2016-10-28 18:42:44 +02:00
2016-07-24 01:10:07 +01:00
- name : Get template files
2016-08-30 10:38:54 +01:00
find : paths="/etc/elasticsearch/templates" patterns="*.json"
register : templates
2016-07-24 01:10:07 +01:00
2016-07-24 19:18:04 +01:00
- name : Install templates without auth
uri :
2016-12-06 12:15:34 -08:00
url : "http://{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}:{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
2016-07-24 19:18:04 +01:00
method : PUT
status_code : 200
body_format : json
2016-12-06 18:15:08 -08:00
body : "{{ item.stdout }}"
2016-07-24 19:18:04 +01:00
when : not es_enable_xpack or not es_xpack_features is defined or not '"shield" in es_xpack_features'
2016-12-06 18:15:08 -08:00
with_items : "{{ es_template_files_contents.results }}"
2016-07-24 19:18:04 +01:00
- name : Install templates with auth
uri :
2016-12-06 12:15:34 -08:00
url : "http://{% if es_config_host is defined %}{{es_config_host}}{% else %}{{es_api_host}}{% endif %}:{% if es_config_port is defined %}{{es_config_port}}{% else %}{{es_api_port}}{% endif %}/_template/{{item.path | filename}}"
2016-07-24 19:18:04 +01:00
method : PUT
status_code : 200
user : "{{es_api_basic_auth_username}}"
password : "{{es_api_basic_auth_password}}"
force_basic_auth : yes
body_format : json
2016-12-06 18:15:08 -08:00
body : "{{ item.stdout }}"
2016-07-24 19:18:04 +01:00
when : es_enable_xpack and es_xpack_features is defined and '"shield" in es_xpack_features'
2016-12-06 18:15:08 -08:00
with_items : "{{ es_template_files_contents.results }}"