IOS XR Programmability with Python
Achieve Network Operational Simplicity Using Automation Scripts
Network automation is imperative to deploy and manage the networks with large-scale cloud-computing architectures. The automation can be achieved through standard model-driven data models. To cater to the automation requirements, you leverage the Cisco IOS XR infrastructure to make API calls and run scripts from an external controller. These off-box scripts take advantage of the exposed interfaces such as NETCONF, SNMP, SSH to work on the network element. However, there is need to maintain an external controller to interact with the router.
To simplify the operational infrastructure, the automation scripts can be run on the router, eliminating the need for an external controller. The execution of the different types of scripts are faster and reliable as it is not dependent on the speed or network reachability of the external controller. Most script types interact with IOS XR Software using standard protocols such as NETCONF, gRPC Network Management Interface (gNMI) and CLI commands. You can download script to the router, configure scripts, view operational data, and set responses to events in the router.
In summary, on-box scripting is similar to off-box scripting, with the exception that the management software that runs in an external controller is now part of the router software. The scripts programmatically automate configuration and operational tasks on the network devices. You can create customized scripts that are based on your network requirement and execute scripts on routers running Cisco IOS XR operating system. The packages that support scripting are provided in the software image.
For more information, see the Programmability Configuration Guide for the platform.
Note: Automation Scripts are supported on Cisco IOS XR, Release 7.3.2 and later releases.
Note: Cisco IOS XR supports scripts created using Python version 3.5 and later.