diff options
Diffstat (limited to 'kolla/docker/keepalived')
| -rw-r--r-- | kolla/docker/keepalived/Dockerfile.j2 | 34 | ||||
| -rw-r--r-- | kolla/docker/keepalived/check_alive.sh | 33 | ||||
| -rw-r--r-- | kolla/docker/keepalived/extend_start.sh | 6 |
3 files changed, 73 insertions, 0 deletions
diff --git a/kolla/docker/keepalived/Dockerfile.j2 b/kolla/docker/keepalived/Dockerfile.j2 new file mode 100644 index 000000000..2dcdeccd7 --- /dev/null +++ b/kolla/docker/keepalived/Dockerfile.j2 @@ -0,0 +1,34 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block keepalived_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.enable_extra_repos(['mariadb']) }} + +{% if base_package_type == 'rpm' %} + {% set keepalived_packages = [ + 'keepalived', + 'MariaDB-client' + ] %} +{% elif base_package_type == 'deb' %} + {% set keepalived_packages = [ + 'keepalived', + 'mariadb-client' + ] %} +{% endif %} +{{ macros.install_packages(keepalived_packages | customizable("packages")) }} + +COPY check_alive.sh / + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 644 /usr/local/bin/kolla_extend_start \ + && chmod 755 /check_alive.sh + +{{ macros.kolla_patch_sources() }} + +{% block keepalived_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/kolla/docker/keepalived/check_alive.sh b/kolla/docker/keepalived/check_alive.sh new file mode 100644 index 000000000..857131123 --- /dev/null +++ b/kolla/docker/keepalived/check_alive.sh @@ -0,0 +1,33 @@ +#!/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} +fi diff --git a/kolla/docker/keepalived/extend_start.sh b/kolla/docker/keepalived/extend_start.sh new file mode 100644 index 000000000..889da64fd --- /dev/null +++ b/kolla/docker/keepalived/extend_start.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Workaround for bug #1485079 +if [ -f /run/keepalived.pid ]; then + rm /run/keepalived.pid +fi |
