New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extended Visibility for Host Routing #96
Comments
I was finally able to start working on this. Just created WIP PR. For now there are 3 GET endpoints. Endpoint /show/route:
Can you tell me what Endpoint: /show/bgp
Same question about show bgp vrf all ipv4/ipv6 unicast <input> json be a valid command?
|> Example: /show/bgp?vrf=<vrf>&type=summary Endpoint /show/evpn:
|
@p-strusiewiczsurmacki-mobica It would be good to sanitise the values, input should be parsed through
|
@chdxD1 OK, I've made changes you've requested (I hope it'll be OK now). I've also added global endpoints:
If any pod will be queried with those it will pass those requests to all the network operator pods and will return response in form of: "hostname1": "hostname2": I don't really have setup to fully test this using frr, but I'll try to check if this works when queried using a service, and I'll also try to add some unit tests. |
@p-strusiewiczsurmacki-mobica I've commented on the MR
I'll try it out soon |
@chdxD1 - services are now used for discovery. See my comment in the PR for more details. |
As of today we have to connect to all nodes one-by-one, open
vtysh
and run debug commands. This is a rather tedious process.I'd like to propose an API endpoint on each of the monitoring containers (where it is probably best suited because we already have a vtysh connection and methods around querying it) that gathers this information on each node.
In addition to that there should be another endpoint that allows retrieving information from all nodes in a cluster by querying just one network-operator pod, this could be achieved by using Kubernetes service or pod discovery.
List of commands that should be implemented (all output can be returned as is, without any sanitization):
show ip/ipv6 route (vrf <vrf>) <input> json
(with/without longer-prefixes)show bgp (vrf <vrf>) ipv4/ipv6 unicast <input> json
(with/without longer-prefixes)show evpn vni json
show evpn rmac vni <all|vrf> json
show evpn mac vni <all|vrf> json
show evpn next-hops vni <all|vrf> json
show bgp vrf <all|vrf> summary json
The text was updated successfully, but these errors were encountered: