diff options
author | Scott Moser <smoser@ubuntu.com> | 2013-09-09 19:44:50 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2013-09-09 19:44:50 -0400 |
commit | c74d928cc681ee98d0a3893dbe1ee8ff5fe361de (patch) | |
tree | 7c5b035db38846146165a280fb953f51dec0a08a /cloudinit | |
parent | 8e5b1fef27fa715e9ff8ef0130ada4869f8258e6 (diff) | |
download | vyos-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')
-rw-r--r-- | cloudinit/sources/DataSourceAzure.py | 11 |
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, {}) |