[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [chutney/master] README: Document "wait for relays in the consensus"
commit f40871d780fcc4d095ea955261465a3e67f28f52
Author: teor <teor@xxxxxxxxxxxxxx>
Date: Wed Feb 19 20:57:50 2020 +1000
README: Document "wait for relays in the consensus"
Part of 33379.
---
README | 47 +++++++++++++++++++++++++++++++++--------------
1 file changed, 33 insertions(+), 14 deletions(-)
diff --git a/README b/README
index 0d14d64..0f4cf4c 100644
--- a/README
+++ b/README
@@ -162,32 +162,51 @@ Bootstrapping the network:
Chutney expects a tor network to bootstrap in these stages:
1. All directory authorities (DirAuths) bootstrap to 100%.
2. The DirAuths produce the first consensus.
-
- 3. Relays bootstrap to 100%.
- 4. Relays with "AssumeReachable 1" publish their descriptors to the
+ Usually, this consensus only contains authorities.
+ 3. The DirAuths produce a bootstrap consensus.
+ This consensus has enough relays for:
+ * clients and relays to bootstrap, and
+ * relays to perform reachability self-tests.
+ Usually, this consensus needs at least 3 nodes.
+ This consensus is usually the first or second consensus.
+
+ 4. Relays bootstrap to 100%.
+ 5. Relays with "AssumeReachable 1" publish their descriptors to the
DirAuths.
- 5. The DirAuths produce a consensus containing enough nodes for
- relay reachability self-tests (usually 3 nodes).
6. Relays perform ORPort reachability self-tests.
If the consensus contains at least 1 exit, relays also perform DirPort
reachability self-tests.
7. Relays publish their descriptors to the DirAuths.
- 8. The DirAuths produce a consensus containing all authorities (including
- the bridge authority, if present) and all relays.
+ 8. The DirAuths produce a full consensus. A full consensus contains:
+ * the authorities
+ * any bridge authorities, if present, and
+ * all relays (including exits).
+ Bridges, clients, and onion services are not included in the consensus.
9. Clients bootstrap to 100%.
- (Clients start bootstrapping as soon as the first consensus is
- available.)
+ (Clients can bootstrap as soon as the consensus contains enough nodes,
+ so step 9 depends on step 3, not step 8.)
10. Onion Services publish their descriptors to Onion Service directories
(otherwise known as hidden service directories, or HSDirs).
The tools/test-network.sh script uses the chutney wait_for_bootstrap
- command to wait for up to CHUTNEY_START_TIME seconds (default: 120), checking
- whether the logged bootstrapped status for every node is 100% (step 9). If
- all the nodes have bootstrapped, wait_for_bootstrap succeeds. If some nodes
- have not bootstrapped, wait_for_bootstrap dumps the bootstrap statuses, and
- exits with a failure.
+ command to wait for the network to bootstrap. wait_for_bootstrap waits up to
+ CHUTNEY_START_TIME seconds (default: 120), checking whether the logged
+ bootstrapped status for every node is 100% (step 9). Once all the nodes have
+ bootstrapped, wait_for_bootstrap starts waiting for a full consensus.
+
+ When waiting for a full consensus, wait_for_bootstrap checks if each relay
+ is in the consensus (step 8). Once all the relays are in the consensus,
+ wait_for_bootstrap succeeds.
+
+ If the time limit has elapsed, and some nodes have not bootstrapped, or
+ there are some nodes missing from the consensus, wait_for_bootstrap dumps the
+ bootstrap statuses, and exits with a failure.
+
+ (wait_for_bootstrap does not check if all the onion services have published
+ their descriptors to the HSDirs. But we would like to implement that feature
+ some time.)
Verifying the network:
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits