X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Felasticsearch.git;a=blobdiff_plain;f=elasticsearch%2Fclient%2Finit.sls;h=b8ceb57a1c7c58566b15f2c563f577f3abb752d1;hp=c169e97f51f228b1be3c34d1a1bf2c310e34e91b;hb=a6179e351c4ac2f1c4658927628d7dfba07f7239;hpb=15e62f813461d519da6e766f72f60f9a07fb6628 diff --git a/elasticsearch/client/init.sls b/elasticsearch/client/init.sls index c169e97..b8ceb57 100644 --- a/elasticsearch/client/init.sls +++ b/elasticsearch/client/init.sls @@ -4,11 +4,30 @@ include: - elasticsearch.client.service +{%- if grains['saltversioninfo'][0] < 2017 or + (grains['saltversioninfo'][0] == 2017 and grains['saltversioninfo'][1] < 7) %} + {# Since Salt 2017.7 new elasticsearch state is used and elasticsearch_index_... deprecated #} + {% set force_compatibility = True %} +{%- else %} + {% set force_compatibility = False %} +{%- endif %} + {%- for index_name, index in client.get('index', {}).iteritems() %} +# TODO: "Replace with module.run when bug is fixed". +# Since bug in retry logic in salt (#49895) we need to use a workaround for now. +elasticsearch_check_cluster_status_before_creating_index_{{ index_name }}: + cmd.run: + - name: curl -sfk {{ client.server.get("scheme", "http") }}://{{ client.server.host }}:{{ client.server.port }}/_cat/health | awk '{print $4}' | grep green + - retry: + attempts: 5 + until: True + interval: 10 + splay: 5 + elasticsearch_index_{{ index_name }}: {%- if index.get('enabled', False) %} - {% set operation = 'create' %} + {% set operation = 'present' %} {%- if index.definition is defined %} {% set definition = index.definition %} @@ -19,7 +38,11 @@ elasticsearch_index_{{ index_name }}: {%- endif %} {%- if definition is defined %} + {%- if force_compatibility %} elasticsearch_index_template.present: + {%- else %} + elasticsearch.index_template_present: + {%- endif %} - name: {{ index_name }} - definition: '{{ definition|json }}' {%- else %} @@ -30,7 +53,11 @@ elasticsearch_index_{{ index_name }}: {%- else %} {% set operation = 'delete' %} + {%- if force_compatibility %} elasticsearch_index_template.absent: + {%- else %} + elasticsearch.index_template_absent: + {%- endif %} - name: {{ index_name }} {%- endif %} @@ -40,11 +67,10 @@ elasticsearch_index_{{ index_name }}: {%- if index.get('force_operation', False) %} elasticsearch_index_{{ index_name }}_{{ operation }}: {% set curdate = None | strftime('%Y.%m.%d') %} - module.run: - - name: elasticsearch.index_{{ operation }} - - index: {{ index_name }}-{{ curdate }} + elasticsearch.index_{{ operation }}: + - name: {{ index_name }}-{{ curdate }} {%- endif %} {%- endfor %} -{%- endif %} \ No newline at end of file +{%- endif %}