51 lines
1.5 KiB
Diff
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,
|
|
)
|
|
|
|
|