Description
Latencies between nodes in testnets used for end-to-end (e2e) tests and for quality assurance (QA) experiments are not realistic. In the case of e2e tests, nodes are running in docker images and the network latency between nodes are negligible (localhost). In the case of QA experiments, they are currently performed in Digital Ocean (DO) with all nodes located in the same availability zone/region; latency between nodes are the ones expected for a local-area (LAN) setup. In production networks, however, run in geographically distributed environments, with substantial (WAN) latencies between participant nodes. The infrastructure used for e2e testing and for QA experiments thus fail to reproduce the latencies observed in production networks.
The Linux kernel includes Network Emulation features that can be controlled using the tc
command. The goal of this issue is then to produce infrastructure tools to emulate realistic latencies between nodes running in a testnet, targeting both the Docker provider used for e2e tests and the Digital Ocean provider used in QA experiments.
Definition of Done
- Document the methodology to emulate latencies between testnet nodes
- e2e: Support emulated latencies between docker images #1560
- e2e: Implement latency emulation for DigitalOcean #1587