X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Felasticsearch.git;a=blobdiff_plain;f=elasticsearch%2Fserver%2Finit.sls;h=3421aea6644e692171c5daa924af696bea01c4a7;hp=8b2ec70cee26909daf2159c059565cfa5cda57ad;hb=c9a425c44772fd005591627fa12f39572c3eb53b;hpb=26eaaaa069866ed9cba04f6b18384c45697b1cd7 diff --git a/elasticsearch/server/init.sls b/elasticsearch/server/init.sls index 8b2ec70..3421aea 100644 --- a/elasticsearch/server/init.sls +++ b/elasticsearch/server/init.sls @@ -6,33 +6,103 @@ include: - elasticsearch.server.curator {%- 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 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') %} @@ -47,17 +117,16 @@ elasticsearch_logrotate: - template: jinja {%- endif %} -{%- if not grains.get('noservices', False) %} - elasticsearch_service: service.running: - enable: true - name: {{ server.service }} + {%- if grains.get('noservices') %} + - onlyif: /bin/false + {%- endif %} - watch: - file: elasticsearch_config - file: elasticsearch_logging - file: elasticsearch_default {%- endif %} - -{%- endif %}