Fixes an issue with handlers in Ansible 2.2.1+ [https://github.com/ansible/ansible/issues/20603](). Moves the load-templates handler to the top of the file to get around this issue. Fixes an issue loading installed templates into ES. The use of file lookup meant that the template files are checked on the machine that initiated the Ansible play, this only works if Ansible has been run locally, breaking for remote machines. Switched to using the slurp module to grab file contents on the target machine.
34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
---
|
|
|
|
- name: Ensure elasticsearch is started
|
|
service: name={{instance_init_script | basename}} state=started enabled=yes
|
|
|
|
- name: Wait for elasticsearch to startup
|
|
wait_for: host={{es_api_host}} port={{es_api_port}} delay=10
|
|
|
|
- name: Install templates without auth
|
|
uri:
|
|
url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item | filename}}"
|
|
method: PUT
|
|
status_code: 200
|
|
body_format: json
|
|
body: "{{ lookup('file', item) }}"
|
|
when: not es_enable_xpack or not es_xpack_features is defined or "security" not in es_xpack_features
|
|
with_fileglob:
|
|
- "{{ es_templates_fileglob | default('') }}"
|
|
run_once: True
|
|
|
|
- name: Install templates with auth
|
|
uri:
|
|
url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item | filename}}"
|
|
method: PUT
|
|
status_code: 200
|
|
user: "{{es_api_basic_auth_username}}"
|
|
password: "{{es_api_basic_auth_password}}"
|
|
force_basic_auth: yes
|
|
body_format: json
|
|
body: "{{ lookup('file', item) }}"
|
|
when: es_enable_xpack and es_xpack_features is defined and "security" in es_xpack_features
|
|
with_fileglob:
|
|
- "{{ es_templates_fileglob | default('') }}"
|
|
run_once: True
|