nova/releasenotes/notes/neutron-connection-retries-c276010afe238abc.yaml
melanie witt 0e34ed9733 Add config option for neutron client retries
Nova can occasionally fail to carry out server actions which require
calls to neutron API if haproxy happens to close a connection after
idle time if an incoming request attempts to re-use the connection
while it is being torn down.

In order to be more resilient to this scenario, we can add a config
option for neutron client to retry requests, similar to our existing
CONF.cinder.http_retries and CONF.glance.num_retries options.

Because we create our neutron client [1] using a keystoneauth1 session
[2], we can set the 'connect_retries' keyword argument to let
keystoneauth1 handle connection retries.

Closes-Bug: #1866937

[1] 57459c3429/nova/network/neutron.py (L226-L237)
[2] https://docs.openstack.org/keystoneauth/latest/api/keystoneauth1.session.html#keystoneauth1.session.Session

Change-Id: Ifb3afb13aff7e103c2e80ade817d0e63b624604a
2020-03-19 15:25:58 +00:00

13 lines
693 B
YAML

---
fixes:
- |
A new config option ``[neutron]http_retries`` is added which defaults to
3. It controls how many times to retry a Neutron API call in response to a
HTTP connection failure. An example scenario where it will help is when a
deployment is using HAProxy and connections get closed after idle time. If
an incoming request tries to re-use a connection that is simultaneously
being torn down, a HTTP connection failure will occur and previously Nova
would fail the entire request. With retries, Nova can be more resilient in
this scenario and continue the request if a retry succeeds. Refer to
https://launchpad.net/bugs/1866937 for more details.