diff options
author | Scott Moser <smoser@ubuntu.com> | 2012-04-04 22:05:17 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2012-04-04 22:05:17 -0400 |
commit | e105bfb7b3bf352244a73fc3a7e08a12a102f477 (patch) | |
tree | 3371be8994fd1090d76fea3fcedeb98eb5a541d7 | |
parent | 7b2fc4e014e6b7a43e6b8fc719d82c3d0b0a8bed (diff) | |
download | vyos-cloud-init-e105bfb7b3bf352244a73fc3a7e08a12a102f477.tar.gz vyos-cloud-init-e105bfb7b3bf352244a73fc3a7e08a12a102f477.zip |
add reading of 'seedfrom' via DataSourceNoCloud's DataSourceConfig
What this does is provide an second DataSource that could use the
kernel command line url=. For example:
ro root=/dev/vda url=http://example.com/i-abcdefg/
http://example.com/i-abcdefg/ would contain:
datasource:
NoCloud:
# default seedfrom is None
# if found, then it should contain a url with:
# <url>/user-data and <url>/meta-data
# seedfrom: http://my.example.com/i-abcde
seedfrom: http://example.com/i-abcdefg/
Then, the NoCloudNet DataSource would find that seedfrom config
and consume data at
http://example.com/i-abcdefg/user-data
and
http://example.com/i-abcdefg/meta-data
-rw-r--r-- | cloudinit/DataSourceNoCloud.py | 7 | ||||
-rw-r--r-- | doc/examples/cloud-config-datasources.txt | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/cloudinit/DataSourceNoCloud.py b/cloudinit/DataSourceNoCloud.py index 62ecc088..fe649513 100644 --- a/cloudinit/DataSourceNoCloud.py +++ b/cloudinit/DataSourceNoCloud.py @@ -67,6 +67,13 @@ class DataSourceNoCloud(DataSource.DataSource): found.append(self.seeddir) log.debug("using seeded cache data in %s" % self.seeddir) + # if the datasource config had a 'seedfrom' entry, then that takes + # precedence over a 'seedfrom' that was found in a filesystem + # but not over external medi + if 'seedfrom' in self.ds_cfg and self.ds_cfg['seedfrom']: + found.append(["ds_config"]) + md["seedfrom"] = self.ds_cfg['seedfrom'] + fslist = util.find_devs_with("TYPE=vfat") fslist.extend(util.find_devs_with("TYPE=iso9660")) diff --git a/doc/examples/cloud-config-datasources.txt b/doc/examples/cloud-config-datasources.txt index 63a6cfc4..d10dde05 100644 --- a/doc/examples/cloud-config-datasources.txt +++ b/doc/examples/cloud-config-datasources.txt @@ -24,3 +24,10 @@ datasource: consumer_key: Xh234sdkljf token_key: kjfhgb3n token_secret: 24uysdfx1w4 + + NoCloud: + # default seedfrom is None + # if found, then it should contain a url with: + # <url>/user-data and <url>/meta-data + # seedfrom: http://my.example.com/i-abcde + seedfrom: None |