* Fix DCI issues and changes to action plugin & utils (#35083)

* * Fix DCI issues and changes to action plugin & utils

* * Additional check to handle cli only modules for platforms that
support netconf
This commit is contained in:
Kedar Kekan 2018-01-19 16:22:31 +05:30 committed by GitHub
parent 784853da35
commit 719feef2e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 27 deletions

View file

@ -37,6 +37,9 @@ except ImportError:
from ansible.utils.display import Display
display = Display()
_CLI_ONLY_MODULES = frozenset(['junos_netconf', 'iosxr_netconf', 'iosxr_config', 'iosxr_command'])
_NETCONF_SUPPORTED_PLATFORMS = frozenset(['junos', 'iosxr'])
class ActionModule(ActionBase):
@ -57,7 +60,8 @@ class ActionModule(ActionBase):
module = load_module(module_name, f, p, d)
self.provider = load_provider(module.get_provider_argspec(), self._task.args)
if play_context.network_os == 'junos':
if self.provider.get('transport') == 'netconf' and play_context.network_os in _NETCONF_SUPPORTED_PLATFORMS \
and self._task.action not in _CLI_ONLY_MODULES:
play_context.connection = 'netconf'
play_context.port = int(self.provider['port'] or self._play_context.port or 830)
elif self.provider.get('transport') in ('nxapi', 'eapi') and play_context.network_os in ('nxos', 'eos'):