diff options
-rw-r--r-- | TODO | 46 | ||||
-rw-r--r-- | TODO.rst | 43 |
2 files changed, 43 insertions, 46 deletions
@@ -1,46 +0,0 @@ -- Consider a 'failsafe' DataSource - If all others fail, setting a default that - - sets the user password, writing it to console - - logs to console that this happened -- Consider a 'previous' DataSource - If no other data source is found, fall back to the 'previous' one - keep a indication of what instance id that is in /var/lib/cloud -- Rewrite "cloud-init-query" (currently not implemented) - Possibly have DataSource and cloudinit 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) -- Replace the 'apt*' modules with variants that now use the distro classes - to perform distro independent packaging commands (where possible) -- Canonicalize the semaphore/lock name for modules and user data handlers - a. It is most likely a bug that currently exists that if a module in config - alters its name and it has already ran, then it will get ran again since - the lock name hasn't be canonicalized -- Replace some the LOG.debug calls with a LOG.info where appropriate instead - of how right now there is really only 2 levels (WARN and DEBUG) -- Remove the 'cc_' for config modules, either have them fully specified (ie - 'cloudinit.config.resizefs') or by default only look in the 'cloudinit.config' - 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) -- Depending on if people think the wrapper around 'os.path.join' provided - by the 'paths' object is useful (allowing us to modify based off a 'read' - and 'write' configuration based 'root') or is just to confusing, it might be - something to remove later, and just recommend using 'chroot' instead (or the X - different other options which are similar to 'chroot'), which is might be more - natural and less confusing... -- 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 of 'ubuntu' modules, packages of 'rhel' - specific modules that people can add instead of having them all under the - cloud-init 'root' tree? This might encourage more development of other modules - instead of having to go edit the cloud-init code to accomplish this. - diff --git a/TODO.rst b/TODO.rst new file mode 100644 index 00000000..7d126864 --- /dev/null +++ b/TODO.rst @@ -0,0 +1,43 @@ +============================================== +Things that cloud-init may do (better) someday +============================================== + +- 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 the ``previous`` 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`` and ``DEBUG``) +- Remove the ``cc_`` prefix for config modules, either have them fully + specified (ie ``cloudinit.config.resizefs``) or by default only look in + the ``cloudinit.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 of ``ubuntu`` modules, packages of ``rhel`` specific modules that + people can add instead of having them all under the cloud-init ``root`` + tree? This might encourage more development of other modules instead of + having to go edit the cloud-init code to accomplish this. + +.. _netcf: https://fedorahosted.org/netcf/ |