/
main.yml
56 lines (43 loc) · 1.69 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
- name: Check Elastic Search installation
shell: apt-cache policy elasticsearch | grep -Po 'Installed:\s(.*)' | cut -d' ' -f 2;
changed_when: false
register: install_status
- name: Set installed variable
set_fact: is_installed='{{ install_status.stdout == elasticsearch.version }}'
- name: Add dependencies repository
apt_repository: repo='ppa:webupd8team/java' update_cache=yes
- name: Set dependencies License
shell: echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
changed_when: false
- name: Install Dependencies
apt: pkg=oracle-java8-installer state=latest
- name: Remove temporary debian package
shell: rm -f /tmp/elasticsearch-{{ elasticsearch.version }}.deb
when: not is_installed
- name: Download debian package
get_url: >
url={{ elasticsearch_url }}
dest=/tmp/elasticsearch-{{ elasticsearch.version }}.deb
when: not is_installed
- name: Install debian package
apt: deb=/tmp/elasticsearch-{{ elasticsearch.version }}.deb
when: not is_installed
- name: Install plugins
shell: /usr/share/elasticsearch/bin/plugin install {{ item.name }}/{{ item.version }}
when: not is_installed
with_items: "{{ elasticsearch.plugins }}"
- name: Set port
replace: >
dest="/etc/elasticsearch/elasticsearch.yml"
regexp='^#?(http\.port\:).*'
replace='\1 {{ elasticsearch.port }}'
- name: Flush handlers to apply config changes
meta: flush_handlers
- name: Enable Service
service: name=elasticsearch enabled=yes
- name: Ensure Elastic Search is started
service: name=elasticsearch state=started
- name: Remove tmp files
file: path=/tmp/elasticsearch-{{ elasticsearch.version }}.deb state=absent
when: not is_installed