summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2015-03-27 15:19:51 -0400
committerScott Moser <smoser@ubuntu.com>2015-03-27 15:19:51 -0400
commitbf52085a1fa3529329a5c48097a12a6e9b93eb22 (patch)
tree72f1b5d67af99b9507efa12f2304ff2cd3a1c69d /cloudinit
parent24fdc71db366dc4ea9a0d164bb6af7d38609478a (diff)
downloadvyos-cloud-init-bf52085a1fa3529329a5c48097a12a6e9b93eb22.tar.gz
vyos-cloud-init-bf52085a1fa3529329a5c48097a12a6e9b93eb22.zip
NoCloud: the local portion of NoCloud incorrectly claimed datasources
The intent has always been for the local datasource (NoCloud) to require the provider of metadata to provide 'dsmode=local'. If that wasn't found, then the default 'dsmode' would be 'net', and the NoCloudNet datasource would then find the data. The bug here was that the default 'net' wasn't being set when data was found on a local source.
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/sources/DataSourceNoCloud.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/cloudinit/sources/DataSourceNoCloud.py b/cloudinit/sources/DataSourceNoCloud.py
index c26a645c..6a861af3 100644
--- a/cloudinit/sources/DataSourceNoCloud.py
+++ b/cloudinit/sources/DataSourceNoCloud.py
@@ -124,7 +124,7 @@ class DataSourceNoCloud(sources.DataSource):
# that is more likely to be what is desired. If they want
# dsmode of local, then they must specify that.
if 'dsmode' not in mydata['meta-data']:
- mydata['dsmode'] = "net"
+ mydata['meta-data']['dsmode'] = "net"
LOG.debug("Using data from %s", dev)
found.append(dev)
@@ -193,7 +193,8 @@ class DataSourceNoCloud(sources.DataSource):
self.vendordata = mydata['vendor-data']
return True
- LOG.debug("%s: not claiming datasource, dsmode=%s", self, md['dsmode'])
+ LOG.debug("%s: not claiming datasource, dsmode=%s", self,
+ mydata['meta-data']['dsmode'])
return False