From 11083007d638c13a7d6ac174cdd205e02c0ca6a3 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Thu, 17 Nov 2016 16:46:38 +0100 Subject: [PATCH] refactoring of elastic roles - extract java8 - extract elastic-source-list --- elastic-source-list/README.md | 9 +++++++ .../tasks/main.yml | 13 ---------- elasticsearch/README.md | 3 +-- elasticsearch/tasks/datadir.yml | 4 ++-- elasticsearch/tasks/main.yml | 4 +--- elasticsearch/tasks/packages.yml | 14 +++++++++++ filebeat/tasks/main.yml | 24 ------------------- java8/README.md | 11 +++++++++ java8/defaults/main.yml | 1 + .../tasks/java.yml => java8/tasks/main.yml | 3 +++ kibana/tasks/main.yml | 24 ------------------- logstash/README.md | 10 ++++++++ logstash/tasks/main.yml | 14 +++++++++++ vagrant.yml | 11 ++++++--- 14 files changed, 74 insertions(+), 71 deletions(-) create mode 100644 elastic-source-list/README.md rename elasticsearch/tasks/elasticsearch.yml => elastic-source-list/tasks/main.yml (68%) create mode 100644 elasticsearch/tasks/packages.yml create mode 100644 java8/README.md create mode 100644 java8/defaults/main.yml rename elasticsearch/tasks/java.yml => java8/tasks/main.yml (84%) create mode 100644 logstash/README.md create mode 100644 logstash/tasks/main.yml diff --git a/elastic-source-list/README.md b/elastic-source-list/README.md new file mode 100644 index 00000000..7ed88d17 --- /dev/null +++ b/elastic-source-list/README.md @@ -0,0 +1,9 @@ +# elastic-source-list + +Install Elastic sources list for APT. + +## Tasks + +Everything is in the `tasks/main.yml` file. + +## Available variables diff --git a/elasticsearch/tasks/elasticsearch.yml b/elastic-source-list/tasks/main.yml similarity index 68% rename from elasticsearch/tasks/elasticsearch.yml rename to elastic-source-list/tasks/main.yml index 65d54631..c7633d60 100644 --- a/elasticsearch/tasks/elasticsearch.yml +++ b/elastic-source-list/tasks/main.yml @@ -23,16 +23,3 @@ tags: - system - packages - -- name: Elasticsearch is installed - apt: - name: elasticsearch - update_cache: yes - state: installed - tags: - - packages - -- name: Elasticsearch service is enabled - service: - name: elasticsearch - enabled: yes diff --git a/elasticsearch/README.md b/elasticsearch/README.md index 176a70c3..73522bd2 100644 --- a/elasticsearch/README.md +++ b/elasticsearch/README.md @@ -6,8 +6,7 @@ Install Elasticsearch. Tasks are extracted in several files, included in `tasks/main.yml` : -* `java.yml` : install Java 8 ; -* `elasticsearch.yml` : install packages ; +* `packages.yml` : install packages ; * `configuration.yml` : configure the service; * `bootstrap_checks.yml` : deal with bootstrap checks; * `datadir.yml` : data directory customization ; diff --git a/elasticsearch/tasks/datadir.yml b/elasticsearch/tasks/datadir.yml index 1b95305b..ae01417a 100644 --- a/elasticsearch/tasks/datadir.yml +++ b/elasticsearch/tasks/datadir.yml @@ -1,7 +1,7 @@ --- - block: - - name: "Is {{ elasticsearch_custom_datadir }} present ?" + - name: "Is custom datadir present ?" stat: path: "{{ elasticsearch_custom_datadir }}" register: elasticsearch_custom_datadir_test @@ -20,7 +20,7 @@ name: elasticsearch state: stopped - - name: Move elasticsearch datadir to {{ elasticsearch_custom_datadir }} + - name: Move elasticsearch datadir to custom datadir command: mv {{ elasticsearch_current_real_datadir_test.stdout }} {{ elasticsearch_custom_datadir }} args: creates: "{{ elasticsearch_custom_datadir }}" diff --git a/elasticsearch/tasks/main.yml b/elasticsearch/tasks/main.yml index fc4d4edc..89515c05 100644 --- a/elasticsearch/tasks/main.yml +++ b/elasticsearch/tasks/main.yml @@ -1,8 +1,6 @@ --- -- include: java.yml - -- include: elasticsearch.yml +- include: packages.yml - include: configuration.yml diff --git a/elasticsearch/tasks/packages.yml b/elasticsearch/tasks/packages.yml new file mode 100644 index 00000000..83ea171a --- /dev/null +++ b/elasticsearch/tasks/packages.yml @@ -0,0 +1,14 @@ +--- + +- name: Elasticsearch is installed + apt: + name: elasticsearch + update_cache: yes + state: installed + tags: + - packages + +- name: Elasticsearch service is enabled + service: + name: elasticsearch + enabled: yes diff --git a/filebeat/tasks/main.yml b/filebeat/tasks/main.yml index 4073c1f0..8312a488 100644 --- a/filebeat/tasks/main.yml +++ b/filebeat/tasks/main.yml @@ -1,29 +1,5 @@ --- -- name: APT https transport is enabled - apt: - name: apt-transport-https - state: installed - tags: - - system - - packages - -- name: Elastic GPG key is installed - apt_key: - url: https://artifacts.elastic.co/GPG-KEY-elasticsearch - state: present - tags: - - system - - packages - -- name: Elastic sources list is available - apt_repository: - repo: "deb https://artifacts.elastic.co/packages/5.x/apt stable main" - state: present - tags: - - system - - packages - - name: Filebeat is installed apt: name: filebeat diff --git a/java8/README.md b/java8/README.md new file mode 100644 index 00000000..6279675d --- /dev/null +++ b/java8/README.md @@ -0,0 +1,11 @@ +# java8 + +Install OpenJDK 1.8 (from jessie-backports) + +## Tasks + +Everything is in the `tasks/main.yml` file. + +## Available variables + +* `java8_default_alternative`: make this verison the default alternative (defaults to true) diff --git a/java8/defaults/main.yml b/java8/defaults/main.yml new file mode 100644 index 00000000..19bf7803 --- /dev/null +++ b/java8/defaults/main.yml @@ -0,0 +1 @@ +java8_default_alternative: True diff --git a/elasticsearch/tasks/java.yml b/java8/tasks/main.yml similarity index 84% rename from elasticsearch/tasks/java.yml rename to java8/tasks/main.yml index 29c681a3..3c87c5db 100644 --- a/elasticsearch/tasks/java.yml +++ b/java8/tasks/main.yml @@ -13,3 +13,6 @@ alternatives: name: java path: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java + when: java8_default_alternative + tags: + - java diff --git a/kibana/tasks/main.yml b/kibana/tasks/main.yml index da6939a7..107850d1 100644 --- a/kibana/tasks/main.yml +++ b/kibana/tasks/main.yml @@ -1,29 +1,5 @@ --- -- name: APT https transport is enabled - apt: - name: apt-transport-https - state: installed - tags: - - system - - packages - -- name: Elastic GPG key is installed - apt_key: - url: https://artifacts.elastic.co/GPG-KEY-elasticsearch - state: present - tags: - - system - - packages - -- name: Elastic sources list is available - apt_repository: - repo: "deb https://artifacts.elastic.co/packages/5.x/apt stable main" - state: present - tags: - - system - - packages - - name: Kibana is installed apt: name: kibana diff --git a/logstash/README.md b/logstash/README.md new file mode 100644 index 00000000..e4b16a34 --- /dev/null +++ b/logstash/README.md @@ -0,0 +1,10 @@ +# logstash + +Install Logstash. + +## Tasks + +Everything is in the `tasks/main.yml` file. + +The pipeline must be configured before starting Logstash. +https://www.elastic.co/guide/en/logstash/5.0/index.html diff --git a/logstash/tasks/main.yml b/logstash/tasks/main.yml new file mode 100644 index 00000000..1a321e5b --- /dev/null +++ b/logstash/tasks/main.yml @@ -0,0 +1,14 @@ +--- + +- name: Logstash is installed + apt: + name: logstash + update_cache: yes + state: installed + tags: + - packages + +- name: Logstash service is enabled + service: + name: logstash + enabled: yes diff --git a/vagrant.yml b/vagrant.yml index 5d975f3c..a1654cb0 100644 --- a/vagrant.yml +++ b/vagrant.yml @@ -5,8 +5,8 @@ roles: # - { role: apt-upgrade, apt_upgrade_mode: safe } - # - apt-upgrade - # - apt-backports + - apt-upgrade + - apt-backports # - munin # - monit # - redis @@ -21,7 +21,12 @@ # nginx_private_htpasswd_absent: ["toto:dsfgdfsdf"] # } # - apache + - java8 # - { role: elasticsearch, elasticsearch_custom_tmpdir: "/var/lib/elasticsearch/tmp" } - # - elasticsearch + - elastic-source-list + - elasticsearch # - elasticsearch-plugin-head + - elasticsearch-plugin-head + - kibana + - logstash - filebeat