64add28657
* Platform agnostic net_system module Also refactor the action network plugins for better code re-use Still more refactoring to do once the connection plugin work is complete * Replace importlib for imp importlib is not available on 2.6, so we need to stick to imp * Load action plugin via module metadata * Better error message if no implementation is found Now the plugin will show the module name and the network OS in the error message * Fix typo on documentation author line * Fix pep8 issues * Add missing options key on doc string and stringify version * Return None in case module has no metadata * Read module metadata only if it's a python module Check for module suffix, if it's .py then read metadata. Otherwise this fails on non-python modules, like Windows PS for example. * Read metadata variable only if it's a python module Fix referencing a variable before assignment * Add action_handler to validate_modules metadata schema * Pull metadata with plugin_docs get_docstring Using load_source from PluginLoader is troublesome, it is not guaranteed a module may be importable at the controller, e.g. if a module depends on module_utils functions it won't work, because module_utils is not in the sys path. Rather than putting that module dependencies introspection, just use plain parsing like plugin_docs get_docstring does as we only care about reading ANSIBLE_METADATA. * Add platform agnostic group of groups for integration tests This will be the target for platform agnostic integration tests. * Add integration tests for net_system * Switch to action plugin inheritance from metadata driven action handler As the metadata action driven action handler work is being worked on on its standalone proposal+PR, let's just go back to have one action handler per platform agnostic module. Those action plugins will inherit from net_base. * Add blank line to fix pep8 * Add aliases file to net_system integration test This will avoid CI failure * Fix integration tests for net_system * Give more precedence to task network_os over inventory network_os
44 lines
515 B
INI
44 lines
515 B
INI
# Inventory file used by networking tests, see README.md for more information
|
|
|
|
[all:vars]
|
|
ansible_python_interpreter=python
|
|
|
|
[eos]
|
|
#veos-dut-01
|
|
veos01 ansible_network_os=eos
|
|
|
|
|
|
[nxos]
|
|
nxos01 ansible_network_os=nxos
|
|
|
|
[iosxr]
|
|
iosxr01 ansible_network_os=iosxr
|
|
|
|
[ios]
|
|
ios01 ansible_network_os=ios
|
|
#csr01
|
|
|
|
[junos]
|
|
vsrx01 ansible_network_os=junos
|
|
|
|
[cumulus]
|
|
clvx01
|
|
|
|
[vyos]
|
|
vyos01 ansible_network_os=vyos
|
|
|
|
[ops]
|
|
ops01
|
|
|
|
[asa]
|
|
asa01
|
|
|
|
[platform_agnostic:children]
|
|
ios
|
|
iosxr
|
|
eos
|
|
junos
|
|
vyos
|
|
nxos
|
|
|
|
# vim: nospell filetype=dosini
|