initial
This commit is contained in:
0
elasticsearch/.gitkeep
Normal file
0
elasticsearch/.gitkeep
Normal file
16
elasticsearch/config.sls
Normal file
16
elasticsearch/config.sls
Normal file
@@ -0,0 +1,16 @@
|
||||
{%- if grains['kernel'] == 'Linux' %}
|
||||
{%- if grains['os'] == 'RedHat' %}
|
||||
{%- if grains['Role'] == 'Elasticsearch' %}
|
||||
|
||||
{%- if salt['pillar.get']('elasticsearch:config') %}
|
||||
manage elasticsearch configuration from pillar:
|
||||
file.serialize:
|
||||
- name: /etc/elasticsearch/elasticsearch.yml
|
||||
- dataset_pillar: elasticsearch:config
|
||||
- formatter: yaml
|
||||
- user: root
|
||||
{%- endif %}
|
||||
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
13
elasticsearch/init.sls
Normal file
13
elasticsearch/init.sls
Normal file
@@ -0,0 +1,13 @@
|
||||
{%- if grains['kernel'] == 'Linux' %}
|
||||
{%- if grains['os'] == 'RedHat' %}
|
||||
{%- if grains['Role'] == 'Elasticsearch' %}
|
||||
|
||||
include:
|
||||
- elasticsearch.install
|
||||
- elasticsearch.config
|
||||
- elasticsearch.services
|
||||
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
50
elasticsearch/install.sls
Normal file
50
elasticsearch/install.sls
Normal file
@@ -0,0 +1,50 @@
|
||||
{%- if grains['kernel'] == 'Linux' %}
|
||||
{%- if grains['os'] == 'RedHat' %}
|
||||
{%- if grains['Role'] == 'Elasticsearch' %}
|
||||
|
||||
{% set launchmanaged = '1' %}
|
||||
|
||||
elasticsearch_repo:
|
||||
pkgrepo.managed:
|
||||
- humanname: Elasticsearch
|
||||
- name: elasticsearch
|
||||
- baseurl: http://XSPW50A595K/saltrepo/redhat
|
||||
- enabled: 1
|
||||
- gpgcheck: 0
|
||||
|
||||
java-1.8.0-openjdk:
|
||||
pkg.installed
|
||||
|
||||
elasticsearch_folder_data:
|
||||
cmd.run:
|
||||
- name: "mkdir -p /data/elasticsearch"
|
||||
- cwd: /
|
||||
- stateful: True
|
||||
- if_missing: '/data/elasticsearch'
|
||||
|
||||
elasticsearch_folder_logs:
|
||||
cmd.run:
|
||||
- name: "mkdir -p /logs/elasticsearch"
|
||||
- cwd: /
|
||||
- stateful: True
|
||||
- if_missing: '/logs/elasticsearch'
|
||||
|
||||
elasticsearch:
|
||||
pkg.installed
|
||||
|
||||
# TODO : USE GRAINS instead file to keep the External Script launched.
|
||||
|
||||
elasticsearch_patch_kernel:
|
||||
cmd.script:
|
||||
- name: patch_kernel2.sh
|
||||
- env:
|
||||
- BATCH: 'yes'
|
||||
- source: salt://elasticsearch/patch_kernel2.sh
|
||||
- cwd: /
|
||||
- args: {{ launchmanaged }}
|
||||
# If missing is not compatible pour module cmd.
|
||||
# - if_missing: '/data/kernel-{{ launchmanaged }}.patched'
|
||||
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
57
elasticsearch/patch_kernel.sh
Normal file
57
elasticsearch/patch_kernel.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
# Iwan CLEMENT & Joseph ZACHARIE
|
||||
|
||||
SCRIPTVER="0.2"
|
||||
SCRIPTDATE="20170915"
|
||||
|
||||
LAUNCHMANAGED=$1
|
||||
|
||||
SYSCTLROOT="/proc/sys"
|
||||
SYSCTLFILE="/etc/sysctl.conf"
|
||||
LIMITFILE="/etc/security/limits.conf"
|
||||
FLAGFILE="/data/kernel-$LAUNCHMANAGED.patched"
|
||||
ELASTICDATA="/data/elasticsearch"
|
||||
ELASTICLOGS="/logs/elasticsearch"
|
||||
ELASTICUSER="elasticsearch"
|
||||
ELASTICGRP=$ELASTICUSER
|
||||
|
||||
if [ $LAUNCHMANAGED -eq "" ] then exit 1
|
||||
|
||||
function logons() {
|
||||
echo -e "$(date +"%Y%m%d_%H%M%S") $1" >>"$FLAGFILE"
|
||||
}
|
||||
|
||||
function sysctlconfig () {
|
||||
logons "$1 parameter setting"
|
||||
CHAINE=$1
|
||||
VALEUR=$2
|
||||
SYSFILE=$SYSCTLROOT/${CHAINE/\./\/}
|
||||
logons "Initial value for $CHAINE: $(cat $SYSFILE)"
|
||||
logons "New setting $VALEUR pushed to $SYSFILE"
|
||||
cat $VALUE >"$SYSFILE"
|
||||
echo "$1=$2" >>"$SYSCTLFILE"
|
||||
}
|
||||
|
||||
if [ ! -f $FLAGFILE ]
|
||||
then
|
||||
logons "ScriptVersion=$SCRIPTVER"
|
||||
logons "ScriptDate=$SCRIPTDATE"
|
||||
logons "Patch Kernel"
|
||||
echo "* soft nofile 65536" >> "$LIMITFILE"
|
||||
echo "* hard nofile 131072" >> "$LIMITFILE"
|
||||
echo "* soft nproc 2048" >> "$LIMITFILE"
|
||||
echo "* hard nproc 4096" >> "$LIMITFILE"
|
||||
sysctlconfig "fs.file-max" "524288"
|
||||
sysctlconfig "vm.max_map_count" "262144"
|
||||
#echo "fs.file-max = 524288" >> /etc/sysctl.conf
|
||||
#echo "vm.max_map_count=262144" >> /etc/sysctl.conf
|
||||
|
||||
chmod 750 $ELASTICDATA
|
||||
chmod 750 $ELASTICLOGS
|
||||
chmod 755 $ELASTICDATA/nodes
|
||||
|
||||
chown $ELASTICUSER:$ELASTICGRP $ELASTICDATA -R
|
||||
chown $ELASTICUSER:$ELASTICGRP $ELASTICLOGS -R
|
||||
|
||||
logons "done"
|
||||
fi
|
||||
1
elasticsearch/patch_kernel2.sh
Normal file
1
elasticsearch/patch_kernel2.sh
Normal file
@@ -0,0 +1 @@
|
||||
echo Hello $1
|
||||
20
elasticsearch/services.sls
Normal file
20
elasticsearch/services.sls
Normal file
@@ -0,0 +1,20 @@
|
||||
{%- if grains['kernel'] == 'Linux' %}
|
||||
{%- if grains['os'] == 'RedHat' %}
|
||||
{%- if grains['Role'] == 'Elasticsearch' %}
|
||||
|
||||
|
||||
include:
|
||||
- elasticsearch.config
|
||||
|
||||
start elasticsearch service:
|
||||
service.running:
|
||||
- name: elasticsearch
|
||||
- enable: True
|
||||
{%- if salt['pillar.get']('elasticsearch:config') %}
|
||||
- watch:
|
||||
- file: /etc/elasticsearch/elasticsearch.yml
|
||||
{%- endif %}
|
||||
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
14
elasticsearch/upgrade_5_6_1.sls
Normal file
14
elasticsearch/upgrade_5_6_1.sls
Normal file
@@ -0,0 +1,14 @@
|
||||
{%- if grains['kernel'] == 'Linux' %}
|
||||
{%- if grains['os'] == 'RedHat' %}
|
||||
{%- if grains['Role'] == 'Elasticsearch' %}
|
||||
|
||||
#VERIFY THAT ELASTIC IS ALLREADY PRESENT E.G. INCLUDE ELASTIC.INSTALL.SLS
|
||||
elasticsearch_force_upgrade:
|
||||
cmd.run:
|
||||
- name: "yum install -y http://XSPW50A595K/saltrepo/redhat/elasticsearch/elasticsearch-5.6.1.rpm"
|
||||
- cwd: /
|
||||
- stateful: True
|
||||
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
Reference in New Issue
Block a user