Rising software quality with PythonIOS XR & CQEkit
Technical Marketing Manager, MIG, Cisco
@xrdocs
Mike Korshunov
Mike Korshunov Technical Marketing Manager, MIG
Software engineer in the past, hackathon enthusiast, love to tackle & automate things.
Small Precursor: IOS XR Versatile Portfolio
Cisco HW with Custom Si ASR 9000Cisco 8000
Cisco HW with Merchant Si NCS 5500NCS 500
VNFXRv9000
IOS XR for Qualified 3rd Party
HW
Unmatched flexibility of an industry-proven network OS across multiple data planes
Few Metrics to Get Started
10k+Test-cases
available
35+Automation Packages
500+Daily Active Test Runs
350+Contributors on GitHub
Our Own Testing Solution
CQEkit / Smarts Automation PackagesRentable Testbeds
CQEkit
6DGTL-PSOSPG-1013
CQEkit. What’s Inside?
7DGTL-PSOSPG-1013
TextFSM
Design of the CQEkit
• Open source test framework– Enables collaboration with customers and test engineers.
• Feature Library – Platform and Model Independent Design– Support for CLI, YDK, NSO etc.– Supports pytest, extensible for Robot/Ansible
• Centralized Debug Engine– Rule based response engine
– AI assisted rule creation.
Cisco Infra
CQE Library(Install API, CLI parser and verifier, M2M/Telemetry verifiers,
Device Configuration API, Feature Libraries)
Open Source Infra Customer Infra
TDLBaseline Integrity
Test
Feature Test
System Integration
Test
Customer Validation
Test
Infra Abstraction Layer
Execution Framework Logging Device
Connection
Web/Cloud Test or Apps
Topology Definition
Glance at a Components: Packages
Automation Packages are collection of test automation to verify a network protocol or feature. • Utilizes the CQEkit libraries for APIs• Runs on multiple platform.
• Requires Feature Library support.• Switch between CLI and Datamodel(s)
• Support for Yang, Extensible to others • Can be written in multiple frameworks.
Automation Package Structure
Physical view of devices in topology with access info and credentials• Routers• Switches• Servers• Interfaces and Links
Topology File
• Logical Topology Definition.• Interface Definitions(e.g. Bundles, Vlans)• Inputs to control AP flow and scope.• Parametrized Scaling.
AP Input File
Automation Package
Glance at a Components: Testbeds
Glance at a Components: Runs
Public API
Crosswork Qualification Environment page @ DevNet
Resources
• CQE @ Cisco Live! https://www.youtube.com/watch?v=e6VW_biqIUk
• Email us to get access to the CQEkit:[email protected]
• IOS XR at DevNet https://developer.cisco.com/site/ios-xr/