15
Rising software quality with Python IOS XR & CQEkit Technical Marketing Manager, MIG, Cisco @xrdocs Mike Korshunov

Rising software quality with Python

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rising software quality with Python

Rising software quality with PythonIOS XR & CQEkit

Technical Marketing Manager, MIG, Cisco

@xrdocs

Mike Korshunov

Page 2: Rising software quality with Python

Mike Korshunov Technical Marketing Manager, MIG

Software engineer in the past, hackathon enthusiast, love to tackle & automate things.

Page 3: Rising software quality with Python

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

Page 4: Rising software quality with Python

Few Metrics to Get Started

10k+Test-cases

available

35+Automation Packages

500+Daily Active Test Runs

350+Contributors on GitHub

Page 5: Rising software quality with Python

Our Own Testing Solution

CQEkit / Smarts Automation PackagesRentable Testbeds

Page 6: Rising software quality with Python

CQEkit

6DGTL-PSOSPG-1013

Page 7: Rising software quality with Python

CQEkit. What’s Inside?

7DGTL-PSOSPG-1013

TextFSM

Page 8: Rising software quality with Python

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

Page 9: Rising software quality with Python

Glance at a Components: Packages

Page 10: Rising software quality with Python

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

Page 11: Rising software quality with Python

Glance at a Components: Testbeds

Page 12: Rising software quality with Python

Glance at a Components: Runs

Page 13: Rising software quality with Python

Public API

Crosswork Qualification Environment page @ DevNet

Page 14: Rising software quality with Python

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/

Page 15: Rising software quality with Python