Skip to content
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

Support monitoring USDT probes from multiple ovs-vswitchd processes #339

Open
igsilya opened this issue Jan 31, 2024 · 1 comment
Open
Assignees

Comments

@igsilya
Copy link
Contributor

igsilya commented Jan 31, 2024

In some setups, multiple OVS instances can run on the same host. Main examples would be test deployments, but it might be useful in some production configurations as well, in theory.

Two types of test deployments where we would like to be able to use retis today are:

  • OVN system tests. These can start multiple instance of OVS and OVN in different sandboxes (network namespaces) in order to test cross-"node" traffic.
  • ovn-fake-multinode Similar setup, but designed for small test deployments or used by the ovn-heater to mimic large scale deployments using limited hardware resources. In this case the fake node is a docker/podman container that runs a separate OVS+OVN stack. All containers are connected by another instance of OVS on the host that also connects to similar deployments on different physical hosts.

As we can see in this case multiple instances of ovs-vswitchd are managing the datapath in their own namespaces, so will have different handler threads and different OpenFlow rules. Would be great to be able to track the packet from one sandbox to another including upcalls handled by different ovs-vswitchd processes, i.e. see USDT probes generated by all the instances.

Should be useful for debugging production OVN issues when someone managed to reproduce it with a system test or within a fake-multinode setup.

@amorenoz
Copy link
Contributor

amorenoz commented Feb 2, 2024

Thanks @igsilya for the suggestion. Indeed I have been wanting to add this for a while. In fact I also wanted to include kind deployments.

A possible inconvenient that would difficult user-friendliness is the fact that retis needs to access the ovs-vswitchd binary (and possibly the shared libraries) in order to extract USDT addresses so in the case of containers, we need to bind-mount them.

@amorenoz amorenoz self-assigned this Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants