Rising software quality with Python

Preview:

Citation preview

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:cqe-interest@cisco.com

• IOS XR at DevNet https://developer.cisco.com/site/ios-xr/

Recommended