Understand NETCONF/YANG and build your first NETCONF client with Python to interwork with IOS-XR
This 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.
- Python 3
- Ncclient library
- Jupyter lab
- Docker
- Docker-compose
- Iperf
- IOS XR
-
Deploy the stack of containers for monitoring of telemetry data by following these instructions.
-
Load the Traffic Monitoring dashboard in Chronograf.
The details for the connection and authentication to the IOS XR can be found in the 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 usernamecisco
and passwordcisco
- 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 !
Access the lab at https://198.18.134.50:8443.
Start with the workshop
lab.
To run a section of the laboratory, select the cell and press Shift+Enter
.
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 |
If you have questions, concerns, bug reports, etc., please create an issue against this repository.
Feedback, bug fixes and feature enhancements or additions are encouraged. Please see the CONTRIBUTING file for more information.
This project was written and is maintained by the following individuals:
- cprecup [email protected]