Start the haproxy by using haproxy-system-wrapper
haproxy-system-wrapper is a solution for systemd from upstream. it can handle the reload graceful. Change-Id: I6a3d141af065e429bd1be1b7252f5c6df1fda3bb Closes-Bug: #1559238
This commit is contained in:
parent
981d8206ab
commit
de6650874d
@ -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": [
|
"config_files": [
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/haproxy.cfg",
|
"source": "{{ container_config_directory }}/haproxy.cfg",
|
||||||
|
@ -14,7 +14,6 @@ RUN apt-get install -y --no-install-recommends haproxy \
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
COPY ensure_latest_config.sh /usr/local/bin/kolla_ensure_haproxy_latest_config
|
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_ensure_haproxy_latest_config
|
||||||
RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ensure_haproxy_latest_config
|
|
||||||
|
|
||||||
{{ include_footer }}
|
{{ include_footer }}
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
|
||||||
CURRENT_CONFIG_HASH=$(sha1sum /etc/haproxy/haproxy.cfg | cut -f1 -d' ')
|
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' ')
|
NEW_CONFIG_HASH=$(sha1sum /var/lib/kolla/config_files/haproxy.cfg | cut -f1 -d' ')
|
||||||
|
|
||||||
if [[ $CURRENT_CONFIG_HASH != $NEW_CONFIG_HASH ]]; then
|
if [[ $CURRENT_CONFIG_HASH != $NEW_CONFIG_HASH ]]; then
|
||||||
changed=changed
|
changed=changed
|
||||||
python /usr/local/bin/kolla_set_configs
|
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
|
fi
|
||||||
|
|
||||||
echo $changed
|
echo $changed
|
||||||
|
@ -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
|
|
Loading…
Reference in New Issue
Block a user