O1.3 - Integration test Tor relays over IPv6 using chutney
Test the implementation of Sponsor 55, using chutney. For details, see: Proposal 311: Tor Relay IPv6 Reachability: https://gitweb.torproject.org/torspec.git/tree/proposals/311-relay-ipv6-reachability.txt Proposal 312: Tor Relay Automatic IPv6 Address Discovery: https://gitweb.torproject.org/torspec.git/tree/proposals/312-relay-auto-ipv6-addr.txt Proposal 313: Tor Relay IPv6 Statistics: https://gitweb.torproject.org/torspec.git/tree/proposals/313-relay-ipv6-stats.txt See the implementation order in: * Objective 1.1 - legacy/trac#33048 * Objective 1.2 - legacy/trac#33049 * Objective 1.4 - legacy/trac#33051 * Objective 1.5 - legacy/trac#33052 Children: * [x] tor#33280 Add a "make test-network-ipv6" target, which runs IPv6 chutney networks * [x] chutney#33793 Avoid some race conditions when running chutney networks in series * [x] chutney#33675 Search microdescriptor files for relay ed25519 keys * [x] chutney#33676 Stop waiting a set time for microdescriptors * [x] tor#33300 Add a basic IPv6 test to "make test-network" * [x] chutney#33428 Make chutney check for relay microdescriptors before verifying * [x] chutney#33302 Run bridges+hs-v23 as Chutney's default network * [x] tor#33303 Travis: Only run IPv6 chutney tests on macOS * [x] chutney#33304 Chutney tries to convert empty pid string to integer * [x] tor#4631 Idea to make consensus voting more resistant * [x] tor#32792 Copy chutney CI diagnostics to Tor's chutney job * [ ] chutney#33825 Make Environ handle "in" and "get()" like a dict * [x] chutney#33957 Unexpected keyword argument 'bufsize' in subprocess.check_output() * [x] tor#33194 Sort Travis jobs in speed order * [x] tor#33195 Require IPv6 tests in Travis CI * [ ] tor#33582 Make bridges wait until they have bootstrapped, before publishing their descriptor * [x] chutney#33583 Stop setting AssumeReachable on chutney relays and bridges * [x] tor#28208 Run bridges+hs-v23 for make test-network * [x] chutney#33333 Add a mixed+hs-v23-ipv6 network to chutney * [x] tor#33334 Add a mixed+hs-v23-ipv6 network to tor's test-network * [x] chutney#33595 Stop waiting for unchecked directory info * [x] chutney#33596 Fix or disable mixed+hs-v2 for Tor 0.3.5 * [ ] chutney#33598 chutney does not fail on some SOCKS errors * [x] chutney#33353 Split chutney's diagnostics into a new script * [x] chutney#33609 Check that onion services have successfully posted descriptors before verifying * [x] chutney#33228 Prop 311: 6.1. Test IPv6 ORPort Reachability using Chutney * [x] tor#33358 Update dir-spec for consensus voting improvements * [ ] chutney#33231 Prop 311: 6.3. Test Legacy Relays Accept IPv6 Extends using Chutney * [x] chutney#33232 Test IPv4 Reachability using Chutney * [x] chutney#33615 Wait for at least 60 seconds for 0.3.5 and earlier to bootstrap * [x] chutney#33376 Update the networks in Chutney's CI to match Tor's new test-network* * [x] chutney#33250 Test IPv4 Address Detection using Chutney * [x] chutney#33251 Prop 312: 5.1. Test Relay IPv6 Addresses Discovery using Chutney * [x] chutney#33378 Require chutney node bootstrap before running verify * [x] chutney#33379 Make chutney wait for all relays in the consensus before verifying * [ ] chutney#34037 Make chutney check tor's logs for reachability self-test success * [x] tor#33918 Stop truncating IPv6 addresses in channel logs
issue