summaryrefslogtreecommitdiff
path: root/cloudinit/sources/DataSourceMAAS.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2013-04-25 11:58:38 -0400
committerScott Moser <smoser@ubuntu.com>2013-04-25 11:58:38 -0400
commit1b7e36a966ce1a0964e93eefa98c9efcbc4c323d (patch)
treeed48428b0c08941385bafd12cbe836ce354503e9 /cloudinit/sources/DataSourceMAAS.py
parent8e97ca8cfaf75edc0b05b0dc2a2ef35c5c82221b (diff)
downloadvyos-cloud-init-1b7e36a966ce1a0964e93eefa98c9efcbc4c323d.tar.gz
vyos-cloud-init-1b7e36a966ce1a0964e93eefa98c9efcbc4c323d.zip
re-work maas datasource and headers call backs
Couple of things here: * do not re-try on user-data (404 means 'not here') * re-generate headers on retry requests LP: #1172742
Diffstat (limited to 'cloudinit/sources/DataSourceMAAS.py')
-rw-r--r--cloudinit/sources/DataSourceMAAS.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/cloudinit/sources/DataSourceMAAS.py b/cloudinit/sources/DataSourceMAAS.py
index de822924..dfe90bc6 100644
--- a/cloudinit/sources/DataSourceMAAS.py
+++ b/cloudinit/sources/DataSourceMAAS.py
@@ -218,14 +218,20 @@ def read_maas_seed_url(seed_url, header_cb=None, timeout=None,
md = {}
for name in file_order:
url = files.get(name)
- if header_cb:
- headers = header_cb(url)
+ if not header_cb:
+ def _cb(url):
+ return {}
+ header_cb = _cb
+
+ if name == 'user-data':
+ retries = 0
else:
- headers = {}
+ retries = None
+
try:
ssl_details = util.fetch_ssl_details(paths)
- resp = util.read_file_or_url(url,
- headers=headers,
+ resp = util.read_file_or_url(url, retries=retries,
+ headers_cb=header_cb,
timeout=timeout,
ssl_details=ssl_details)
if resp.ok():