Hi,
I've recently upgraded a single Elasticsearch node from 5.6.2 to 5.6.3 and it refused to start because the "analysis-phonetic" plugin also needed to be upgraded.
I maintain my system up-to-date with Debian repositories, so Elasticsearch is upgraded whenever I "apt upgrade". Since I manage many servers, I have a few scripts to help automate this.
There I' ve found out that I also need to be aware of mandatory plugin upgrades and I'm looking for a better automation.
I can easily make a script to automatically remove/install every already installed plugin, then restart Elasticsearch, but something more fine-grained would be better. Like restarting Elasticsearch only if a "blocking" plugin is upgraded.
Is there an already established "good practice" for this?
Thanks you
Here is a very basic shell script for a very naive upgrade workflow :
#!/bin/bash
set -e
set -u
PLUGIN_BIN=/usr/share/elasticsearch/bin/elasticsearch-plugin
NEED_RESTART=""
for plugin in $(${PLUGIN_BIN} list); do
"${PLUGIN_BIN}" remove "${plugin}"
"${PLUGIN_BIN}" install "${plugin}"
NEED_RESTART="1"
done
if [ -n "${NEED_RESTART}" ]; then
systemctl restart elasticsearch
fi
exit 0