Skip to content

Commit ee51a2a

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Fix haproxy global maxconn with disabled listeners"
2 parents a5dcdc7 + 21682f7 commit ee51a2a

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,8 @@ def _transform_loadbalancer(self, host_amphora, loadbalancer, listeners,
266266
# listeners' connection limits.
267267
connection_limit_sum = 0
268268
for listener in listeners:
269+
if not listener.enabled:
270+
continue
269271
if listener.protocol in constants.LVS_PROTOCOLS:
270272
continue
271273
if listener.connection_limit and listener.connection_limit > -1:

octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1686,6 +1686,28 @@ def test_transform_many_loadbalancers(self):
16861686
self.assertLess(ret['global_connection_limit'],
16871687
connection_limit_sum)
16881688

1689+
def test_transform_with_disabled_listeners(self):
1690+
in_amphora = sample_configs_combined.sample_amphora_tuple()
1691+
1692+
in_listeners = []
1693+
1694+
connection_limit_sum = 0
1695+
1696+
in_listener = (
1697+
sample_configs_combined.sample_listener_tuple())
1698+
connection_limit_sum += constants.HAPROXY_DEFAULT_MAXCONN
1699+
in_listeners.append(in_listener)
1700+
1701+
disabled_listener = (
1702+
sample_configs_combined.sample_listener_tuple(enabled=False))
1703+
in_listeners.append(disabled_listener)
1704+
1705+
ret = self.jinja_cfg._transform_loadbalancer(
1706+
in_amphora, in_listeners[0].load_balancer,
1707+
in_listeners, None, {})
1708+
self.assertEqual(ret['global_connection_limit'],
1709+
connection_limit_sum)
1710+
16891711
def test_transform_amphora(self):
16901712
in_amphora = sample_configs_combined.sample_amphora_tuple()
16911713
ret = self.jinja_cfg._transform_amphora(in_amphora, {})
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
fixes:
3+
- |
4+
Fixed the global number of concurrent connections in haproxy when disabling
5+
listeners. The connection-limit of disabled listeners was used to compute
6+
this value, disabled listeners are now skipped.

0 commit comments

Comments
 (0)