From b26a4334bd036c14afb03a490a54c6e48276872a Mon Sep 17 00:00:00 2001 From: James Tombleson Date: Tue, 23 Apr 2019 16:13:44 -0700 Subject: [PATCH] moving elastic config to a template --- playbook/linux/elastic/elasticsearch.j2 | 94 +++++++++++++++++++++++ playbook/linux/elastic/install-server.yml | 11 +++ playbook/linux/elastic/template-test.yml | 21 +++++ playbook/templateTest.j2 | 5 -- playbook/templateTest.yml | 14 ---- 5 files changed, 126 insertions(+), 19 deletions(-) create mode 100755 playbook/linux/elastic/elasticsearch.j2 create mode 100644 playbook/linux/elastic/template-test.yml delete mode 100644 playbook/templateTest.j2 delete mode 100644 playbook/templateTest.yml diff --git a/playbook/linux/elastic/elasticsearch.j2 b/playbook/linux/elastic/elasticsearch.j2 new file mode 100755 index 0000000..16fcf9a --- /dev/null +++ b/playbook/linux/elastic/elasticsearch.j2 @@ -0,0 +1,94 @@ +# ======================== Elasticsearch Configuration ========================= +# +# NOTE: Elasticsearch comes with reasonable defaults for most settings. +# Before you set out to tweak and tune the configuration, make sure you +# understand what are you trying to accomplish and the consequences. +# +# The primary way of configuring a node is via this file. This template lists +# the most important settings you may want to configure for a production cluster. +# +# Please consult the documentation for further information on configuration options: +# https://www.elastic.co/guide/en/elasticsearch/reference/index.html +# +# ---------------------------------- Cluster ----------------------------------- +# +# Use a descriptive name for your cluster: +# +#cluster.name: my-application +cluster.name: {{ cluster_name }} +# +# ------------------------------------ Node ------------------------------------ +# +# Use a descriptive name for the node: +# +#node.name: node-1 +node.name: {{ node_name }} +node.master: {{ node_master }} +node.data: {{ node_data }} +# +# Add custom attributes to the node: +# +#node.attr.rack: r1 +# +# ----------------------------------- Paths ------------------------------------ +# +# Path to directory where to store the data (separate multiple locations by comma): +# +path.data: {{ path_data }} +# +# Path to log files: +# +path.logs: {{ path_logs }} +# +# ----------------------------------- Memory ----------------------------------- +# +# Lock the memory on startup: +# +#bootstrap.memory_lock: true +# +# Make sure that the heap size is set to about half the memory available +# on the system and that the owner of the process is allowed to use this +# limit. +# +# Elasticsearch performs poorly when the system is swapping the memory. +# +# ---------------------------------- Network ----------------------------------- +# +# Set the bind address to a specific IP (IPv4 or IPv6): +# +network.host: {{ network_host }} +# +# Set a custom port for HTTP: +# +http.port: {{ http_port }} +transport.host: {{ transport_host }} +transport.port: {{ transport_port }} +# +# For more information, consult the network module documentation.# +# +# --------------------------------- Discovery ---------------------------------- +# +# Pass an initial list of hosts to perform discovery when this node is started: +# The default list of hosts is ["127.0.0.1", "[::1]"] +# +#discovery.seed_hosts: ["host1", "host2"] +# +# Bootstrap the cluster using an initial set of master-eligible nodes: +# +#cluster.initial_master_nodes: ["node-1", "node-2"] +# +# For more information, consult the discovery and cluster formation module documentation. +# +# ---------------------------------- Gateway ----------------------------------- +# +# Block initial recovery after a full cluster restart until N nodes are started: +# +#gateway.recover_after_nodes: 3 +# +# For more information, consult the gateway module documentation. +# +# ---------------------------------- Various ----------------------------------- +# +# Require explicit names when deleting indices: +# +#action.destructive_requires_name: true diff --git a/playbook/linux/elastic/install-server.yml b/playbook/linux/elastic/install-server.yml index bc6854a..e4451d5 100644 --- a/playbook/linux/elastic/install-server.yml +++ b/playbook/linux/elastic/install-server.yml @@ -5,6 +5,17 @@ - name: Install Elastic server programs hosts: elastic + vars: + cluster_name: 'logging-dev' + node_name: 'dev-data-01' + node_master: 'true' + node_data: 'true' + path_data: '/var/lib/elasticsearch' + path_logs: '/var/log/elasticsearch' + network_host: {{ ansible_default_ipv4.address }} + http_port: '9200' + transport_host: 'localhost' + transport_port: '9300' tasks: - name: Install Requrements diff --git a/playbook/linux/elastic/template-test.yml b/playbook/linux/elastic/template-test.yml new file mode 100644 index 0000000..848db7c --- /dev/null +++ b/playbook/linux/elastic/template-test.yml @@ -0,0 +1,21 @@ + + +- name: template test + hosts: elasticClients + vars: + cluster_name: 'logging-dev' + node_name: 'dev-data-01' + node_master: 'true' + node_data: 'true' + path_data: '/var/lib/elasticsearch' + path_logs: '/var/log/elasticsearch' + network_host: ansible_default_ipv4.address + http_port: '9200' + transport_host: 'localhost' + transport_port: '9300' + + tasks: + - name: generate template + template: + src: elasticsearch.j2 + dest: /tmp/elasticsearch.yml diff --git a/playbook/templateTest.j2 b/playbook/templateTest.j2 deleted file mode 100644 index 1cba573..0000000 --- a/playbook/templateTest.j2 +++ /dev/null @@ -1,5 +0,0 @@ - - -{{ var01 }} - -{{ var02 }} diff --git a/playbook/templateTest.yml b/playbook/templateTest.yml deleted file mode 100644 index cf0b1c8..0000000 --- a/playbook/templateTest.yml +++ /dev/null @@ -1,14 +0,0 @@ - - -- name: TemplateTest - hosts: elasticClients - vars: - var01: 'Hello world' - var02: "Why did I start at 1?" - - - tasks: - - name: ansible template - template: - src: templateTest.j2 - dest: /tmp/templatetest.txt