diff options
author | Scott Moser <smoser@ubuntu.com> | 2013-04-25 11:58:38 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2013-04-25 11:58:38 -0400 |
commit | 1b7e36a966ce1a0964e93eefa98c9efcbc4c323d (patch) | |
tree | ed48428b0c08941385bafd12cbe836ce354503e9 /cloudinit/sources/DataSourceMAAS.py | |
parent | 8e97ca8cfaf75edc0b05b0dc2a2ef35c5c82221b (diff) | |
download | vyos-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.py | 16 |
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(): |