Ansible has an ever growing list of modules. For a single module this raises the question: who is responsible for it? And what is the actual status? Here a new metadata field will most likely be introduced soon.
With Ansible getting more and more traction every day, more modules are popping up everywhere – most of them inside the Ansible repository, some of them outside in the community. However, with this ever growing list of modules – almost a thousand by now – questions came up what the actual state of a module is: does it have a stable interface? Is it a preview, or is it already deprecated? And who maintains it in case I have an idea for a new feature or a change? The Ansible community, the core developers team, is there a maintainer, or is the committer the person to talk to?
To answer these questions, a new set of metadata for modules was proposed as a part of a larger change how Ansible modules are managed in general. The proposal and the corresponding pull request were accepted, and thus in the future each module will carry multiple data:
- a version string
- a
supported_by
flag to highlight who is the maintainer - a status field showing if it is stable, a preview, deprecated or dead
The following code snippet shows how this could look like:
# Data formatted as a python dict: ANSIBLE_METADATA = { 'version': '1.0', 'supported_by': 'core|community|core_curated', 'status': ['stableinterface|preview|deprecated|removed'] } # Data formatted as a yaml string: ANSIBLE_METADATA = r""" version: "1.0" supported_by: "core|community|unmaintained|committer" status: ["stableinterface|preview|deprecated|removed"] """
This will help to better understand in the future who is responsible for which module, and who can be approached. Note though that while there are plans to include it with Ansible 2.3, this is not yet released so this is still subject to change. Also, keep in mind that this is a feature for the community to work together on the project – it has nothing to do with any support statement made in any contract for example with Red Hat when purchasing Ansible Tower by Red Hat.
Nice work Mr Rowland 🙂
Almost 😉 But thanks =)