summaryrefslogtreecommitdiff
path: root/releasenotes
diff options
context:
space:
mode:
authormelanie witt <melwittt@gmail.com>2020-03-11 02:26:52 +0000
committermelanie witt <melwittt@gmail.com>2020-04-22 16:47:17 +0000
commita96e7ab83066bee0a13a54070aab988396bae320 (patch)
tree735310acb71acd41794adf2f543affc5e0a45021 /releasenotes
parentad282233be4faeb9d56f7dc22cc7f57afbc9bda8 (diff)
downloadnova-a96e7ab83066bee0a13a54070aab988396bae320.tar.gz
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] https://github.com/openstack/nova/blob/57459c3429ce62975cebd0cd70936785bdf2f3a4/nova/network/neutron.py#L226-L237 [2] https://docs.openstack.org/keystoneauth/latest/api/keystoneauth1.session.html#keystoneauth1.session.Session Change-Id: Ifb3afb13aff7e103c2e80ade817d0e63b624604a (cherry picked from commit 0e34ed9733e3f23d162e3e428795807386abf1cb) (cherry picked from commit 71971c206292232fff389dedbf412d780f0a557a)
Diffstat (limited to 'releasenotes')
-rw-r--r--releasenotes/notes/neutron-connection-retries-c276010afe238abc.yaml12
1 files changed, 12 insertions, 0 deletions
diff --git a/releasenotes/notes/neutron-connection-retries-c276010afe238abc.yaml b/releasenotes/notes/neutron-connection-retries-c276010afe238abc.yaml
new file mode 100644
index 0000000000..9a0871f557
--- /dev/null
+++ b/releasenotes/notes/neutron-connection-retries-c276010afe238abc.yaml
@@ -0,0 +1,12 @@
+---
+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.