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=c9500260c636a1cd32d3af0cc7bbc3eba9b81f55;hb=f9ede3488d97b79439c0d04a847db14d750b8f6b;hpb=637b32460f4f192a258fd1e62be2414bed97ab07 diff --git a/elasticsearch/client/init.sls b/elasticsearch/client/init.sls index c950026..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 %} @@ -38,6 +65,12 @@ elasticsearch_index_{{ index_name }}: - pkg: elasticsearch_client_packages {%- 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 }} +{%- else %} elasticsearch_index_{{ index_name }}_{{ operation }}: module.run: - name: elasticsearch.index_{{ operation }} @@ -46,4 +79,4 @@ elasticsearch_index_{{ index_name }}_{{ operation }}: {%- endfor %} -{%- endif %} \ No newline at end of file +{%- endif %}