I have trouble with tasks in Ansible. I want to install elasticsearch plugins on VM with Ansible. I have an Ansible role with tasks and vars.
tasks
---
- name: install elasticsearch
apt:
name: elasticsearch
state: present
- name: adding plugins
stat:
path: "/usr/share/elasticsearch/plugins/{{ item.name }}"
loop: "{{ plugins }}"
register: add_plugins
- name: install plugins
shell: /usr/share/elasticsearch/bin/plugin install {{ item.item.url }}
when: (item.stat.exists|bool == false)
loop: "{{ add_plugins.results }}"
- name: line removing elasticsearch.yml
lineinfile:
dest: /etc/elasticsearch/elasticsearch.yml
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
with_items: "{{ lines_for_removing }}"
- name: line adding elasticsearch.yml
lineinfile:
path: /etc/elasticsearch/elasticsearch.yml
line: "{{ item }}"
insertafter: '^(.*)http.port(.*)$'
with_items: '{{ line_for_adding }}'
notify:
- Restart elasticsearch
vars
plugins:
- { name: hq, url: https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip }
- { name: head, url: mobz/elasticsearch-head }
- { name: cloud-aws, url: https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip }
lines_for_removing:
- { regexp: '^(.*)cluster.name(.*)$', line: 'cluster.name: logstash'}
- { regexp: '^(.*)network.host(.*)$', line: 'network.host: {{ inventory_hostname }}'}
- { regexp: '^(.*)http.port(.*)$', line: 'http.port: 9200'}
lines_for_adding:
- http.cors.enabled : true
I run ansible-playbook
- hosts: logstash
become: yes
roles:
- java(all ok)
- logstash(all ok)
- elasticsearch
and have an error:
TASK [elasticsearch : install plugins] **************************************************************************************
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip', u'name': u'hq'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/hq', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip", "delta": "0:00:00.006816", "end": "2021-12-04 09:04:16.990386", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attributes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/plugins/hq"}}, "item": {"name": "hq", "url": "https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:16.983570", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'mobz/elasticsearch-head', u'name': u'head'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/head', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head", "delta": "0:00:00.002418", "end": "2021-12-04 09:04:17.238313", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attributes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/plugins/head"}}, "item": {"name": "head", "url": "mobz/elasticsearch-head"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:17.235895", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip', u'name': u'cloud-aws'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/cloud-aws', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip", "delta": "0:00:00.002365", "end": "2021-12-04 09:04:17.494733", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attributes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/plugins/cloud-aws"}}, "item": {"name": "cloud-aws", "url": "https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:17.492368", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
The same error quoted
TASK [elasticsearch: install plugins] **************************************************************************************
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip', u'name': u'hq'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/hq', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip" , "delta": "0:00:00.006816", "end": "2021-12-04 09:04:16.990386", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attributes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/p lugins/hq"}}, "item": {"name": "hq", "url": "https://github.com/ElasticHQ/elasticsearch-HQ/archive/refs/tags/v2.0.3.zip"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:16.983570", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'mobz/elasticsearch-head', u'name': u'head'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/head', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head", "delta": "0:00:00.002418", "end": "2021-12-04 09:04:17.238313", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attributes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/plugins/head"}}, "item": {"name": "head", "url": "mobz/elasticsearch-head"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:17.235895", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
failed: [192.168.33.3] (item={u'failed': False, u'stat': {u'exists': False}, u'ansible_loop_var': u'item', u'item': {u'url': u'https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip', u'name': u'cloud-aws'}, u'invocation': {u'module_args': {u'follow': False, u'get_checksum': True, u'path': u'/usr/share/elasticsearch/plugins/cloud-aws', u'checksum_algorithm': u'sha1', u'get_md5': False, u'get_mime': True, u'get_attributes': True}}, u'changed': False}) => {"ansible_loop_var": "item", "changed": true, "cmd": "/usr/share/elasticsearch/bin/plugin install https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip" , "delta": "0:00:00.002365", "end": "2021-12-04 09:04:17.494733", "item": {"ansible_loop_var": "item", "changed": false, "failed": false, "invocation": {"module_args": {"checksum_algorithm": "sha1", "follow": false, "get_attrib utes": true, "get_checksum": true, "get_md5": false, "get_mime": true, "path": "/usr/share/elasticsearch/plugins/cloud-aws"}}, "item": {"name": "cloud-aws", "url": "https://repo1.maven.org/maven2/org/elasticsearch/plugin/cloud-aws/2.4.2/cloud-aws-2.4.2.zip"}, "stat": {"exists": false}}, "msg": "non-zero return code", "rc": 127, "start": "2021-12-04 09:04:17.492368", "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found", "stderr_lines": ["/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"], "stdout": "", "stdout_lines": []}
The path to the binary plugin is wrong
... "stderr": "/bin/sh: 1: /usr/share/elasticsearch/bin/plugin: not found"...
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.