--- #Test if feature is installed - name: Test if x-pack is installed shell: "{{es_home}}/bin/elasticsearch-plugin list | grep x-pack" become: yes register: x_pack_installed changed_when: False failed_when: "'ERROR' in x_pack_installed.stdout" check_mode: no ignore_errors: yes environment: CONF_DIR: "{{ conf_dir }}" ES_PATH_CONF: "{{ conf_dir }}" ES_INCLUDE: "{{ instance_default_file }}" #Remove X-Pack if installed and its not been requested or the ES version has changed - name: Remove x-pack plugin become: yes command: "{{es_home}}/bin/elasticsearch-plugin remove x-pack" register: xpack_state failed_when: "'ERROR' in xpack_state.stdout" changed_when: xpack_state.rc == 0 when: x_pack_installed.rc == 0 and (not es_enable_xpack or es_version_changed) notify: restart elasticsearch environment: CONF_DIR: "{{ conf_dir }}" ES_PATH_CONF: "{{ conf_dir }}" ES_INCLUDE: "{{ instance_default_file }}" #Install plugin if not installed, or the es version has changed (so removed above), and its been requested - name: Download x-pack from url get_url: url={{ es_xpack_custom_url }} dest=/tmp/x-pack-{{ es_version }}.zip when: (x_pack_installed.rc == 1 or es_version_changed) and (es_enable_xpack and es_xpack_custom_url is defined) - name: Install x-pack plugin from local become: yes command: > {{es_home}}/bin/elasticsearch-plugin install --silent --batch file:///tmp/x-pack-{{ es_version }}.zip register: xpack_state changed_when: xpack_state.rc == 0 when: (x_pack_installed.rc == 1 or es_version_changed) and (es_enable_xpack and es_xpack_custom_url is defined) notify: restart elasticsearch environment: CONF_DIR: "{{ conf_dir }}" ES_PATH_CONF: "{{ conf_dir }}" ES_INCLUDE: "{{ instance_default_file }}" - name: Delete x-pack zip file file: dest=/tmp/x-pack-{{ es_version }}.zip state=absent when: es_xpack_custom_url is defined - name: Install x-pack plugin from elastic.co become: yes command: > {{es_home}}/bin/elasticsearch-plugin install --silent --batch x-pack register: xpack_state failed_when: "'ERROR' in xpack_state.stdout" changed_when: xpack_state.rc == 0 when: (x_pack_installed.rc == 1 or es_version_changed) and (es_enable_xpack and es_xpack_custom_url is not defined) notify: restart elasticsearch environment: CONF_DIR: "{{ conf_dir }}" ES_PATH_CONF: "{{ conf_dir }}" ES_INCLUDE: "{{ instance_default_file }}" ES_JAVA_OPTS: "{% if es_proxy_host is defined and es_proxy_host != '' %}-Dhttp.proxyHost={{ es_proxy_host }} -Dhttp.proxyPort={{ es_proxy_port }} -Dhttps.proxyHost={{ es_proxy_host }} -Dhttps.proxyPort={{ es_proxy_port }}{% endif %}"