[tor-commits] [chutney/master] wait_for_bootstrap: wait for the nodes in the current phase.

nickm at torproject.org nickm at torproject.org
Fri Jun 26 13:34:43 UTC 2020


commit 628833311eeb70864e616cf6d008e4bb9d26995c
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jun 24 10:49:23 2020 -0400

    wait_for_bootstrap: wait for the nodes in the current phase.
    
    We want to launch phase 1, wait for it to bootstrap, then launch
    phase 2, then etc.
---
 lib/chutney/TorNet.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/chutney/TorNet.py b/lib/chutney/TorNet.py
index 8e8a151..ff1e894 100644
--- a/lib/chutney/TorNet.py
+++ b/lib/chutney/TorNet.py
@@ -1380,9 +1380,13 @@ class LocalNodeController(NodeController):
         if not consensus_member and not bridge_member:
             return None
 
+        launch_phase = _THE_NETWORK._dfltEnv['launch_phase']
+
         # at this point, consensus_member == not bridge_member
         directory_files = dict()
         for node in _THE_NETWORK._nodes:
+            if node._env['launch_phase'] > launch_phase:
+                continue
             nick = node._env['nick']
             controller = node.getController()
             node_files = controller.getNodeCacheDirInfoPaths(consensus_member)
@@ -1950,6 +1954,7 @@ DEFAULTS = {
 
     'CUR_CONFIG_PHASE': getenv_int('CHUTNEY_CONFIG_PHASE', 1),
     'CUR_LAUNCH_PHASE': getenv_int('CHUTNEY_LAUNCH_PHASE', 1),
+    'CUR_BOOTSTRAP_PHASE': getenv_int('CHUTNEY_BOOTSTRAP_PHASE', 1),
 
     # sandbox: the Sandbox torrc option value
     # defaults to 1 on Linux, and 0 otherwise
@@ -2366,8 +2371,10 @@ class Network(object):
         start = time.time()
         limit = start + getenv_int("CHUTNEY_START_TIME", 60)
         next_print_status = start + Network.PRINT_NETWORK_STATUS_DELAY
+        bootstrap_upto = self._dfltEnv['CUR_LAUNCH_PHASE']
 
-        controllers = [n.getController() for n in self._nodes]
+        controllers = [n.getController() for n in self._nodes
+                       if n._env['launch_phase'] <= bootstrap_upto ]
         min_time_list = [c.getMinStartTime() for c in controllers]
         min_time = max(min_time_list)
         wait_time_list = [c.getUncheckedDirInfoWaitTime() for c in controllers]





More information about the tor-commits mailing list