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.
This commit is contained in:
Scott Moser 2015-03-27 15:19:51 -04:00
parent b39cdfb9e7
commit 2d5a8fbff6
2 changed files with 4 additions and 2 deletions

View File

@ -28,6 +28,7 @@
(LP: #1422388)
- readurl, read_file_or_url returns bytes, user must convert as necessary
- SmartOS: use v2 metadata service (LP: #1436417) [Daniel Watkins]
- NoCloud: fix local datasource claiming found without explicit dsmode
0.7.6:
- open 0.7.6
- Enable vendordata on CloudSigma datasource (LP: #1303986)

View File

@ -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