Age | Commit message (Collapse) | Author |
|
variable has a little more meaning and by default look in
metadata for 'launch-index' and have ec2 instead look for
a different variable (thus allowing more datasources to just work).
|
|
userdata based on a launch-index (or leave userdata
alone if none is provided by the datasource). This
works by doing the following.
1. Adjusting the userdata processor to attempt to
inject a "Launch-Index" header into the messages
headers (by either taking a header that already exists
or by looking into the payload to see if it exists
there).
2. Adjust the get_userdata ds function to apply a filter
on the returned userdata (defaulting to false) that
will now use the datasources get_launch_index value
to restrict the 'final' message used in consuming
user data (the same behavior if not existent).
3. Further down the line processes that use the 'resultant'
userdata now will only see the ones for there own launch
index (ie cloud-config will be restricted automatically
and so on) and are unaffected (although they can now
ask the cloud object or the datasource for its launch index
via the above new ds method.
|
|
There are several changes here.
* Datasource now has a 'availability_zone' getter.
* get_package_mirror_info
* Datasource convenience 'get_package_mirror_info' that calls
the configured distro, and passes it the availability-zone
* distro has a get_package_mirror_info method
* get_package_mirror_info returns a dict that of name:mirror
this is to facilitate use of 'security' and 'primary' archive.
* this supports searching based on templates. Any template
that references undefined values is skipped. These templates
can contain 'availability_zone' (LP: #1037727)
* distro's mirrors can be arch specific (LP: #1028501)
* rename_apt_lists supports the "mirror_info" rather than single mirror
* generate_sources_list supports mirror_info, and as a result, the
ubuntu mirrors reference '$security' rather than security (LP: #1006963)
* remove the DataSourceEc2 specific mirror selection, but instead
rely on the above filtering, and the fact that 'ec2_region' is only
defined if the availability_zone looks like a ec2 az.
|
|
2. Fixing up more cloud.path.joins found to use the right ro/rw filename
|
|
|
|
|
|
|
|
|
|
has been reduced to actual objects.
Added a get template filename helper which can be used to locate template files for various handlers/transforms.
Ensured that the config that we give back out is copied, so that it can't be modified by any 'malicous' handlers/transforms.
Added helper method cycle_logging that can resetup logging, this is mainly used by the rsyslog transform.
|
|
whatever other set of objects.
|
|
|
|
|
|
|
|
CloudInit - cut up to only provide some basic init processes
CloudPartData - provided to handlers so that they can fetch needed data without providing the whole enchilda of cloud init.
CloudPaths - holds the paths that should be used, for instances, for non-instances and such.
CloudSemaphores - holds the concept of cloud inits sempaphores, but cleaned up, using context manager to help here.
CloudHandlers - holds the user data handlers to be activated
CloudConfig - the cloud config object (to be cleaned up)
|
|
|