Fixes binding type for OpenDaylight Websocket

For OpenDaylight Websocket connections we were not using transparent
binding type with HA Proxy.  This means that HA Proxy was not able to
start on nodes that did not have the VIP because it was unable to bind
to that IP on more than one node.  However, transparent binding works OK
with OpenDaylight Websocket and should be fine to enable so that HA
Proxy is able to start on every controller.

Closes-Bug: 1764514

Change-Id: I89e6115795ece6735e816ab71b5b552b17f7b943
Signed-off-by: Tim Rozet <trozet@redhat.com>
(cherry picked from commit 70bedeef99)
This commit is contained in:
Tim Rozet 2018-04-16 16:50:04 -04:00
parent cb114de452
commit e11f051b71
2 changed files with 12 additions and 8 deletions

View File

@ -1463,14 +1463,13 @@ class tripleo::haproxy (
}
::tripleo::haproxy::endpoint { 'opendaylight_ws':
internal_ip => unique([hiera('opendaylight_api_vip', $controller_virtual_ip), $controller_virtual_ip]),
service_port => $ports[opendaylight_ws_port],
ip_addresses => hiera('opendaylight_api_node_ips', $controller_hosts_real),
server_names => hiera('opendaylight_api_node_names', $controller_hosts_names_real),
mode => 'http',
haproxy_listen_bind_param => [], # We don't use a transparent proxy (diverting non-destined haproxy traffic)
service_network => $opendaylight_network,
listen_options => {
internal_ip => unique([hiera('opendaylight_api_vip', $controller_virtual_ip), $controller_virtual_ip]),
service_port => $ports[opendaylight_ws_port],
ip_addresses => hiera('opendaylight_api_node_ips', $controller_hosts_real),
server_names => hiera('opendaylight_api_node_names', $controller_hosts_names_real),
mode => 'http',
service_network => $opendaylight_network,
listen_options => {
# NOTE(jaosorior): Websockets have more overhead in establishing
# connections than regular HTTP connections. Also, since it begins
# as an HTTP connection and then "upgrades" to a TCP connection, some

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Fixes OpenDaylight Websocket HA Proxy configuration to use transparent
binding type. See https://bugs.launchpad.net/tripleo/+bug/1764514