diff options
author | Scott Moser <smoser@ubuntu.com> | 2011-01-26 13:54:18 -0500 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2011-01-26 13:54:18 -0500 |
commit | fcbdfd587818c7144193b6c709ec29fda4fb9b00 (patch) | |
tree | b180b671e54b4fb8975b6ba2032c53d4228b39b7 /doc | |
parent | 8001d7eadd0af627101254dad2ab22dbd454b7ab (diff) | |
parent | dc5e7116e663d3b5cad165fcac8b3141f8ffbc05 (diff) | |
download | vyos-cloud-init-fcbdfd587818c7144193b6c709ec29fda4fb9b00.tar.gz vyos-cloud-init-fcbdfd587818c7144193b6c709ec29fda4fb9b00.zip |
merge in work form ds-rework
rework of DataSource loading.
The DataSources that are loaded are now controlled entirely via
configuration file of 'datasource_list', like:
datasource_list: [ "NoCloud", "OVF", "Ec2" ]
Each item in that list is a "DataSourceCollection". for each item
in the list, cloudinit will attempt to load:
cloudinit.DataSource<item>
and, failing that,
DataSource<item>
The module is required to have a method named 'get_datasource_list'
in it that takes a single list of "dependencies" and returns
a list of python classes inside the collection that can run needing
only those dependencies.
The dependencies are defines in DataSource.py. Currently:
DEP_FILESYSTEM = "FILESYSTEM"
DEP_NETWORK = "NETWORK"
When 'get_datasource_list' is called for the DataSourceOVF module with
[DEP_FILESYSTEM], then DataSourceOVF returns a single item list with a
reference to the 'DataSourceOVF' class.
When 'get_datasource_list' is called for the DataSourceOVF module with
[DEP_FILESYSTEM, DEP_NETWORK], it will return a single item list
with a reference to 'DataSourceOVFNet'.
cloudinit will then instanciate the class and call its 'get_data' method.
if the get_data method returns 'True', then it selects this class as the
selected Datasource.
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions