Skip to content

Commit

Permalink
Reworking of templates
Browse files Browse the repository at this point in the history
  • Loading branch information
Dale McDiarmid committed Aug 16, 2017
1 parent b00844a commit 87e32dc
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 35 deletions.
1 change: 1 addition & 0 deletions defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ es_major_version: "5.x"
es_version: "5.5.1"
es_version_lock: false
es_use_repository: true
es_templates_fileglob: "./files/templates/*"
es_apt_key: "https://artifacts.elastic.co/GPG-KEY-elasticsearch"
es_apt_url: "deb https://artifacts.elastic.co/packages/{{ es_major_version }}/apt stable main"
es_apt_url_old: "deb http://packages.elastic.co/elasticsearch/{{ es_major_version }}/debian stable main"
Expand Down
19 changes: 11 additions & 8 deletions handlers/main.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@

#Templates are a handler as they need to come after a restart 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.
#Templates done after restart therefore - as a handler.
- name: reload systemd configuration
command: systemctl daemon-reload

- name: load-templates
include: ./handlers/elasticsearch-templates.yml
#only do templates if we're starting
when: es_templates and es_start_service
when: es_templates
# Restart service and ensure it is enabled

- name: restart elasticsearch
service: name={{instance_init_script | basename}} state=restarted enabled=yes
when:
- es_restart_on_change
- es_start_service
- ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed))
register: es_restarted
3 changes: 1 addition & 2 deletions meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ galaxy_info:
description: Elasticsearch for Linux
company: "Elastic.co"
license: "license (Apache)"
# Require 1.6 for apt deb install
min_ansible_version: 2.2.0
min_ansible_version: 2.3.2
platforms:
- name: EL
versions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,8 @@

- file: path=/etc/elasticsearch/templates state=directory owner={{ es_user }} group={{ es_group }}

- name: Copy default templates to elasticsearch
copy: src=templates dest=/etc/elasticsearch/ owner={{ es_user }} group={{ es_group }}
notify: load-templates
when: es_templates_fileglob is not defined

- name: Copy templates to elasticsearch
copy: src={{ item }} dest=/etc/elasticsearch/templates owner={{ es_user }} group={{ es_group }}
notify: load-templates
register: load_templates
with_fileglob:
- "{{ es_templates_fileglob | default('') }}"
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
---
#Templates done after restart therefore. 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.

- name: Ensure elasticsearch is started
service: name={{instance_init_script | basename}} 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=10
when: es_start_service

- name: Install templates without auth
uri:
Expand All @@ -13,7 +15,7 @@
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
when: es_start_service and 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
Expand All @@ -28,7 +30,7 @@
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
when: es_start_service and es_enable_xpack and es_xpack_features is defined and "security" in es_xpack_features
with_fileglob:
- "{{ es_templates_fileglob | default('') }}"
run_once: True
run_once: True
19 changes: 6 additions & 13 deletions tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,18 @@
tags:
- xpack

- include: elasticsearch-templates.yml
- include: elasticsearch-template-copy.yml
when: es_templates
tags:
- templates

- name: reload systemd configuration
command: systemctl daemon-reload

# Restart service and ensure it is enabled
- name: restart elasticsearch
service: name={{instance_init_script | basename}} state=restarted enabled=yes
when:
- es_restart_on_change
- es_start_service
- ((plugin_installed is defined and plugin_installed.changed) or (config_updated is defined and config_updated.changed) or (xpack_state.changed) or (debian_elasticsearch_install_from_repo.changed or redhat_elasticsearch_install_from_repo.changed or elasticsearch_install_from_package.changed))
register: es_restarted

- meta: flush_handlers

- include: elasticsearch-template-insert.yml
when: load_templates
tags:
- templates

- name: Make sure elasticsearch is started
service: name={{instance_init_script | basename}} state=started enabled=yes
when: es_start_service
Expand Down
4 changes: 2 additions & 2 deletions test/integration/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
es_templates: true
es_heap_size: "1g"
es_api_port: 9200
es_version: "5.1.2"
es_version: "5.5.1"
es_plugins:
- plugin: ingest-geoip

Expand All @@ -21,7 +21,7 @@
vars:
es_scripts: true
es_templates: true
es_version: "5.2.2"
es_version: "5.5.1"
es_heap_size: "1g"
es_api_port: 9200
es_plugins:
Expand Down

0 comments on commit 87e32dc

Please sign in to comment.