Giter Club home page Giter Club logo

sai-challenger's Introduction

SAI Challenger

SAI testing and integration framework for any SAI oriented devices. The main ideas behind SAI-Challenger are:

  • testbed agnostic test cases - test case code does not require any changes for running in any type of environment - HW, emulation, different test equipment, links, servers, etc.;
  • decoupling real SAI RPC implementation from test cases code - test code looks similar for configuring device using Thrift, Redis, etc.;
  • traffic generator agnostic interface - possibility to use both SW and HW traffic generators that support snappi API;
  • fully dockerized environment;

SAI Challenger sources

To get SAI Challenger sources:

git clone https://github.com/opencomputeproject/SAI-Challenger.git
cd SAI-Challenger/
git submodule update --init

Applications

SAI Challenger has many applications. A partial list is below:

  • Virtual and Physical testbeds
  • Testing and debugging libsai using saithrift, independent of any Network Operating System (NOS)
  • SONiC-SAI Integration and test using sairedis
  • CI/CD and regression testing of virtual or physical DUTs
  • DUT performance testing using HW traffic generators
  • PHY (transceiver) device testing & qualification
  • Ubrella test harness for native SAI Challenger test cases as well as legacy SAI-PTF test cases, using a single-pane-of-glass to reduce testbed complexity.

Use-case scenarios

SAI Challenger has many configuration options, resulting in numerous permutations of:

  • Physical or virtual DUT testing
  • DUT Configuration APIs - saithrift or sairedis
  • Dataplane (packet test) - PTF/Scapy or OTG/snappi.

See Use-Cases README for more details.

Architecture

User guides

Running tests

Porting SAI Challenger to new platform

For more information on how port SAI Challenger to new platform, please refer to Porting Guide document.

SAI Challenger internals

For more information on how SAI Challenger operates on SAI, please refer to SAI operation document.

sai-challenger's People

Contributors

andriy-kokhan avatar taras-keryk-plv avatar liliya-kokhan avatar yuriilisovskyi avatar selldinesh avatar anton7811 avatar vikumarks avatar chrispsommers avatar vitaliy-senchyshyn-plv avatar yhapak avatar antonptashnik avatar kostiantynyarovyibf avatar vitaliibylinka avatar bohdanblavatnyi avatar plvisiondevs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.