diff options
| author | Michal Arbet <michal.arbet@ultimum.io> | 2020-12-07 11:44:00 +0100 |
|---|---|---|
| committer | Michal Arbet <michal.arbet@ultimum.io> | 2022-04-21 12:28:56 +0200 |
| commit | 1c63c9565840b526c41c0cf20bcc8b8f60a771e3 (patch) | |
| tree | 50e0cf08dee66de55e41024eb9cdf1c81cbe3345 /docker | |
| parent | b30b70c07d57366feb630807531bd64534eb6a3e (diff) | |
| download | kolla-1c63c9565840b526c41c0cf20bcc8b8f60a771e3.tar.gz kolla-1c63c9565840b526c41c0cf20bcc8b8f60a771e3.zip | |
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
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/keepalived/check_alive.sh | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/docker/keepalived/check_alive.sh b/docker/keepalived/check_alive.sh index 929bb221a..060884c7c 100644 --- a/docker/keepalived/check_alive.sh +++ b/docker/keepalived/check_alive.sh @@ -1,6 +1,38 @@ #!/bin/bash -# This will return 0 when it successfully talks to the haproxy daemon via the socket +# This will return 0 when it successfully passes all checks for all daemons # Failures return 1 -echo "show info" | socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock stdio > /dev/null +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 |
