Add clustercheck healthcheck

Let's add a healthcheck for the clustercheck container.
We look for host and port in the /etc/xinetd.d/galera-monitor file
and if they should not be set or present we use port 9200 and the
hostname itself as default.

Since the clustercheck container uses the very same mariadb container
image, we test for xinetd's process and configuration file to decide
if we are using the container image for clustercheck or for mariadb.

Change-Id: I46be211323442d309d7bb000bede02b0e8ccb512
This commit is contained in:
Michele Baldessari 2017-08-24 17:48:48 +02:00
parent 76f2b04ca7
commit 08d6641218
1 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,16 @@
#!/bin/sh
mysql -e 'show databases' || exit 1
. ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh
GALERA_XINETD_CONF='/etc/xinetd.d/galera-monitor'
# If the mariadb container is running xinetd with galera-monitor then it is a
# clustercheck container, otherwise a mysql/mariadb one
if pgrep xinetd &> /dev/null && grep -qe 'disable.*no' $GALERA_XINETD_CONF; then
PORT=$(awk '/port.*=/{ print $3 }' $GALERA_XINETD_CONF)
ADDR=$(awk '/bind.*=/{ print $3 }' $GALERA_XINETD_CONF)
bind_host=${ADDR:-$(hostname)}
bind_port=${PORT:-9200}
healthcheck_curl http://${bind_host}:${bind_port}/
else
mysql -e 'select 1' || exit 1
fi