Browse Source

Add config option ``http_retries``

This option allows to configure Number of times nova or ironic client
should retry on any failed http call.
Default value for this new option is "3".

Change-Id: I795ee7ca729646be0411a1232bf218015c65010f
Closes-Bug: #1883712
changes/26/736026/4
Slawek Kaplonski 1 year ago
committed by Brian Haley
parent
commit
e94511cd25
  1. 10
      neutron/conf/common.py
  2. 3
      neutron/notifiers/ironic.py
  3. 1
      neutron/notifiers/nova.py
  4. 2
      neutron/tests/unit/notifiers/test_nova.py
  5. 6
      releasenotes/notes/Add-http_retries-config-option-b81dd29c03ba8c6a.yaml

10
neutron/conf/common.py

@ -137,7 +137,15 @@ core_opts = [
'this value without modification. For overlay networks '
'such as VXLAN, neutron automatically subtracts the '
'overlay protocol overhead from this value. Defaults '
'to 1500, the standard value for Ethernet.'))
'to 1500, the standard value for Ethernet.')),
cfg.IntOpt('http_retries', default=3, min=0,
help=_("Number of times client connections (nova, ironic) "
"should be retried on a failed HTTP call. 0 (zero) means"
"connection is attempted only once (not retried). "
"Setting to any positive integer means that on failure "
"the connection is retried that many times. "
"For example, setting to 3 means total attempts to "
"connect will be 4."))
]
core_cli_opts = [

3
neutron/notifiers/ironic.py

@ -67,7 +67,8 @@ class Notifier(object):
IRONIC_SESSION = self._get_session(IRONIC_CONF_SECTION)
return connection.Connection(
session=IRONIC_SESSION, oslo_conf=cfg.CONF).baremetal
session=IRONIC_SESSION, oslo_conf=cfg.CONF,
connect_retries=cfg.CONF.http_retries).baremetal
def send_events(self, batched_events):
try:

1
neutron/notifiers/nova.py

@ -75,6 +75,7 @@ class Notifier(object):
region_name=cfg.CONF.nova.region_name,
endpoint_type=cfg.CONF.nova.endpoint_type,
extensions=self.extensions,
connect_retries=cfg.CONF.http_retries,
global_request_id=global_id)
def _is_compute_port(self, port):

2
neutron/tests/unit/notifiers/test_nova.py

@ -334,6 +334,7 @@ class TestNovaNotify(base.BaseTestCase):
self.nova_notifier.send_events(response)
mock_client.assert_called_once_with(
api_versions.APIVersion(nova.NOVA_API_VERSION),
connect_retries=3,
session=mock.ANY,
region_name=cfg.CONF.nova.region_name,
endpoint_type='public',
@ -347,6 +348,7 @@ class TestNovaNotify(base.BaseTestCase):
self.nova_notifier.send_events(response)
mock_client.assert_called_once_with(
api_versions.APIVersion(nova.NOVA_API_VERSION),
connect_retries=3,
session=mock.ANY,
region_name=cfg.CONF.nova.region_name,
endpoint_type='internal',

6
releasenotes/notes/Add-http_retries-config-option-b81dd29c03ba8c6a.yaml

@ -0,0 +1,6 @@
---
features:
- |
A new configuration option ``http_retries`` was added. This option allows
configuring the number of times the nova or ironic client should retry on
a failed HTTP call.
Loading…
Cancel
Save