summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO46
-rw-r--r--TODO.rst43
2 files changed, 43 insertions, 46 deletions
diff --git a/TODO b/TODO
deleted file mode 100644
index 792bc63d..00000000
--- a/TODO
+++ /dev/null
@@ -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/