Skip to content

Commit

Permalink
Merge pull request #439 from nornir-automation/netconf_plugins
Browse files Browse the repository at this point in the history
Add netconf_capabilities plugin
  • Loading branch information
dbarrosop committed Oct 31, 2019
2 parents 6e71c68 + 7f8b7d7 commit 9d35231
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
2 changes: 2 additions & 0 deletions nornir/plugins/tasks/networking/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from .napalm_configure import napalm_configure
from .napalm_get import napalm_get
from .napalm_validate import napalm_validate
from .netconf_capabilities import netconf_capabilities
from .netconf_edit_config import netconf_edit_config
from .netconf_get import netconf_get
from .netconf_get_config import netconf_get_config
Expand All @@ -17,6 +18,7 @@
"napalm_configure",
"napalm_get",
"napalm_validate",
"netconf_capabilities",
"netconf_edit_config",
"netconf_get",
"netconf_get_config",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,19 @@


def netconf_capabilities(task: Task) -> Result:
manager = task.host.get_connection("netconf", task.nornir.config)
capabilities = [capability for capability in manager.server_capabilities]
return Result(host=task.host, result=capabilities)
"""
Gather Netconf capabilities from device
Examples:
Simple example::
def test_netconf(netconf):
result = netconf.run(netconf_capabilities)
> nr.run(task=netconf_capabilities)
for _, v in result.items():
assert "urn:ietf:params:netconf:capability:writable-running:1.0" in v.result
Returns:
Result object with the following attributes set:
* result (``list``): list with the capabilities of the host
"""
manager = task.host.get_connection("netconf", task.nornir.config)
capabilities = [capability for capability in manager.server_capabilities]
return Result(host=task.host, result=capabilities)
8 changes: 8 additions & 0 deletions tests/plugins/tasks/networking/test_netconf_capabilities.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from nornir.plugins.tasks import networking


def test_netconf_capabilities(netconf):
result = netconf.run(networking.netconf_capabilities)

for _, v in result.items():
assert "urn:ietf:params:netconf:capability:writable-running:1.0" in v.result

0 comments on commit 9d35231

Please sign in to comment.