Add workaround for keystonemiddleware/neutron memcached issue

There is an issue where keystonemiddleware connections to memcached from
neutron-server grow beyond configured values [1], eventually reaching
the maximum number of connections accepted by memcached servers. Other
services do not appear to be affected by this issue.

A workaround is to use the advanced memcached pool. Despite its
documentation claiming to only work with Python 2, it appears to work
fine on Python 3.

[1] https://bugs.launchpad.net/keystonemiddleware/+bug/1883659

Change-Id: Ifbbc2022839cbc575848d830600241c61603c80b
Closes-Bug: #1892210
This commit is contained in:
Pierre Riteau 2020-08-19 17:56:30 +02:00
parent db6a9d61ec
commit 5a52d8e4a0
2 changed files with 11 additions and 0 deletions

View File

@ -115,6 +115,9 @@ memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
# Workaround for https://bugs.launchpad.net/keystonemiddleware/+bug/1883659
memcache_use_advanced_pool = True
[oslo_messaging_notifications]
transport_url = {{ notify_transport_url }}
{% if neutron_enabled_notification_topics %}

View File

@ -0,0 +1,8 @@
---
fixes:
- |
Fixes `LP#1892210
<https://bugs.launchpad.net/kolla-ansible/+bug/1892210>`__ where the number
of open connections to Memcached from ``neutron-server`` would grow over
time until reaching the maximum set by ``memcached_connection_limit`` (5000
by default), at which point the Memcached instance would stop working.