ansible-role-elasticsearch/tasks/elasticsearch-Debian.yml

117 lines
3.7 KiB
YAML
Raw Normal View History

2015-05-13 09:45:55 +02:00
---
2016-07-20 14:57:21 +01:00
2018-02-04 07:09:23 +00:00
- name: set fact force_install to no
set_fact: force_install=no
2016-07-20 14:57:21 +01:00
2018-02-04 07:09:23 +00:00
- name: set fact force_install to yes
set_fact: force_install=yes
2016-07-20 14:57:21 +01:00
when: es_allow_downgrades
- name: Gracefully stop and remove elasticsearch package if switching between OSS and standard
2017-05-12 13:31:50 -07:00
become: yes
block:
- name: Check if the elasticsearch package is installed
shell: "dpkg-query -W -f'${Status}' {{ es_other_package_name }}"
register: elasticsearch_package
failed_when: False
changed_when: False
check_mode: no
- name: unhold elasticsearch package when switching to a different package type
become: yes
dpkg_selections:
name: "{{ es_other_package_name }}"
selection: "install"
when: elasticsearch_package.stdout == 'install ok installed'
- name: stop elasticsearch
service:
name: 'elasticsearch'
state: stopped
when: elasticsearch_package.stdout == 'install ok installed'
- name: Debian - Remove elasticsearch package if we are switching to a different package type
apt:
name: '{{ es_other_package_name }}'
state: absent
when: elasticsearch_package.stdout == 'install ok installed'
- name: Install Elasticsearch repository
when: es_use_repository
become: yes
block:
- name: Debian - Install apt-transport-https to support https APT downloads
apt:
name: apt-transport-https
state: present
- name: Debian - Add Elasticsearch repository key
apt_key:
url: '{{ es_apt_key }}'
id: '{{ es_apt_key_id }}'
state: present
when: es_add_repository and es_apt_key | string
- name: Debian - Add elasticsearch repository
apt_repository:
repo: '{{ item.repo }}'
state: '{{ item.state }}'
when: es_add_repository
with_items:
- { repo: "{{ es_apt_url_old }}", state: "absent" }
- { repo: "{{ es_apt_url }}", state: "present" }
- { repo: "{{ es_other_apt_url }}", state: "absent" }
- name: Include optional user and group creation.
when: (es_user_id is defined) and (es_group_id is defined)
include: elasticsearch-optional-user.yml
- name: Debian - Get installed elasticsearch version
command: dpkg-query --showformat='${Version}' --show {{ es_package_name }}
register: installed_es_version
failed_when: False
changed_when: False
check_mode: no
- name: Debian - unhold elasticsearch version
become: yes
dpkg_selections:
name: "{{ es_package_name }}"
selection: "install"
when: not es_version_lock or (installed_es_version.stdout and installed_es_version.stdout != es_version)
- name: Debian - Ensure elasticsearch is installed
2017-05-12 13:31:50 -07:00
become: yes
2018-06-13 08:29:45 +02:00
apt:
name: '{{ es_package_name }}{% if es_version is defined and es_version != "" %}={{ es_version }}{% endif %}'
2018-06-13 08:29:45 +02:00
state: present
force: '{{ force_install }}'
allow_unauthenticated: "{{ 'no' if es_apt_key else 'yes' }}"
2018-06-13 08:29:45 +02:00
cache_valid_time: 86400
when: es_use_repository
register: debian_elasticsearch_install_from_repo
notify: restart elasticsearch
environment:
ES_PATH_CONF: "{{ es_conf_dir }}"
- name: Debian - hold elasticsearch version
become: yes
dpkg_selections:
name: "{{ es_package_name }}"
selection: "hold"
when: es_version_lock
- name: Debian - Download elasticsearch from url
get_url: url={% if es_custom_package_url is defined %}{{ es_custom_package_url }}{% else %}{{ es_package_url }}-{{ es_version }}-amd64.deb{% endif %} dest=/tmp/elasticsearch-{{ es_version }}.deb validate_certs=no
when: not es_use_repository
- name: Debian - Ensure elasticsearch is installed from downloaded package
2017-05-12 13:31:50 -07:00
become: yes
apt: deb=/tmp/elasticsearch-{{ es_version }}.deb
when: not es_use_repository
register: elasticsearch_install_from_package
notify: restart elasticsearch
environment:
ES_PATH_CONF: "{{ es_conf_dir }}"