diff --git a/ansible/roles/haproxy/templates/haproxy.json.j2 b/ansible/roles/haproxy/templates/haproxy.json.j2 index d838dad832..c95dd77031 100644 --- a/ansible/roles/haproxy/templates/haproxy.json.j2 +++ b/ansible/roles/haproxy/templates/haproxy.json.j2 @@ -1,5 +1,5 @@ { - "command": "/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid", + "command": "/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid", "config_files": [ { "source": "{{ container_config_directory }}/haproxy.cfg", diff --git a/docker/haproxy/Dockerfile.j2 b/docker/haproxy/Dockerfile.j2 index e4ee3664df..38f5dc5c14 100644 --- a/docker/haproxy/Dockerfile.j2 +++ b/docker/haproxy/Dockerfile.j2 @@ -14,7 +14,6 @@ RUN apt-get install -y --no-install-recommends haproxy \ {% endif %} COPY ensure_latest_config.sh /usr/local/bin/kolla_ensure_haproxy_latest_config -COPY extend_start.sh /usr/local/bin/kolla_extend_start -RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ensure_haproxy_latest_config +RUN chmod 755 /usr/local/bin/kolla_ensure_haproxy_latest_config {{ include_footer }} diff --git a/docker/haproxy/ensure_latest_config.sh b/docker/haproxy/ensure_latest_config.sh index 9a34f17587..4b84f3aedb 100644 --- a/docker/haproxy/ensure_latest_config.sh +++ b/docker/haproxy/ensure_latest_config.sh @@ -1,12 +1,14 @@ #!/bin/bash +set -o errexit + CURRENT_CONFIG_HASH=$(sha1sum /etc/haproxy/haproxy.cfg | cut -f1 -d' ') NEW_CONFIG_HASH=$(sha1sum /var/lib/kolla/config_files/haproxy.cfg | cut -f1 -d' ') if [[ $CURRENT_CONFIG_HASH != $NEW_CONFIG_HASH ]]; then changed=changed python /usr/local/bin/kolla_set_configs - /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -sf $(cat /run/haproxy.pid) + kill -USR2 $(pgrep -f /usr/sbin/haproxy-systemd-wrapper) fi echo $changed diff --git a/docker/haproxy/extend_start.sh b/docker/haproxy/extend_start.sh deleted file mode 100644 index e2d13f4840..0000000000 --- a/docker/haproxy/extend_start.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# We are intentionally not using exec so we can reload the haproxy config later -echo "Running command: '${CMD}'" -$CMD - -retry=0 -# The loop breaks only when haproxy.pid get missing even after 3 re-try. -while [[ $retry -lt 3 ]]; do - if [[ ! -e /run/haproxy.pid || ! -d /proc/$(cat /run/haproxy.pid) ]]; then - retry=$((retry+1)) - sleep 2 - continue - fi - retry=0 - sleep 5 -done - -exit 1