cloud-init/SOURCES/0041-enable-ec2_utils-to-stop-retrying-to-get-ec2-metadata.patch
2025-05-08 10:17:39 +03:00

51 lines
1.5 KiB
Diff

Enable ec2_utils to stop retrying to get ec2 metadata
Signed-off-by: David Sloboda <david.x.sloboda@oracle.com>
Reviewed-by: Laurence Rochfort <laurence.rochfort@oracle.com>
diff -ruN a/cloudinit/sources/helpers/openstack.py b/cloudinit/sources/helpers/openstack.py
--- a/cloudinit/sources/helpers/openstack.py 2018-04-02 12:51:20.053828637 -0700
+++ b/cloudinit/sources/helpers/openstack.py 2018-04-02 12:33:20.000000000 -0700
@@ -464,6 +464,16 @@
return results
+def should_retry_cb(_request_args, cause):
+ try:
+ code = int(cause.code)
+ if code >= 400:
+ return False
+ except (TypeError, ValueError):
+ # Older versions of requests didn't have a code.
+ pass
+ return True
+
class MetadataReader(BaseReader):
def __init__(self, base_url, ssl_details=None, timeout=5, retries=5):
@@ -489,16 +499,6 @@
return self._versions
def _path_read(self, path, decode=False):
- def should_retry_cb(_request_args, cause):
- try:
- code = int(cause.code)
- if code >= 400:
- return False
- except (TypeError, ValueError):
- # Older versions of requests didn't have a code.
- pass
- return True
-
response = url_helper.readurl(
path,
retries=self.retries,
@@ -519,6 +519,7 @@
ssl_details=self.ssl_details,
timeout=self.timeout,
retries=self.retries,
+ exception_cb=should_retry_cb,
)