Giter Site home page Giter Site logo

aristanetworks / openmgmt Goto Github PK

View Code? Open in Web Editor NEW
66.0 21.0 32.0 25.92 MB

Documentation and examples for using open network management tools such as OpenConfig

Home Page: https://aristanetworks.github.io/openmgmt/

License: Apache License 2.0

Go 93.43% Python 6.57%
grpc arista arista-automation gnmi network-automation yang openconfig arista-networks ygot restconf

openmgmt's Introduction

GitHub example workflow Arista

Overview

Welcome to the OpenMgmt project. aristanetworks.github.io/openmgmt

This repository contains documentation and examples for using open network management tools with Arista's EOS platforms. These network management protocols include OpenConfig, NETCONF, RESTCONF and others as appropriate. Contributions, corrections and comments are most welcome. Details regarding how you can contribute, can be found in the contribution guide

openmgmt's People

Contributors

burnyd avatar chadell avatar colinmacgiolla avatar dgarros avatar fdomain avatar fredhsu avatar juliopdx avatar ksator avatar mpergament avatar noredistribution avatar peejaychilds avatar prachimodi365 avatar rmomin-arista avatar sulrich avatar uchihaitachisama avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openmgmt's Issues

add more cli origin examples

Eg
1)

gnmic -a 10.83.13.214:6030 -u cvpadmin -p arista --insecure --gzip set --request-file bgp.yaml
{
  "timestamp": 1628091791855672771,
  "time": "2021-08-04T16:43:11.855672771+01:00",
  "results": [
    {
      "operation": "UPDATE",
      "path": "cli:"
    },
    {
      "operation": "UPDATE",
      "path": "cli:"
    }
  ]
}
cat bgp.yaml
updates:
 - path: "cli:"
   value: router bgp 65101
   encoding: ascii
 - path: "cli:"
   value: neighbor IPv4-UNDERLAY-PEERS maximum-routes 15500
   encoding: ascii
gnmic -a 10.83.13.214:6030 -u cvpadmin -p arista --insecure --gzip --encoding ASCII set --update-path "cli:" --update-value "router bgp 65101" --update-path "cli:" --upda
te-value "neighbor IPv4-UNDERLAY-PEERS maximum-routes 13500"
{
  "timestamp": 1628091405938523430,
  "time": "2021-08-04T16:36:45.93852343+01:00",
  "results": [
    {
      "operation": "UPDATE",
      "path": "cli:"
    },
    {
      "operation": "UPDATE",
      "path": "cli:"
    }
  ]
}
gnmi -addr 10.83.13.214:6030 -username cvpadmin -password arista update origin=cli "" "router bgp 65101
neighbor IPv4-UNDERLAY-PEERS maximum-routes 12500"

add pyangbing

  • generate a python class from yang
  • use python and json to generate an OC conf
  • use gnmic to push this OC conf

add topics to the repo

could you please add some topics to the current list (top right of repo homepage). we dont have permissions :-)
I suggest you add to the current list these ones: ygot, netconf, restconf, grpcurl, pyang, telemetry, streaming, pygnmi, eos, gnmic, gnoi, go .... The limit is 20.

add multi-key examples for restconf

e.g.:

curl -s GET  --insecure --header 'Accept: application/yang-data+json' -u cvpadmin:arastra 'https://192.0.2.100:5900/restconf/data/network-instances/network-instance=default/protocols/protocol=BGP,BGP/bgp/neighbors' | jq

ygot demo: no such file or directory

~/openmgmt/src/ygot$ go run $GOPATH/src/github.com/openconfig/ygot/generator/generator.go -path=yang -output_file=pkg/oc.go -package_name=oc -generate_fakeroot -fakeroot_name=device -compress_paths=true  yang/openconfig-system.yang
stat /src/github.com/openconfig/ygot/generator/generator.go: no such file or directory

I dont have ygot:

~/openmgmt/src/ygot$ ls $GOPATH/src/github.com/openconfig/
gnmi  gnoi

I had to add this

git clone https://github.com/openconfig/ygot.git $GOPATH/src/github.com/openconfig/ygot

to fix it

@burnyd should we update the example with this instruction?

add a TIG stack using gNMI

  • add a docker-compose file for a TIG stack using gNMI
  • include some Grafana dashboards
  • include some influxDB cli queries (examples)

examples and configurations should use documentation address (RFC5737) ranges

there's widespread use of 1918 address ranges within the documentation. these should be replaced with the IP address ranges allocated for documentation.

  • update existing documentation to use documentation ranges
  • probably useful to have a check for this as part of PR submissions
  • style guide should include this guidance
    • non-documentation ranges within show command output is acceptable
    • configuration/command examples should use documentation ranges.

reference

IPv6 range:

  • 2001:DB8::/32

IPv4 ranges:

  • 192.0.2.0/24 (TEST-NET-1)
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

Add ygot

Add parsing of ygot for a few examples related to adding system information, bgp hostname etc.

update example code to use command line args where applicable

much of the example code in the repo uses hardcoded values. while useful in demonstrating the concepts, it does make it a bit more challenging to use these examples quickly or to build off them for tools, etc.

it would be useful to replace the hardcoded options with relevant command-line arguments and flags.

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.