martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 1 | ================== |
| 2 | reclass to-do list |
| 3 | ================== |
| 4 | |
martin f. krafft | cbaf4c8 | 2013-08-27 13:47:59 +0200 | [diff] [blame] | 5 | Common set of classes |
| 6 | --------------------- |
| 7 | A lot of the classes I have set up during the various stages of development of |
| 8 | |reclass| are generic. It would probably be sensible to make them available as |
| 9 | part of |reclass|, to give people a common baseline to work from, and to |
| 10 | ensure a certain level of consistency between users. |
| 11 | |
martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 12 | Testing framework |
| 13 | ----------------- |
| 14 | There is rudimentary testing in place, but it's inconsistent. I got |
| 15 | side-tracked into discussions about the philosphy of mocking objects. This |
| 16 | could all be fixed and unified. |
| 17 | |
| 18 | Also, storage, outputters, CLI and adapters have absolutely no tests yet… |
| 19 | |
| 20 | Configurable file extension |
| 21 | --------------------------- |
| 22 | Right now, ``.yml`` is hard-coded. This could be exported to the |
| 23 | configuration file, or even given as a list, so that ``.yml`` and ``.yaml`` |
| 24 | can both be used. |
| 25 | |
| 26 | Verbosity, debugging |
| 27 | -------------------- |
| 28 | Verbose output and debug logging would be a very useful addition to help |
| 29 | people understand what's going on, where data are being changed/merged, and to |
| 30 | help solve problems. |
| 31 | |
martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 32 | Data from CMS for interpolation |
| 33 | ------------------------------- |
| 34 | Depending on the CMS in question, it would be nice if |reclass| had access to |
| 35 | the host-specific data (facts, grains, etc.) and could use those in parameter |
| 36 | interpolation. I can imagine this working for Salt, where the ``grains`` |
| 37 | dictionary (and results from previous external node classifiers) is made |
| 38 | available to the external node classifiers, but I am not convinced this will |
| 39 | be possible in Ansible and Puppet. |
| 40 | |
| 41 | Ideally, |reclass| could unify the interface so that even templates can be |
| 42 | shared between the various CMS. |
martin f. krafft | 3fe5f94 | 2013-08-27 15:58:51 +0200 | [diff] [blame] | 43 | |
martin f. krafft | b640cfa | 2013-08-28 10:01:13 +0200 | [diff] [blame] | 44 | Node environments |
| 45 | ----------------- |
| 46 | At least Salt and Puppet support the notion of "environments", but the Salt |
| 47 | adapter just puts everything into the "base" environment at the moment. |
| 48 | |
| 49 | Part of the reason that multiple environments aren't (yet) supported is |
| 50 | because I don't see the use-case (anymore) with |reclass|. If you still see |
| 51 | a use-case, then please help me understand it and let's figure out a good way |
| 52 | to introduce this concept into |reclass|. |
| 53 | |
martin f. krafft | 4ff1282 | 2013-08-28 11:51:17 +0200 | [diff] [blame] | 54 | Membership information |
| 55 | ---------------------- |
| 56 | It would be nice if |reclass| could provide e.g. the Nagios master node with |
| 57 | a list of clients that define it as their master. That would short-circuit |
| 58 | Puppet's ``storeconfigs`` and Salt's ``mine``. |
| 59 | |
martin f. krafft | 54bb472 | 2013-12-26 14:47:19 +1300 | [diff] [blame] | 60 | Configuration file lookup improvements |
| 61 | -------------------------------------- |
| 62 | Right now, the adapters and the CLI look for the :doc:`configuration file |
| 63 | <configfile>` in a fixed set of locations. On of those derives from |
| 64 | ``OPT_INVENTORY_BASE_URI``, the default inventory base URI (``/etc/reclass``). |
| 65 | This should probably be updated in case the user changes the URI. |
| 66 | |
| 67 | Furthermore, ``$CWD`` and ``~`` might not make a lot of sense in all |
| 68 | use-cases. |
| 69 | |
martin f. krafft | 3fe5f94 | 2013-08-27 15:58:51 +0200 | [diff] [blame] | 70 | .. include:: substs.inc |