From 1f59ae6b21f3e84c9db29b7532d7ca28514ca8e2 Mon Sep 17 00:00:00 2001 From: John Rowe Date: Wed, 2 Dec 2015 12:16:53 -0500 Subject: [PATCH] Updated to support both RPM and YUM based distros. Also updated to support multiple versions of Elasticsearch --- README.md | 10 ++++++++++ defaults/main.yaml | 2 +- meta/main.yml | 5 +++-- tasks/add-apt-repo.yaml | 4 ++++ tasks/main.yaml | 13 +++++-------- vars/main.yaml | 10 ++++++++++ 6 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 tasks/add-apt-repo.yaml diff --git a/README.md b/README.md index 3277ed2..df22e6a 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Example - hosts: myhost2 roles: - role: common/elasticsearch + elasticsearch_version: 1.4 elasticsearch_config: # Accept only localhost connections network.bind_host: "127.0.0.1" @@ -36,6 +37,15 @@ List of variables used by the role: ``` # Default elasticsearch configuration +elasticsearch_version: 2.x +# available versions are: +# 0.90 +# 1.3 +# 1.4 +# 1.5 +# 1.6 +# 1.7 +# 2.x elasticsearch_config: {} ``` diff --git a/defaults/main.yaml b/defaults/main.yaml index cf4b71e..d3a2f98 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -1,7 +1,7 @@ --- # Default YUM repo URL -elasticsearch_yum_repo_url: http://packages.elasticsearch.org/elasticsearch/1.4/centos +elasticsearch_yum_repo_url: http://packages.elasticsearch.org/elasticsearch/{{ elasticsearch_version }}/centos # Package to be installed (you can force a specific version here) elasticsearch_pkg: elasticsearch diff --git a/meta/main.yml b/meta/main.yml index 281af4c..2a7e390 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -13,9 +13,10 @@ galaxy_info: - system dependencies: - role: common/yumrepo + when: ansible_pkg_mgr == "yum" yumrepo_repos: - elasticsearch-1.4: - name: Elasticsearch repository for 1.4.x packages + elasticsearch: + name: Elasticsearch repository for {{ elasticsearch_version }}.x packages baseurl: "{{ elasticsearch_yum_repo_url }}" gpgcheck: 0 - common/elasticsearch diff --git a/tasks/add-apt-repo.yaml b/tasks/add-apt-repo.yaml new file mode 100644 index 0000000..55997df --- /dev/null +++ b/tasks/add-apt-repo.yaml @@ -0,0 +1,4 @@ +- name: Import Elasticsearch key + apt_key: url=https://packages.elastic.co/GPG-KEY-elasticsearch state=present +- name: Add Elasticsearch Repo + apt_repository: repo="deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" state=present diff --git a/tasks/main.yaml b/tasks/main.yaml index e67d141..3e6a73c 100644 --- a/tasks/main.yaml +++ b/tasks/main.yaml @@ -1,13 +1,10 @@ --- +- name: Add apt-repo for Debian/Ubuntu + include: add-apt-repo.yaml + when: ansible_pkg_mgr == "apt" -- name: Test distribution - assert: - that: ansible_os_family == "RedHat" - -- name: Install elasticsearch package for RedHat - yum: - name: "{{ elasticsearch_pkg }}" - state: present +- name: Install elasticsearch package + action: "{{ ansible_pkg_mgr }} name={{ elasticsearch_pkg }} state=present" notify: - Restart elasticsearch tags: diff --git a/vars/main.yaml b/vars/main.yaml index cb77734..9cb56ef 100644 --- a/vars/main.yaml +++ b/vars/main.yaml @@ -1,4 +1,14 @@ --- +# Default Elasticsearch settings +# available versions are: +# 0.90 +# 1.3 +# 1.4 +# 1.5 +# 1.6 +# 1.7 +# 2.x +elasticsearch_version: 2.x # Default Java settings oracle_java_version_minor: 7