HAproxy configuration cannot generate frontend/backend sections
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
Medium
|
Damien Ciabrini |
Bug Description
HAproxy has two means of configuring a proxy traffic: either using the
"listen" section, or a "frontend"
Currently we generate HAproxy configurations which make use of the
"listen" keyword: a proxied service is represented in the config by a
a "listen" section, which describes both 1) how HAproxy "frontend"
binds to ports and listen to incoming connections; and 2) how HAproxy
proxies incoming traffic to a list of available "backends".
The "listen" keyword is a concise way of describing a proxy, instead of
declaring explicitely a "frontend" section tied to a "backend" section
in the HAproxy configuration.
However, the "listen" keyword is not suited to express complex routing
scenarios, such as proxying traffic from a frontend to different backends
based on ACL (e.g. for locality optimization). For those use cases, we
need to generate configs that use both a "frontend" section and one or
more associated "backend" sections.
Changed in tripleo: | |
status: | Confirmed → In Progress |
Reviewed: https:/ /review. opendev. org/c/openstack /puppet- tripleo/ +/801075 /opendev. org/openstack/ puppet- tripleo/ commit/ 7a6c5281e0d75c5 4e298ce68b2a8b5 4eefc5f0f9
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 7a6c5281e0d75c5 4e298ce68b2a8b5 4eefc5f0f9
Author: Damien Ciabrini <email address hidden>
Date: Fri Jul 16 14:22:39 2021 +0000
haproxy: frontend/backend syntax in config
Ability to generate haproxy config with the frontend/backend
sections rather than the old listen section. This allows
the generation of complex configs, such as for example giving
priority to local backends when routing traffic.
Make the new syntax configurable via a new hiera key backend_ syntax` . The frontend and backend config of :haproxy: :<service> ::frontend_ options and :haproxy: :<service> ::backend_ options
`haproxy_
each service can be further tweaked via additional keys
tripleo:
tripleo:
By default, keep the current 'listen' syntax.
Tested with capability disabled, the haproxy config generated
for undercloud and ha overcloud doesn't change.
Tested with capability enabled, tempest smoke test passed.
Closes-Bug: #1941617
Change-Id: Ieb36f90c670993 4aa3aa6668d3929 bff872c30f5