summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2013-09-26 11:46:54 -0400
committerScott Moser <smoser@ubuntu.com>2013-09-26 11:46:54 -0400
commit4d13fa79b32636bfab27540c76f46fcfb7ce7f5c (patch)
tree16d88c65fdbf4feda2d1ec083954862b8750fd37
parente3a5ed1467ac31077f01978e9233715e49da21fd (diff)
downloadvyos-cloud-init-4d13fa79b32636bfab27540c76f46fcfb7ce7f5c.tar.gz
vyos-cloud-init-4d13fa79b32636bfab27540c76f46fcfb7ce7f5c.zip
re-work 'ephemeral_disk' and location of builtin config
Previously we had this 'ephemeral_disk' entry in the datasource config for Azure, and then we also copied some entries into the .cfg for that datasource from the datasource config. Ie, datasource['Azure']['disk_setup'] would be oddly copied into the .cfg object that was returned by 'get_config_obj' Now, instead, we have a BUILTIN_CLOUD_CONFIG, which has those same values in it. The other change here is that 'ephemeral_disk' now has no meaning. Instead, we add a populated-by-default entry 'disk_aliases' to the BUILTIN_DS_CFG, and then just return entries in it for 'device_name_to_device'
-rw-r--r--cloudinit/sources/DataSourceAzure.py24
-rw-r--r--cloudinit/sources/DataSourceSmartOS.py12
2 files changed, 14 insertions, 22 deletions
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index ef3f073a..f7ca9eb6 100644
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -45,7 +45,10 @@ BUILTIN_DS_CONFIG = {
'command': BOUNCE_COMMAND,
'hostname_command': 'hostname',
},
- 'ephemeral_disk': '/dev/sdb1',
+ 'disk_aliases': {'ephemeral0': '/dev/sdb1'},
+}
+
+BUILTIN_CLOUD_CONFIG = {
'disk_setup': {
'ephemeral0': {'table_type': 'mbr',
'layout': True,
@@ -103,7 +106,7 @@ class DataSourceAzureNet(sources.DataSource):
(md, self.userdata_raw, cfg, files) = ret
self.seed = cdev
self.metadata = util.mergemanydict([md, DEFAULT_METADATA])
- self.cfg = cfg
+ self.cfg = util.mergemanydict([cfg, BUILTIN_CLOUD_CONFIG])
found = cdev
LOG.debug("found datasource in %s", cdev)
@@ -121,20 +124,10 @@ class DataSourceAzureNet(sources.DataSource):
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, {})
- self.ds_cfg = util.mergemanydict([usercfg, self.ds_cfg])
+ user_ds_cfg = util.get_cfg_by_path(self.cfg, DS_CFG_PATH, {})
+ self.ds_cfg = util.mergemanydict([user_ds_cfg, self.ds_cfg])
mycfg = self.ds_cfg
- # Put the disk format elements into the config object
- if 'disk_setup' in mycfg:
- self.cfg['disk_setup'] = mycfg['disk_setup']
-
- if 'fs_setup' in mycfg:
- self.cfg['fs_setup'] = mycfg['fs_setup']
-
- if 'ephemeral_disk' in mycfg:
- self.cfg['ephemeral_disk'] = mycfg['ephemeral_disk']
-
# walinux agent writes files world readable, but expects
# the directory to be protected.
write_files(mycfg['data_dir'], files, dirmode=0700)
@@ -183,8 +176,7 @@ class DataSourceAzureNet(sources.DataSource):
return True
def device_name_to_device(self, name):
- if 'ephemeral0' in name and 'ephemeral_disk' in self.cfg:
- return self.cfg['ephemeral_disk']
+ return self.ds_cfg['disk_aliases'].get(name)
def get_config_obj(self):
return self.cfg
diff --git a/cloudinit/sources/DataSourceSmartOS.py b/cloudinit/sources/DataSourceSmartOS.py
index da1eec79..050325fa 100644
--- a/cloudinit/sources/DataSourceSmartOS.py
+++ b/cloudinit/sources/DataSourceSmartOS.py
@@ -72,7 +72,10 @@ BUILTIN_DS_CONFIG = {
'iptables_disable'],
'base64_keys': [],
'base64_all': False,
- 'ephemeral_disk': '/dev/vdb',
+ 'disk_aliases': {'ephemeral0': '/dev/vdb'},
+}
+
+BUILTIN_CLOUD_CONFIG = {
'disk_setup': {
'ephemeral0': {'table_type': 'mbr',
'layout': True,
@@ -94,9 +97,7 @@ class DataSourceSmartOS(sources.DataSource):
BUILTIN_DS_CONFIG])
self.metadata = {}
- self.cfg = {}
- self.cfg['disk_setup'] = self.ds_cfg.get('disk_setup')
- self.cfg['fs_setup'] = self.ds_cfg.get('fs_setup')
+ self.cfg = BUILTIN_CLOUD_CONFIG
self.seed = self.ds_cfg.get("serial_device")
self.seed_timeout = self.ds_cfg.get("serial_timeout")
@@ -154,8 +155,7 @@ class DataSourceSmartOS(sources.DataSource):
return True
def device_name_to_device(self, name):
- if 'ephemeral0' in name:
- return self.ds_cfg['ephemeral_disk']
+ return self.ds_cfg['disk_aliases'].get(name)
def get_config_obj(self):
return self.cfg