Reduce our Chutney network
Rationale: the network size is proportional to the RAM/CPU usage, so we shouldn’t run a network larger than we need. (Note: the Tor 0.3.2 series that just went stable seems to increase relay memory usage quite drastically for us, so this what was prompted the interest in this ticket.)
Currently we have:
NODES = Authority.getN(4) + \ BridgeAuthority.getN(1) + \ NonExitRelay.getN(20) + \ ExitRelay.getN(10) + \ Bridge.getN(3) + \ BridgeObfs4.getN(3) + \ OnionService.getN(1) + \ Client.getN(1)
but we should be able to get away with the smallest possible network:
NODES = Authority.getN(1) + \ BridgeAuthority.getN(1) + \ NonExitRelay.getN(2) + \ ExitRelay.getN(1) + \ Bridge.getN(1) + \ BridgeObfs4.getN(1) + \ OnionService.getN(1) + \ Client.getN(1)
or similar. Some thoughts:
- What is the lowest number of authorities (incl. bridge authorities) needed for a consensus?
- 2 non-exits + 1 exit is enough, but maybe we want some diversity? I actually cannot come up with any technical argument for this.
- I guess testing one bridge at a time is enough — at least in the current code (ours, Tor Launcher) there’s no difference between the 1 vs many cases.
Feature Branch: test/15211-minimal-tor-network+force-all-tests
- Blocked by #16792 (closed)