kolla/docker/keepalived/check_alive.sh
Michal Arbet 1c63c95658 Add support for checking more daemons
This patch is changing the way how keepalived
checks daemons liveness.

Check_alive.sh will find checks for daemons
which are copied by kolla-ansible and return 0/1
if alive/down.

This patch is required for proxysql HA.

Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/770215

Change-Id: I68836918466beb572e42ffedce127747290ad481
2022-04-21 12:28:56 +02:00

39 lines
1.1 KiB
Bash

#!/bin/bash
# This will return 0 when it successfully passes all checks for all daemons
# Failures return 1
declare -A check_results
final_result=0
if [ -d "/checks" ]; then
CHECKS=$(find /checks -type f)
fi
if [ "${CHECKS}" ]; then
# Store results
for check in ${CHECKS}; do
# Run check but do not print stderr
# as single check can be executed manually to see the result
${check} 2>/dev/null
check_results[${check}]=$?
done
# Print results and save the final result
for i in "${!check_results[@]}"; do
if [ "${check_results[$i]}" == "0" ]; then
echo "Keepalived check script ${i} succeeded."
else
final_result=1
echo "Keepalived check script ${i} failed."
fi
done
exit ${final_result}
else
# Legacy single check of haproxy liveness
# TODO(kevko): This can be removed after k-a part merges
# https://review.opendev.org/c/openstack/kolla-ansible/+/770215
echo "show info" | socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio > /dev/null
fi