Giter VIP home page Giter VIP logo

otg-gnmi's Introduction

OTG gNMI

Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. license release) Build Total alerts Language grade: Python

gNMI interface to get stats from Ixia-C traffic generator

Build

Gitlab is not reachable from within lab network, hence please make sure that the intended system is outside lab network (for build to succeed).

  • Clone this project

    git clone --recursive https://github.com/open-traffic-generator/otg-gnmi.git
    cd otg-gnmi/
  • For Production

    # this stage will create an intermediate, untagged image; feel free to get rid of it afterwards
    docker build -t otg-gnmi-server .
    # start container
    docker run -d --net=host otg-gnmi-server --app-mode athena --target-host localhost --target-port 443
    # [checkout more options]
    docker run -d --net=host otg-gnmi-server help
  • For Development

    # the project uses multi-stage build (defined in same Dockerfile) for both
    # dev and prod environment;
    # hence, to build dev image, you need to explicitly specify target `stage`
    docker build --target=dev -t otg-gnmi-server:dev .
    # Start container and you'll be placed inside the project dir
    docker run -it --net=host otg-gnmi-server:dev
    # [checkout more options]
    docker run -d --net=host otg-gnmi-server:dev help
  • (Optional) Setup VSCode

    After development container is ready,

    • Install Remote Explorer Extension in VSCode
    • Restart VSCode and choose Containers dropdown in Remote Explorer
    • (Optional) If your container is on a remote machine, setup a password-less SSH against it and put following line inside VSCode settings:
      "docker.host": "ssh://username@hostname"
    • If you see the intended container listed, attach to it and change working directory to /home/keysight/ixia-c/otg-gnmi
    • Allow it to install extensions and other tools when prompted

Quick Tour

do.sh covers most of what needs to be done manually. If you wish to extend it, just define a function (e.g. install_deps()) and call it like so: ./do.sh install_deps.

# start otg gnmi server
./do.sh run
# run unit / benchmark / coverage tests against all packages
./do.sh unit
# get unit test deps, generate stubs, run tests
./do.sh art
# build otg gnmi server docker image
./do.sh build

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.