-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Expose FRR /var/run/frr (frr sockets) to the host system #2627
Comments
Does it mean that other processes have a chance to close these socket? I am not familiar FRR, is there any interfaces like fpm can do similar operations? |
Hi @gord1306 , It would mean that any process that lives on the host system would be able to read or write to the frr (and quagga as well. If we are doing one, we should do the other.) configuration. The closing of the sockets should only occur when the frr/quagga daemons stop (in their own container). My goal with this is that I, and perhaps other users, would like to be able to share those sockets, via docker volume mounts, to other containers. By being able to communicate with the sockets directly you can gather all sorts of statistics by directly querying the socket, and pushing out/exposing telemetry / configuration state data (not via snmp). eg:
With access to those sockets, you can programmatically shove those commands right in there, and get easily consumable output. We would need to change the frr/quagga startup scripts (at the least) to get the socket path into the host system. Does that help clarify what I'm looking for? |
Will need to take some time to look into this. We can discuss in one of the community meetings. |
Thanks @xinliu-seattle, Can we Please keep the ticket posted as to when that community meeting will be so that I may participate? Otherwise will try to keep tabs on the mailing group threads. Thanks! |
Done. |
swss: * f28d6622 2023-01-25 | [portinit] Do not call GET on SAI_PORT_ATTR_SPEED when AUTONEG is enabled (sonic-net#2484) (sonic-net#2639) (github/202012, 202012) [Ying Xie] * 217f7f00 2023-01-21 | Cherry pick of sonic-net/sonic-swss#2589 (sonic-net#2627) [siqbal1986] Signed-off-by: Ying Xie <ying.xie@microsoft.com>
swss: * f28d6622 2023-01-25 | [portinit] Do not call GET on SAI_PORT_ATTR_SPEED when AUTONEG is enabled (#2484) (#2639) (github/202012, 202012) [Ying Xie] * 217f7f00 2023-01-21 | Cherry pick of sonic-net/sonic-swss#2589 (#2627) [siqbal1986] Signed-off-by: Ying Xie <ying.xie@microsoft.com> Signed-off-by: Ying Xie <ying.xie@microsoft.com>
This is more of a query, than anything.
I would like to expose the frr socket path (/var/run/frr) to the host system. That is so it could be shared with other containers, where desired. I find it useful to be able to utilize the various frr .vty sockets to gather information about the routing daemons (eg: gather output from
show ip bgp sum json
for example), and expose that metrics to other tools like prometheus. (It's 2019 and saddens me that snmp is still so prevalent, so it'll be nice to also have a knob to disable it like in #2622 ... )I am curious about other people's opinions about this, and if people are amenable, then where I might be able to implement that.
I've been able to take a first pass on my own by just modifying the /usr/bin/bgp.sh script on the host system and exposing the docker volumes. I would much prefer to get that into the build, but I haven't been able to find where the bgp.sh is created in the sonic-buildimage repo. I'll keep hunting for other repos, too. On top of that, we would also probably want to add the FRR users/group on the host system, to ensure we can sanely keep track of permissions on the directory on the host. I am also sure I'm missing some.
thanks for your input!
stegen
The text was updated successfully, but these errors were encountered: