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
This commit is contained in:
parent
7d8f400791
commit
e94511cd25
@ -137,7 +137,15 @@ core_opts = [
|
|||||||
'this value without modification. For overlay networks '
|
'this value without modification. For overlay networks '
|
||||||
'such as VXLAN, neutron automatically subtracts the '
|
'such as VXLAN, neutron automatically subtracts the '
|
||||||
'overlay protocol overhead from this value. Defaults '
|
'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 = [
|
core_cli_opts = [
|
||||||
|
@ -67,7 +67,8 @@ class Notifier(object):
|
|||||||
IRONIC_SESSION = self._get_session(IRONIC_CONF_SECTION)
|
IRONIC_SESSION = self._get_session(IRONIC_CONF_SECTION)
|
||||||
|
|
||||||
return connection.Connection(
|
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):
|
def send_events(self, batched_events):
|
||||||
try:
|
try:
|
||||||
|
@ -75,6 +75,7 @@ class Notifier(object):
|
|||||||
region_name=cfg.CONF.nova.region_name,
|
region_name=cfg.CONF.nova.region_name,
|
||||||
endpoint_type=cfg.CONF.nova.endpoint_type,
|
endpoint_type=cfg.CONF.nova.endpoint_type,
|
||||||
extensions=self.extensions,
|
extensions=self.extensions,
|
||||||
|
connect_retries=cfg.CONF.http_retries,
|
||||||
global_request_id=global_id)
|
global_request_id=global_id)
|
||||||
|
|
||||||
def _is_compute_port(self, port):
|
def _is_compute_port(self, port):
|
||||||
|
@ -334,6 +334,7 @@ class TestNovaNotify(base.BaseTestCase):
|
|||||||
self.nova_notifier.send_events(response)
|
self.nova_notifier.send_events(response)
|
||||||
mock_client.assert_called_once_with(
|
mock_client.assert_called_once_with(
|
||||||
api_versions.APIVersion(nova.NOVA_API_VERSION),
|
api_versions.APIVersion(nova.NOVA_API_VERSION),
|
||||||
|
connect_retries=3,
|
||||||
session=mock.ANY,
|
session=mock.ANY,
|
||||||
region_name=cfg.CONF.nova.region_name,
|
region_name=cfg.CONF.nova.region_name,
|
||||||
endpoint_type='public',
|
endpoint_type='public',
|
||||||
@ -347,6 +348,7 @@ class TestNovaNotify(base.BaseTestCase):
|
|||||||
self.nova_notifier.send_events(response)
|
self.nova_notifier.send_events(response)
|
||||||
mock_client.assert_called_once_with(
|
mock_client.assert_called_once_with(
|
||||||
api_versions.APIVersion(nova.NOVA_API_VERSION),
|
api_versions.APIVersion(nova.NOVA_API_VERSION),
|
||||||
|
connect_retries=3,
|
||||||
session=mock.ANY,
|
session=mock.ANY,
|
||||||
region_name=cfg.CONF.nova.region_name,
|
region_name=cfg.CONF.nova.region_name,
|
||||||
endpoint_type='internal',
|
endpoint_type='internal',
|
||||||
|
@ -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…
Reference in New Issue
Block a user