Allow configuring connect_retry_delay

Allow reading connect_retry_delay from the oslo conf.

Change-Id: Ia6e5ac655f94661fd5f5a0afbd113504bab6c331
Signed-off-by: jgilaber <jgilaber@redhat.com>
Closes-Bug: #2142571
This commit is contained in:
jgilaber
2026-02-24 12:00:56 +01:00
parent 46ef2717cd
commit 9877ca74f9
3 changed files with 15 additions and 0 deletions

View File

@@ -755,6 +755,12 @@ class CloudRegion:
)
return int(value) if value is not None else value
def get_connect_retry_delay(self, service_type: str) -> float | None:
value = self._get_config(
'connect_retry_delay', service_type, fallback_to_unprefixed=True
)
return float(value) if value is not None else value
def get_status_code_retries(self, service_type: str) -> int | None:
value = self._get_config(
'status_code_retries', service_type, fallback_to_unprefixed=True

View File

@@ -34,8 +34,10 @@ fake_services_dict = {
'volume_api_version': '1',
'auth': {'password': 'hunter2', 'username': 'AzureDiamond'},
'connect_retries': 1,
'connect_retry_delay': 0.5,
'baremetal_status_code_retries': 5,
'baremetal_connect_retries': 3,
'baremetal_connect_retry_delay': 1.5,
}
@@ -183,6 +185,8 @@ class TestCloudRegion(base.TestCase):
self.assertEqual(5, cc.get_status_code_retries('baremetal'))
self.assertEqual(1, cc.get_connect_retries('compute'))
self.assertEqual(3, cc.get_connect_retries('baremetal'))
self.assertEqual(0.5, cc.get_connect_retry_delay('compute'))
self.assertEqual(1.5, cc.get_connect_retry_delay('baremetal'))
def test_rackspace_workaround(self):
# We're skipping loader here, so we have to expand relevant

View File

@@ -0,0 +1,5 @@
---
fixes:
- |
``Session.connect_retry_delay`` is now configurable via ``clouds.yaml`` using
the ``<service type>_connect_retry_delay`` and ``connect_retry_delay`` options.