From e105bfb7b3bf352244a73fc3a7e08a12a102f477 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Wed, 4 Apr 2012 22:05:17 -0400 Subject: 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: # /user-data and /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 --- cloudinit/DataSourceNoCloud.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'cloudinit/DataSourceNoCloud.py') 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")) -- cgit v1.2.3