Use haproxy-systemd-wrapper as pid1 in containerized Haproxy

This wrapper binary spawns the HAproxy daemon and implements a
coordinated HAproxy restart on SIGHUP.

From a service's perspective, this allows reloading the HAProxy
configuration with minimal service disruption, i.e. without stopping
and restarting the HAProxy container.

Closes-Bug: #1717521

Change-Id: Ib3ef0c0bcf1a8151e179ff4d7509cf0d6b3ac5a1
This commit is contained in:
Damien Ciabrini 2017-09-15 13:00:12 +02:00
parent f4730632a5
commit 91cd44cd72
2 changed files with 4 additions and 6 deletions

View File

@ -96,8 +96,7 @@ outputs:
config_settings:
map_merge:
- get_attr: [HAProxyBase, role_data, config_settings]
- tripleo::haproxy::haproxy_daemon: false
tripleo::haproxy::haproxy_service_manage: false
- tripleo::haproxy::haproxy_service_manage: false
# NOTE(jaosorior): We disable the CRL since we have no way to restart haproxy
# when this is updated
tripleo::haproxy::crl_file: null
@ -130,7 +129,7 @@ outputs:
- null
kolla_config:
/var/lib/kolla/config_files/haproxy.json:
command: haproxy -f /etc/haproxy/haproxy.cfg
command: /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg
config_files:
- source: "/var/lib/kolla/config_files/src/*"
dest: "/"

View File

@ -78,8 +78,7 @@ outputs:
config_settings:
map_merge:
- get_attr: [HAProxyBase, role_data, config_settings]
- tripleo::haproxy::haproxy_daemon: false
haproxy_docker: true
- haproxy_docker: true
tripleo::profile::pacemaker::haproxy_bundle::haproxy_docker_image: &haproxy_image {get_param: DockerHAProxyImage}
# the list of directories that contain the certs to bind mount in the countainer
# bind-mounting the directories rather than all the cert, key and pem files ensures
@ -120,7 +119,7 @@ outputs:
data: *tls_mapping
kolla_config:
/var/lib/kolla/config_files/haproxy.json:
command: haproxy -f /etc/haproxy/haproxy.cfg
command: /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg
config_files:
- source: "/var/lib/kolla/config_files/src/*"
dest: "/"