Age | Commit message (Collapse) | Author |
|
if public-keys in metadata are a list (rather than a dict), then
return them as such.
This allows populating NoCloud keys with:
public-keys:
- ssh-rsa .... myname.mylabel
- ssh-dsa .... myname.mylabel2
Or:
cat <<EOF
public-keys:
$(ssh-add -L | sed 's,^\(.*\), - "\1",')
EOF
|
|
This copyright change reflects previous changes that Juerg made for pylint and
pep8 cleanups.
From: Juerg Haefliger <juerg.haefliger@hp.com>
Date: Mon, 16 Jan 2012 10:45:12 +0100
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
This pulls in the named patch for LP: #914739 with a few other changes.
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
single line)
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
Replace superseded builtin functions 'filter' and 'map' using
list comprehension.
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
argument)
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
From: Juerg Haefliger <juerg.haefliger@hp.com>
|
|
|
|
|
|
|
|
|
|
|
|
This fixes (LP: #850206). See bug for more info.
LP: #850206
|
|
|
|
LP: #845155
|
|
This allows for the chance that platform.node returned
a fully qualified domainname. Per its doc:
Returns the computer's network name (which may not be fully
qualified)
|
|
Previously the Ubuntu specific and confusing string "ubuntuhost" was
used. Use something that gives a better hint as to where it came from
for get_instance_id()
|
|
Thanks to Adam Gandalman and Marc Cluet for this fix.
LP: #812539
|
|
In order to be able to configure a DataSource via system config
(ie, what is in /etc/cloud/cloud.cfg), we pass this into the DataSource
class.
The DataSource parent class will set up the 'ds_cfg' member based
on the subclass name. So, DataSourceEc2 will get:
self.ds_cfg = sys_cfg['datasource']['Ec2']
populated for it.
|
|
Previous logging was getting 'None' set in the DataSource collections.
Thus, 'log.debug' would throw error. I think it is proper to pull in
the base cloudinit's log.
|
|
After adding the 'log' element to the DataSource class, pickling would
fail with
TypeError: can't pickle file objects
Instead of having the object with a log reference, use one from
'DataSource.log' and have that set by cloudinit
|
|
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.
|
|
This will allow for a DataSource to provide its own config
that will then be utilized as part of CloudConfig.
[to be used in OVF]
|
|
The new classes 'DataSourceNoCloud' and 'DataSourceNoCloudNet'
implement a way to get data from the filesystem, or (very minimal)
data from the kernel command line. This allows the user to seed data to
these sources.
There are now 2 "cloud-init" jobs, cloud-init-local that runs on
mounted MOUNTPOINT=/
and 'cloud-init' that runs on
start on (mounted MOUNTPOINT=/ and net-device-up IFACE=eth0 and
stopped cloud-init-local )
The idea is that cloud-init-local can actually function without network.
The last thing in this commit is "uncloud-init".
This tool can be invoked as 'init=/usr/lib/cloud-init/uncloud-init'
It will "uncloudify" things in the image, generally making it easier
to use for a simpler environment, and then it will exec /sbin/init.
|
|
|
|
|
|
|