- Consider making
failsafe
DataSource
- sets the user password, writing it to console - Consider a
previous
DataSource
, if no other data source is found, fall back to theprevious
one that worked. - Rewrite
cloud-init-query
(currently not implemented) - Possibly have a
DataSource
expose explicit fields:- instance-id
- hostname
- mirror
- release
- ssh public keys
- Remove the conversion of the ubuntu network interface format conversion to a RH/fedora format and replace it with a top level format that uses the netcf libraries format instead (which itself knows how to translate into the specific formats). See for example netcf which seems to be an active project that has this capability.
- Replace the
apt*
modules with variants that now use the distro classes to perform distro independent packaging commands (wherever possible). - Replace some the LOG.debug calls with a LOG.info where appropriate instead
of how right now there is really only 2 levels (
WARN
andDEBUG
) - Remove the
cc_
prefix for config modules, either have them fully specified (iecloudinit.config.resizefs
) or by default only look in thecloudinit.config
namespace for these modules (or have a combination of the above), this avoids having to understand where your modules are coming from (which can be altered by the current python inclusion path) - Instead of just warning when a module is being ran on a
unknown
distribution perhaps we should not run that module in that case? Or we might want to start reworking those modules so they will run on all distributions? Or if that is not the case, then maybe we want to allow fully specified python paths for modules and start encouraging packages ofubuntu
modules, packages ofrhel
specific modules that people can add instead of having them all under the cloud-initroot
tree? This might encourage more development of other modules instead of having to go edit the cloud-init code to accomplish this.