summaryrefslogtreecommitdiff
path: root/cloudinit/sources
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2013-09-09 19:44:50 -0400
committerScott Moser <smoser@ubuntu.com>2013-09-09 19:44:50 -0400
commitc74d928cc681ee98d0a3893dbe1ee8ff5fe361de (patch)
tree7c5b035db38846146165a280fb953f51dec0a08a /cloudinit/sources
parent8e5b1fef27fa715e9ff8ef0130ada4869f8258e6 (diff)
downloadvyos-cloud-init-c74d928cc681ee98d0a3893dbe1ee8ff5fe361de.tar.gz
vyos-cloud-init-c74d928cc681ee98d0a3893dbe1ee8ff5fe361de.zip
populate random_seed in azure data source
Azure provides a random bit of data at '/sys/firmware/acpi/tables/OEM0'. The walinux calls this "Entropy in ACPI table provided by Hyper-V".
Diffstat (limited to 'cloudinit/sources')
-rw-r--r--cloudinit/sources/DataSourceAzure.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index 7c50de4c..a77c3d9a 100644
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -106,13 +106,10 @@ class DataSourceAzureNet(sources.DataSource):
if found == ddir:
LOG.debug("using files cached in %s", ddir)
- rseedf = "/sys/firmware/acpi/tables/OEM0"
- if os.path.isfile(rseedf):
- try:
- with open(rseedf, "rb") as fp:
- self.metadata['random_seed'] = fp.read()
- except:
- LOG.warn("random seed '%s' existed but read failed", rseedf)
+ # azure / hyper-v provides random data here
+ seed = util.load_file("/sys/firmware/acpi/tables/OEM0", quiet=True)
+ if seed:
+ self.metadata['random_seed'] = seed
# now update ds_cfg to reflect contents pass in config
usercfg = util.get_cfg_by_path(self.cfg, DS_CFG_PATH, {})