https://github.com/ciscodevnet/xr-netconf-lab
Understand NETCONF/YANG and build your first NETCONF client with Python to interwork with IOS-XR
https://github.com/ciscodevnet/xr-netconf-lab
cisco cisco-ios-xr ios-xr jupyter-lab netconf yang
Last synced: 6 months ago
JSON representation
Understand NETCONF/YANG and build your first NETCONF client with Python to interwork with IOS-XR
- Host: GitHub
- URL: https://github.com/ciscodevnet/xr-netconf-lab
- Owner: CiscoDevNet
- License: apache-2.0
- Created: 2020-01-17T11:55:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-11T14:18:50.000Z (about 2 years ago)
- Last Synced: 2025-04-14T22:03:08.968Z (6 months ago)
- Topics: cisco, cisco-ios-xr, ios-xr, jupyter-lab, netconf, yang
- Language: Jupyter Notebook
- Homepage:
- Size: 1.47 MB
- Stars: 5
- Watchers: 14
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# xr-netconf-lab
[](https://developer.cisco.com/codeexchange/github/repo/CiscoDevNet/xr-netconf-lab) [](https://developer.cisco.com/devenv/?id=devenv-vscode-base&GITHUB_SOURCE_REPO=https://github.com/CiscoDevNet/xr-netconf-lab)
_Understand NETCONF/YANG and build your first NETCONF client with Python to interwork with IOS-XR_
![]()
## Use Case DescriptionThis laboratory comes with a Jupyter lab for practising the NETCONF functionalities of Cisco IOS XR. A set of Docker containers is used for collecting and monitoring model-driven telemetry data, as traffic is being generated.
## Installation
### Dependencies
- Python 3
- [Ncclient](https://github.com/ncclient/ncclient) library
- Jupyter lab
- Docker
- Docker-compose
- Iperf
- 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 the [`workshop-configuration.ini`](./workshop-configuration.ini) file.
This laboratory assumes the following:
- the host of the Jupyter lab and the docker containers is `198.18.134.50` and is a Linux host
- the Jupyter notebook is exposed on port `8443`
- 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 Linux host has Iperf installed on it
- the IOS XR has Iperf installed on it
- the IOS XR has the following configuration:
```
telemetry model-driven
destination-group DGroup1
address-family ipv4 198.18.134.50 port 57777
encoding self-describing-gpb
protocol grpc no-tls
!
!
sensor-group SGroupGeneric1
sensor-path Cisco-IOS-XR-ifmgr-oper:interface-properties/data-nodes/data-node/system-view
!
subscription Subscription1
sensor-group-id SGroupGeneric1 strict-timer
sensor-group-id SGroupGeneric1 sample-interval 10000
destination-id DGroup1
!
!
tpa
vrf default
address-family ipv4
update-source dataports Loopback0
!
!
!
netconf-yang agent
ssh
!
interface Loopback0
ipv4 address 1.1.1.1 255.255.255.255
shutdown
!
```## Usage
Access the lab at https://198.18.134.50:8443.
Start with the [`workshop`](./workshop.ipynb) lab.
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` |
| ncclient | `0.6.6` |
| jupyter lab | `1.2.3` |
| docker | `19.03.5` |
| docker-compose | `1.23.2` |
| iperf (server) | `2.0.5` |
| iperf (client) | `2.0.13` |
| 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