1 {%- from "elasticsearch/map.jinja" import client with context %}
2 {%- if client.get('enabled', False) %}
5 - elasticsearch.client.service
7 {%- if grains['saltversioninfo'][0] < 2017 or
8 (grains['saltversioninfo'][0] == 2017 and grains['saltversioninfo'][1] < 7) %}
9 {# Since Salt 2017.7 new elasticsearch state is used and elasticsearch_index_... deprecated #}
10 {% set force_compatibility = True %}
12 {% set force_compatibility = False %}
15 {%- for index_name, index in client.get('index', {}).iteritems() %}
16 # TODO: "Replace with module.run when bug is fixed".
17 # Since bug in retry logic in salt (#49895) we need to use a workaround for now.
18 elasticsearch_check_cluster_status_before_creating_index_{{ index_name }}:
20 - name: curl -sfk {{ client.server.get("scheme", "http") }}://{{ client.server.host }}:{{ client.server.port }}/_cat/health | awk '{print $4}' | grep green
27 elasticsearch_index_{{ index_name }}:
29 {%- if index.get('enabled', False) %}
30 {% set operation = 'present' %}
32 {%- if index.definition is defined %}
33 {% set definition = index.definition %}
36 {%- if index.template is defined %}
37 {%- import_json index.template as definition %}
40 {%- if definition is defined %}
41 {%- if force_compatibility %}
42 elasticsearch_index_template.present:
44 elasticsearch.index_template_present:
46 - name: {{ index_name }}
47 - definition: '{{ definition|json }}'
50 - name: echo "No definition specified for index {{ index_name }}"
55 {% set operation = 'delete' %}
56 {%- if force_compatibility %}
57 elasticsearch_index_template.absent:
59 elasticsearch.index_template_absent:
61 - name: {{ index_name }}
65 - pkg: elasticsearch_client_packages
67 {%- if index.get('force_operation', False) %}
68 elasticsearch_index_{{ index_name }}_{{ operation }}:
69 {% set curdate = None | strftime('%Y.%m.%d') %}
70 elasticsearch.index_{{ operation }}:
71 - name: {{ index_name }}-{{ curdate }}