Add 2.3.0 entries for module_utils via pluginloader, selectors, and py3 (#21019)

* Add 2.3.0 entries for module_utils via pluginloader, selectors, and py3

* Add roadmap-2.3 updates and an item for roadmap-2.4
This commit is contained in:
Toshio Kuratomi 2017-02-07 15:27:14 -08:00 committed by GitHub
parent 189fee4853
commit a3eab4fc48
3 changed files with 34 additions and 5 deletions

View file

@ -26,8 +26,8 @@ Target: February/March 2017
- **Metadata**
- Add metadata to the modules we ship **(done)**
- Write code to use metadata in docs
- If needed for python2/3 write code to use metadata in module_common or pluginloader
- Write code to use metadata in docs **(done)**
- If needed for python2/3 write code to use metadata in module_common or pluginloader **(not needed)**
- **Documentation**
@ -83,7 +83,10 @@ Target: February/March 2017
- For 2.3:
- We want all tests to pass (majority do but theres 10-20 that still need fixes)
- We want all tests to pass
- Just the mercurial tests left because we haven't created an image with
both python2 and python3 to test it on yet.
- Check by doing ``grep skip/python3 test/integration/targets/\*/aliases``
- If users report bugs on python3, these should be fixed and will prioritize our work on porting other modules.
- Still have to solve the python3-only and python2-only modules. Thinking of doing this via metadata. Will mean we have to use metadata at the module_common level. Will also mean we dont support py2-only or py3-only old style python modules.
- Note: Most of the currently tested ansible features now run. But theres still a lot of code thats untested.
@ -135,8 +138,8 @@ Target: February/March 2017
- **Plugin Loader**
- Add module_utils to the plugin loader (feature)
- Split plugin loader: Plugin_search, plugin_loader (modules only use first) (Stretch goal) (slip to 2.4)
- Add module_utils to the plugin loader (feature) [done]
- Split plugin loader: Plugin_search, plugin_loader (modules only use first) [pushed to 2.4]
- **ansible-ssh**

View file

@ -26,6 +26,26 @@ stated otherwise in the document.
- Current inventory is overtly complex, non modular and mostly still a legacy from inception. We also want to add a common set of features to most inventory sources but are hampered by the current code base.
- Proposal found in ansible/proposals issue `#41 <https://github.com/ansible/proposals/issues/41>`_.
- **PluginLoader Refactor**
- Over the past couple releases we've had some thoughts about how
PluginLoader might be better structured
- Load the loaders via an initialization function(), not when importing
the module. (stretch goal, doesn't impact the CLI)
- Separate duties of PluginLoader from PluginFinder. Most plugins need
both but Modules and Module_utils only need a PluginFinder
- Write different PluginFinder subclasses for Module_utils and perhaps
Modules. Most Plugin types have a flattened namespace and are single
python files. Modules include code that is not written in python.
Module_utils are vastly different from the other Plugins as they
maintain a hierarchical namespace and are multi-file.
- Potentially split module_utils loader for python from module_utils
loader for powershell. Currently we only support generic module_utils
for python modules. The powershell modules always include a single,
hardcoded powershell module_utils file. If we add generic module_utils
for powershell, we'll need to decide how to organize the code.
- **Facts Refreshening**
- Make setup.py/facts more pluggable