Containerized HAproxy cannot reload its config while running

Bug #1717521 reported by Damien Ciabrini
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Damien Ciabrini

Bug Description

The containerized HAProxy service configures Kolla run run the haproxy
binary directly as pid 1.

    /var/lib/kolla/config_files/haproxy.json:
      command: haproxy -f /etc/haproxy/haproxy.cfg

This is fine, except haproxy itself has no facility to reload its
config while it is running. There are use cases where this is useful,
for instance for reloading a certificate revocation list (CRL) with
minimal disruption.

Currently, the only way to make make haproxy reload its service is to
restart the docker container, which can cause a long service disruption.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.openstack.org/504412

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/504412
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=91cd44cd7266c15ce07fafbee9d2e33f226096ba
Submitter: Jenkins
Branch: master

commit 91cd44cd7266c15ce07fafbee9d2e33f226096ba
Author: Damien Ciabrini <email address hidden>
Date: Fri Sep 15 13:00:12 2017 +0200

    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

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/505666

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/pike)

Reviewed: https://review.openstack.org/505666
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=8a661310d72fe5d6eb72ddd7a957a5b942c8993b
Submitter: Jenkins
Branch: stable/pike

commit 8a661310d72fe5d6eb72ddd7a957a5b942c8993b
Author: Damien Ciabrini <email address hidden>
Date: Fri Sep 15 13:00:12 2017 +0200

    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
    (cherry picked from commit 91cd44cd7266c15ce07fafbee9d2e33f226096ba)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 7.0.1

This issue was fixed in the openstack/tripleo-heat-templates 7.0.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 8.0.0.0b1

This issue was fixed in the openstack/tripleo-heat-templates 8.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.