X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Felasticsearch.git;a=blobdiff_plain;f=elasticsearch%2Fserver%2Finit.sls;h=8fac2b2af28941d38bfd195aa956798003386a63;hp=14cc9f8459a1c297b6cdf5085ea9809293afcc76;hb=refs%2Fchanges%2F99%2F44399%2F4;hpb=8bb44a7a7713d003cc510f9a859861d7465e9d87 diff --git a/elasticsearch/server/init.sls b/elasticsearch/server/init.sls index 14cc9f8..8fac2b2 100644 --- a/elasticsearch/server/init.sls +++ b/elasticsearch/server/init.sls @@ -1,39 +1,117 @@ {%- from "elasticsearch/map.jinja" import server with context %} {%- if server.enabled %} +{%- if server.curator is defined %} include: - - java - {%- if server.curator is defined %} - elasticsearch.server.curator - {%- endif %} +{%- endif %} + +elasticsearch_dependency_packages: + pkg.installed: + - names: {{ server.dependency_pkgs }} elasticsearch_packages: pkg.installed: - names: {{ server.pkgs }} + - require: + - pkg: elasticsearch_dependency_packages + +elasticsearch_group: + group.present: + - name: elasticsearch + - require: + - pkg: elasticsearch_packages + +elasticsearch_user: + user.present: + - name: elasticsearch + - home: /home/elasticsearch + - shell: /bin/false + - groups: + - elasticsearch + - require: + - group: elasticsearch_group elasticsearch_default: file.managed: - name: /etc/default/elasticsearch - - source: salt://elasticsearch/files/elasticsearch + - source: salt://elasticsearch/files/v{{ server.version }}/elasticsearch + - group: elasticsearch - template: jinja - require: - pkg: elasticsearch_packages + - user: elasticsearch_user elasticsearch_config: file.managed: - name: /etc/elasticsearch/elasticsearch.yml - - source: salt://elasticsearch/files/elasticsearch.yml + - source: salt://elasticsearch/files/v{{ server.version }}/elasticsearch.yml + - group: elasticsearch - template: jinja - require: - pkg: elasticsearch_packages + - user: elasticsearch_user +{%- if server.version == 2 %} elasticsearch_logging: file.managed: - name: /etc/elasticsearch/logging.yml - - source: salt://elasticsearch/files/logging.yml + - source: salt://elasticsearch/files/v2/logging.yml + - template: jinja + - require: + - pkg: elasticsearch_packages +{%- endif %} + +{%- if server.version == 6 %} +elasticsearch_telegraf_exec_plugin_script: + file.managed: + - name: /usr/local/bin/elasticsearch_check_read_only.sh + - source: salt://elasticsearch/files/v{{ server.version }}/es_check_read_only.sh + - template: jinja + - mode: 755 +{%- endif %} + +{%- if server.version in [5, 6] %} +elasticsearch_logging: + file.managed: + - name: /etc/elasticsearch/log4j2.properties + - source: salt://elasticsearch/files/v{{ server.version }}/log4j2.properties + - group: elasticsearch + - template: jinja + - require: + - pkg: elasticsearch_packages + - user: elasticsearch_user + +elasticsearch_jvm_options: + file.managed: + - name: /etc/elasticsearch/jvm.options + - source: salt://elasticsearch/files/v{{ server.version }}/jvm.options + - group: elasticsearch - template: jinja - require: - pkg: elasticsearch_packages + - user: elasticsearch_user + +{%- if grains.get('init') == 'systemd' %} +elasticsearch_override_limit_memlock_file: + file.managed: + - name: /etc/systemd/system/elasticsearch.service.d/override.conf + - makedirs: True + - contents: | + [Service] + LimitMEMLOCK=infinity + - require: + - pkg: elasticsearch_packages + - watch_in: + - module: elasticsearch_restart_systemd + +elasticsearch_restart_systemd: + module.wait: + - name: service.systemctl_reload + - watch_in: + - service: elasticsearch_service +{%- endif %} +{%- endif %} {%- if server.get('log', {}).logrotate|default(True) and not salt['file.file_exists' ]('/etc/logrotate.d/elasticsearch') %} @@ -52,6 +130,9 @@ elasticsearch_service: service.running: - enable: true - name: {{ server.service }} + {%- if grains.get('noservices') %} + - onlyif: /bin/false + {%- endif %} - watch: - file: elasticsearch_config - file: elasticsearch_logging