opendut
opendut copied to clipboard
Explore the possibilities to acquire OpenDuT related network metrics
We would like to have information about the connections between EDGARs, more concretely about the connectivity, latency/round-trip-time, bandwidth, and that the MTU limits are set correctly.
Tasks:
0th Step
-
[x] Build rperf client+server and try them out.
Ensure multiple clients per server works as expected.
"Multiple concurrent clients are supported by any given server." https://github.com/opensource-3d-p/rperf
1st Step
- [x] While Cluster is deployed, ping other peers in ClusterAssignment (via their Wireguard IP addresses).
- [x] Publish metric via openTelemetry.
Each peer publishes the RTTs for all other peers.
Given three peers A, B, C: A → B : 30ms A → C : 20ms --- B → A : 20ms B → C : 30ms --- C → A : 20ms C → B : 30ms
2nd Step
- [x] Include rperf into EDGAR Distribution (if rperf proves to be useful).
- [ ] Build rperf in a separate repository and only download it during the build. (To avoid possible licensing issues.)
- [ ] Parse rperf output with
--format jsoninstead of parsing text
3rd Step
- [ ] Assign custom IPs to bridges, communicate those via PeerConfiguration and use them for pings.
This ensures that the ping uses our GRE communication channel, rather than just testing the Wireguard connectivity.
4th Step
- [ ] Publish PeerHealth towards CARL or get from openTelemetry.
- [ ] Show peer's health in LEA/CLEO.
Future
- [ ] Trigger measurements from CARL.
@Lenita-bu takes care of this issue
as rperf is under GPL 3.0 license, we should proceed with the same setup as we use for cannelloni
- dedicated rperf-build repo
- bundle rperf binary with EDGAR tar.gz for distribution including source code and license information