Merge "Make the clustercheck healthcheck work with socat" into stable/wallaby

This commit is contained in:
Zuul 2021-06-04 16:39:09 +00:00 committed by Gerrit Code Review
commit 8519935160
1 changed files with 15 additions and 4 deletions

View File

@ -2,15 +2,26 @@
. ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh . ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh
GALERA_XINETD_CONF='/etc/xinetd.d/galera-monitor' GALERA_XINETD_CONF='/etc/xinetd.d/galera-monitor'
SOCAT_CONF=/etc/sysconfig/clustercheck
IS_MYSQL=
# If the mariadb container is running xinetd with galera-monitor then it is a # If the mariadb container is running xinetd with galera-monitor or socat then
# clustercheck container, otherwise a mysql/mariadb one # it is a clustercheck container, otherwise a mysql/mariadb one
if pgrep xinetd &> /dev/null && grep -qe 'disable.*no' $GALERA_XINETD_CONF; then if pgrep xinetd &> /dev/null && grep -qe 'disable.*no' $GALERA_XINETD_CONF; then
PORT=$(awk '/port.*=/{ print $3 }' $GALERA_XINETD_CONF) PORT=$(awk '/port.*=/{ print $3 }' $GALERA_XINETD_CONF)
ADDR=$(awk '/bind.*=/{ print $3 }' $GALERA_XINETD_CONF) ADDR=$(awk '/bind.*=/{ print $3 }' $GALERA_XINETD_CONF)
elif pgrep -a socat 2> /dev/null | grep -w clustercheck; then
TRIPLEO_SOCAT_BIND=$(sed -nE "s/^TRIPLEO_SOCAT_BIND='?([^']*)'?$/\1/p" $SOCAT_CONF)
PORT=$(echo $TRIPLEO_SOCAT_BIND | sed -n -E 's/.*listen:([0-9]*),.*/\1/p')
ADDR=$(echo $TRIPLEO_SOCAT_BIND | sed -n -E 's/.*bind="?([^",]*)"?,?.*/\1/p')
else
IS_MYSQL=1
fi
if [ -n "$IS_MYSQL" ]; then
mysql -e 'select 1' || exit 1
else
bind_host=${ADDR:-$(hostname)} bind_host=${ADDR:-$(hostname)}
bind_port=${PORT:-9200} bind_port=${PORT:-9200}
healthcheck_curl http://${bind_host}:${bind_port}/ healthcheck_curl http://${bind_host}:${bind_port}/
else
mysql -e 'select 1' || exit 1
fi fi