Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akarneliuk/nornir_pygnmi
pyGNMI plugin for Nornir
https://github.com/akarneliuk/nornir_pygnmi
automation network network-automation nornir nornir-pygnmi pygnmi pyhton
Last synced: 3 months ago
JSON representation
pyGNMI plugin for Nornir
- Host: GitHub
- URL: https://github.com/akarneliuk/nornir_pygnmi
- Owner: akarneliuk
- License: bsd-3-clause
- Created: 2022-07-26T17:37:38.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-18T18:07:59.000Z (over 2 years ago)
- Last Synced: 2024-10-10T20:52:12.236Z (4 months ago)
- Topics: automation, network, network-automation, nornir, nornir-pygnmi, pygnmi, pyhton
- Language: Python
- Homepage: https://training.karneliuk.com/
- Size: 37.1 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
========================
pyGNMI plugin for Nornir
========================|project|_ |version|_ |coverage|_ |tag|_ |license|_
This repository contains GNMI plugin for Nornir leveraging pyGNMI library
=====
Usage
=====
Sample code example:.. code-block:: python3
# Modules
from nornir.init_nornir import InitNornir
from nornir_utils.plugins.functions import print_result
from nornir_pygnmi.tasks import gnmi_capabilities# Statics
NORNIR_CONFIG = "./config.yaml"# Body
if __name__ == "__main__":
# Initialise Nornir
nrn = InitNornir(config_file=NORNIR_CONFIG)# Run task
result1 = nrn.run(task=gnmi_capabilities)
print_result(result1)Installation
------------.. code-block:: bash
pip install nornir_pygnmi
=======
Dev Log
=======Release **0.2.1**:
- Amended documentation to show possibility to use ``port`` key in the ``connection_options/pygnmi`` context.
Release **0.2.0**:
- Added new ``gnmi_subscribe()`` task. It supports all telemery subscription modes; however, from the Nornir perspective, the most benefitial is the ``once`` mode. In this case, the task will return a list containing output of all requested data. Such an approach is recommended by some vendors (e.g., Nokia) to collect huge data sets, which are not fitting into a single ``Get()`` RPC implemented in ``nornir_pygnmi`` as ``gnmi_get()`` task.
Release **0.1.2**:
- Added `examples `_.
- Modified communication of the task's status for all tasks.Release **0.1.1**:
- Added ``gnmi_set()`` task.
- Added placeholders for not-implemented methods.Release **0.1.0**:
- First alpha release.
(c)2022, karneliuk.com
.. |version| image:: https://img.shields.io/static/v1?label=latest&message=v0.2.0&color=success
.. _version: https://pypi.org/project/nornir_pygnmi/
.. |tag| image:: https://img.shields.io/static/v1?label=status&message=stable&color=success
.. _tag: https://pypi.org/project/nornir_pygnmi/
.. |license| image:: https://img.shields.io/static/v1?label=license&message=BSD-3-clause&color=success
.. _license: https://github.com/akarneliuk/nornir_pygnmi/blob/master/LICENSE.txt
.. |project| image:: https://img.shields.io/badge/akarneliuk%2Fnornir_pygnmi-blueviolet.svg?logo=github&color=success
.. _project: https://github.com/akarneliuk/nornir_pygnmi/
.. |coverage| image:: https://img.shields.io/static/v1?label=coverage&message=0%&color=red
.. _coverage: https://github.com/nedbat/coveragepy