From 08d6641218b2933d8f0a0f645b96b08ef70e0b71 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Thu, 24 Aug 2017 17:48:48 +0200 Subject: [PATCH] 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 --- healthcheck/mariadb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/healthcheck/mariadb b/healthcheck/mariadb index 2081ddc09..5fd9ecce9 100755 --- a/healthcheck/mariadb +++ b/healthcheck/mariadb @@ -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