From 54f44f04431d48996afa01d888b04ec262263fef Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Fri, 22 Feb 2019 10:25:13 +0100 Subject: [PATCH] elasticsearch: install a script to help plugins upgrades --- elasticsearch/defaults/main.yml | 2 ++ .../files/upgrade_elasticsearch_plugins.sh | 23 +++++++++++++++++++ elasticsearch/tasks/additional_scripts.yml | 22 ++++++++++++++++++ elasticsearch/tasks/main.yml | 2 ++ 4 files changed, 49 insertions(+) create mode 100644 elasticsearch/files/upgrade_elasticsearch_plugins.sh create mode 100644 elasticsearch/tasks/additional_scripts.yml diff --git a/elasticsearch/defaults/main.yml b/elasticsearch/defaults/main.yml index 52fc8856..f5693bf2 100644 --- a/elasticsearch/defaults/main.yml +++ b/elasticsearch/defaults/main.yml @@ -24,3 +24,5 @@ elasticsearch_plugin_head_group: "{{ elasticsearch_plugin_head_owner }}" elasticsearch_plugin_head_home: "/home/{{ elasticsearch_plugin_head_owner }}" elasticsearch_plugin_head_clone_dir: "{{ elasticsearch_plugin_head_home }}/www" elasticsearch_plugin_head_tmp_dir: "{{ elasticsearch_plugin_head_home }}/tmp" + +elasticsearch_additional_scripts_dir: /usr/share/scripts diff --git a/elasticsearch/files/upgrade_elasticsearch_plugins.sh b/elasticsearch/files/upgrade_elasticsearch_plugins.sh new file mode 100644 index 00000000..e090633f --- /dev/null +++ b/elasticsearch/files/upgrade_elasticsearch_plugins.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# WARNING: +# This script is installed and maintained via Ansible. Don't edit directly. +# Create a fork if you need changes that can't go into the regular script. + +set -e +set -u + +PLUGIN_BIN=/usr/share/elasticsearch/bin/elasticsearch-plugin +NEED_RESTART="" + +for plugin in $(${PLUGIN_BIN} list | grep -v WARNING); do + "${PLUGIN_BIN}" remove "${plugin}" + "${PLUGIN_BIN}" install "${plugin}" + NEED_RESTART="1" +done + +if [ -n "${NEED_RESTART}" ]; then + systemctl restart elasticsearch +fi + +exit 0 diff --git a/elasticsearch/tasks/additional_scripts.yml b/elasticsearch/tasks/additional_scripts.yml new file mode 100644 index 00000000..837acd6d --- /dev/null +++ b/elasticsearch/tasks/additional_scripts.yml @@ -0,0 +1,22 @@ +--- + +- include_role: + name: remount-usr + when: elasticsearch_additional_scripts_dir | search ("/usr") + +- name: "{{ elasticsearch_additional_scripts_dir }} exists" + file: + dest: "{{ elasticsearch_additional_scripts_dir }}" + mode: "0700" + owner: root + group: root + state: directory + +- name: Plugins upgrade script is installed + copy: + src: upgrade_elasticsearch_plugins.sh + dest: "{{ elasticsearch_additional_scripts_dir }}/upgrade_elasticsearch_plugins.sh" + mode: "0755" + owner: "root" + group: "root" + force: yes diff --git a/elasticsearch/tasks/main.yml b/elasticsearch/tasks/main.yml index bc43bebd..361b15dc 100644 --- a/elasticsearch/tasks/main.yml +++ b/elasticsearch/tasks/main.yml @@ -12,6 +12,8 @@ - include: logs.yml +- include: additional_scripts.yml + - include: plugin_head.yml when: elasticsearch_plugin_head