X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Felasticsearch.git;a=blobdiff_plain;f=elasticsearch%2Fclient%2Finit.sls;h=18f4ffc49d7b462910c882d8b99527f8f79bdaf8;hp=058f98e0c6455639ff3e0e3793965e9e362d2736;hb=f9ede3488d97b79439c0d04a847db14d750b8f6b;hpb=c107a13cec2d7285d4b4d1dba77d1ca6084b2e09 diff --git a/elasticsearch/client/init.sls b/elasticsearch/client/init.sls index 058f98e..18f4ffc 100644 --- a/elasticsearch/client/init.sls +++ b/elasticsearch/client/init.sls @@ -4,7 +4,26 @@ 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 -sf {{ 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) %} @@ -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 %}