https://github.com/ciscodevnet/xr-gnmi-lab
Understand gNMI and how to build your first gNMI client with Python to interwork with IOS-XR
https://github.com/ciscodevnet/xr-gnmi-lab
cisco cisco-ios-xr gnmi ios-xr jupyter-notebook yang
Last synced: 11 months ago
JSON representation
Understand gNMI and how to build your first gNMI client with Python to interwork with IOS-XR
- Host: GitHub
- URL: https://github.com/ciscodevnet/xr-gnmi-lab
- Owner: CiscoDevNet
- License: apache-2.0
- Created: 2020-01-15T14:27:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-11T14:18:18.000Z (almost 3 years ago)
- Last Synced: 2025-05-22T17:35:05.782Z (about 1 year ago)
- Topics: cisco, cisco-ios-xr, gnmi, ios-xr, jupyter-notebook, yang
- Language: Jupyter Notebook
- Homepage:
- Size: 256 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# xr-gnmi-lab
[](https://developer.cisco.com/codeexchange/github/repo/CiscoDevNet/xr-gnmi-lab) [](https://developer.cisco.com/devenv/?id=devenv-vscode-base&GITHUB_SOURCE_REPO=https://github.com/CiscoDevNet/xr-gnmi-lab)
_Understand gNMI and how to build your first gNMI client with Python to interwork with IOS-XR_
## Use Case Description
This laboratory comes with two Jupyter notebooks for practising the gNMI functionalities of Cisco IOS XR. A set of Docker containers is used for collecting and monitoring model-driven telemetry data.
## Installation
### Dependencies
- Python 3
- [Cisco-gnmi-python](https://github.com/cisco-ie/cisco-gnmi-python) library
- Jupyter-notebook
- Docker
- Docker-compose
- IOS XR
### Configure
1. Deploy the stack of containers for monitoring of telemetry data by following these [instructions](monitoring/README.md).
2. Load the _Traffic Monitoring_ dashboard in Chronograf.
## Configuration
The details for the connection and authentication to the IOS XR can be found in each notebook.
This laboratory assumes the following:
- the host of the Jupyter notebook and the docker containers is `198.18.134.50`
- the Jupyter notebook is exposed on port `8080`
- the Chronograf web application is exposed on port `8888`
- the IOS XR is reachable at `198.18.134.72` with username `cisco` and password `cisco`
- the IOS XR has the following gRPC configuration:
```
grpc
port 57777
!
```
## Usage
Access the notebook at https://198.18.134.50:8080.
Start with the [`cisco-gNMI-main`](./cisco-gNMI-main.ipynb) notebook. To run a section of the laboratory, select the cell and press `Shift+Enter`.
## How to test the software
This laboratory was tested in an environment that had the following software installed:
| Software | version |
| ------------- | ------------- |
| Python | `3.6.8` |
| Cisco-gnmi | `1.0.4` |
| Jupyter-notebook | `6.0.2` |
| Docker | `19.03.5` |
| Docker-compose | `1.25.1` |
| IOS XR | `7.0.x` |
## Getting help
If you have questions, concerns, bug reports, etc., please create an issue against this repository.
## Getting involved
Feedback, bug fixes and feature enhancements or additions are encouraged. Please see the [CONTRIBUTING](./CONTRIBUTING.md) file for more information.
## Author(s)
This project was written and is maintained by the following individuals:
* cprecup
* nckbgov
* sbyx