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 | 3b10e80 | 2013-11-26 23:30:10 +0100 | [diff] [blame^] | 32 | Mapping interpolation |
| 33 | --------------------- |
| 34 | Given class mappings, it should be possible to use references in the classes, |
| 35 | e.g.: |
martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 36 | |
martin f. krafft | 3b10e80 | 2013-11-26 23:30:10 +0100 | [diff] [blame^] | 37 | /\.(\S+)$/ → in-domain-\1 |
martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 38 | |
martin f. krafft | 3b10e80 | 2013-11-26 23:30:10 +0100 | [diff] [blame^] | 39 | such that a host like ``example.org`` would get the class ``in-domain-org`` |
| 40 | assigned to it. |
martin f. krafft | cc8851d | 2013-08-27 13:43:16 +0200 | [diff] [blame] | 41 | |
| 42 | Data from CMS for interpolation |
| 43 | ------------------------------- |
| 44 | Depending on the CMS in question, it would be nice if |reclass| had access to |
| 45 | the host-specific data (facts, grains, etc.) and could use those in parameter |
| 46 | interpolation. I can imagine this working for Salt, where the ``grains`` |
| 47 | dictionary (and results from previous external node classifiers) is made |
| 48 | available to the external node classifiers, but I am not convinced this will |
| 49 | be possible in Ansible and Puppet. |
| 50 | |
| 51 | Ideally, |reclass| could unify the interface so that even templates can be |
| 52 | shared between the various CMS. |
martin f. krafft | 3fe5f94 | 2013-08-27 15:58:51 +0200 | [diff] [blame] | 53 | |
martin f. krafft | b640cfa | 2013-08-28 10:01:13 +0200 | [diff] [blame] | 54 | Node environments |
| 55 | ----------------- |
| 56 | At least Salt and Puppet support the notion of "environments", but the Salt |
| 57 | adapter just puts everything into the "base" environment at the moment. |
| 58 | |
| 59 | Part of the reason that multiple environments aren't (yet) supported is |
| 60 | because I don't see the use-case (anymore) with |reclass|. If you still see |
| 61 | a use-case, then please help me understand it and let's figure out a good way |
| 62 | to introduce this concept into |reclass|. |
| 63 | |
martin f. krafft | 4ff1282 | 2013-08-28 11:51:17 +0200 | [diff] [blame] | 64 | Membership information |
| 65 | ---------------------- |
| 66 | It would be nice if |reclass| could provide e.g. the Nagios master node with |
| 67 | a list of clients that define it as their master. That would short-circuit |
| 68 | Puppet's ``storeconfigs`` and Salt's ``mine``. |
| 69 | |
martin f. krafft | 3fe5f94 | 2013-08-27 15:58:51 +0200 | [diff] [blame] | 70 | .. include:: substs.inc |