Git Product home page Git Product logo

vpp-probe's People

Contributors

adodon2go avatar dependabot[bot] avatar ondrej-fabry avatar tiswanso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vpp-probe's Issues

Add export capability

It would be great to be able to export the whole trace as text. This can enable to perform actions that are not yet implemented in vpp-probe.

Doesn't work with pure VPP docker container

How to repoduce:
docker run -d --name vpp -P --privileged ligato/vpp-base:20.09
vpp-probe --env docker -D discover

What was expected:
working UI showing info about VPP running in docker container

What i got:
Failure:

➜  ~ docker run -d --name vpp -P --privileged ligato/vpp-base:20.09
0e66ea6ddba7d7327983c28bcb6a4e02162ba6a305025276ab9d79bf80b0d57a
➜  ~ vpp-probe --env docker -D discover                            
DEBU[0000] resolved env: docker                         
DEBU[0000] adding 1 providers                           
DEBU[0000] docker provider unix:///var/run/docker.sock@dev-VirtualBox connected 
DEBU[0000] -> 0 queries to run                          
DEBU[0000] running query:                               
DEBU[0000] listing containers (options: {All:false Size:false Limit:0 Since: Before: Filters:map[] Context:<nil>}) 
DEBU[0000] 1 containers listed                          
DEBU[0000] found 1 containers                           
DEBU[0000] connecting to proxy 172.17.0.2:9191           container=/vpp
DEBU[0000] Binary API init error: connecting to proxy failed: connection error:dial tcp 172.17.0.2:9191: connect: connection refused 
DEBU[0000] connecting to proxy 172.17.0.2:9191           container=/vpp
DEBU[0000] Stats API init error: connecting to proxy failed: connection error:dial tcp 172.17.0.2:9191: connect: connection refused 
DEBU[0000] vpp agent not detected                       
DEBU[0000] discovered 1 vpp instances                   
DEBU[0000] agent not found for instance vpp::vpp-0e66ea6ddba7 

PS: i did used up to date vpp docker image

Doesn't work with VPP-Agent docker container

How to repoduce:
docker run -d --privileged -e ETCD_CONFIG="disabled" -P --rm --name vppagent ligato/vpp-agent:latest
vpp-probe --env docker -D discover

What was expected:
working UI showing info about VPP running in docker container

What i got:
Failure:

➜  ~ docker run -d --privileged -e ETCD_CONFIG="disabled" -P --rm --name vppagent ligato/vpp-agent:latest
e30fd828598fc4b2a92e64248458b43dfaf061029bf7ccb86da0e27838255ef8
➜  ~ vpp-probe --env docker -D discover                                                                  
DEBU[0000] resolved env: docker                         
DEBU[0000] adding 1 providers                           
DEBU[0000] docker provider unix:///var/run/docker.sock@dev-VirtualBox connected 
DEBU[0000] -> 0 queries to run                          
DEBU[0000] running query:                               
DEBU[0000] listing containers (options: {All:false Size:false Limit:0 Since: Before: Filters:map[] Context:<nil>}) 
DEBU[0000] 1 containers listed                          
DEBU[0000] found 1 containers                           
DEBU[0000] vpp instance init failed: CLI version check: pod exec docker exec command failed (exit code 1): clib_socket_init: connect (fd 3, '/run/vpp/cli.sock'): No such file or directory  instance=vppagent-e30fd828598f
FATA[0000] ERROR: no instances discovered 

PS: i did used up to date vpp-agent docker image

Simplify first usage

It would be great to the one line command to start vpp-probe. Even one line installation would be great (it would be with one line vpp-probe start only 2 commands).

kubecontext option doesn't work with AWS EKS context format

AWS EKS kubeconfig format uses ARNs as the contexts and that causes issues with the vpp-probe --kubecontext parser because : is a context field separator. I think the actual solution here is to just allow multiple kubeconfig files in the --kubeconfig option.

> kubectl config get-contexts
CURRENT   NAME                                                           CLUSTER                                                        AUTHINFO                                                       NAMESPACE
*         arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-c    arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-c    arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-c1
          arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m1   arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m1   arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m1
          arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m2   arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m2   arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m2
> ctx1=arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-c1
> ctx2=arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m1
> ctx3=arn:aws:eks:us-west-1:abcdefghi123:cluster/tiswanso-m2
> vpp-probe discover --kubecontext="$ctx2,$ctx3"  
FATA[0000] ERROR: controller setup error: context "arn" does not exist

Search capability

It would be great to search the whole trace for text/regular expression. This comes handy when there is a lot of traffic and only partial information is available what should be in the packet (IP address or port or interface name). You should be able to find single or multiple occurences of searched text/regular expression.

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.