@@ -253,41 +253,50 @@ def deploy_fork_observer(directory: Path, debug: bool) -> bool:
253253
254254def deploy_network (directory : Path , debug : bool = False , namespace : Optional [str ] = None ):
255255 network_file_path = directory / NETWORK_FILE
256- defaults_file_path = directory / DEFAULTS_FILE
257-
258256 namespace = get_default_namespace_or (namespace )
259257
260258 with network_file_path .open () as f :
261259 network_file = yaml .safe_load (f )
262260
261+ processes = []
263262 for node in network_file ["nodes" ]:
264- click .echo (f"Deploying node: { node .get ('name' )} " )
265- try :
266- temp_override_file_path = ""
267- node_name = node .get ("name" )
268- node_config_override = {k : v for k , v in node .items () if k != "name" }
269-
270- cmd = f"{ HELM_COMMAND } { node_name } { BITCOIN_CHART_LOCATION } --namespace { namespace } -f { defaults_file_path } "
271- if debug :
272- cmd += " --debug"
263+ p = Process (target = deploy_single_node , args = (node , directory , debug , namespace ))
264+ p .start ()
265+ processes .append (p )
273266
274- if node_config_override :
275- with tempfile .NamedTemporaryFile (
276- mode = "w" , suffix = ".yaml" , delete = False
277- ) as temp_file :
278- yaml .dump (node_config_override , temp_file )
279- temp_override_file_path = Path (temp_file .name )
280- cmd = f"{ cmd } -f { temp_override_file_path } "
267+ for p in processes :
268+ p .join ()
281269
282- if not stream_command (cmd ):
283- click .echo (f"Failed to run Helm command: { cmd } " )
284- return
285- except Exception as e :
286- click .echo (f"Error: { e } " )
270+ def deploy_single_node (node , directory : Path , debug : bool , namespace : str ):
271+ defaults_file_path = directory / DEFAULTS_FILE
272+ click .echo (f"Deploying node: { node .get ('name' )} " )
273+ temp_override_file_path = ""
274+ try :
275+ node_name = node .get ("name" )
276+ node_config_override = {k : v for k , v in node .items () if k != "name" }
277+
278+ defaults_file_path = directory / DEFAULTS_FILE
279+ cmd = f"{ HELM_COMMAND } { node_name } { BITCOIN_CHART_LOCATION } --namespace { namespace } -f { defaults_file_path } "
280+ if debug :
281+ cmd += " --debug"
282+
283+ if node_config_override :
284+ with tempfile .NamedTemporaryFile (
285+ mode = "w" , suffix = ".yaml" , delete = False
286+ ) as temp_file :
287+ yaml .dump (node_config_override , temp_file )
288+ temp_override_file_path = Path (temp_file .name )
289+ cmd = f"{ cmd } -f { temp_override_file_path } "
290+
291+ if not stream_command (cmd ):
292+ click .echo (f"Failed to run Helm command: { cmd } " )
287293 return
288- finally :
289- if temp_override_file_path :
290- Path (temp_override_file_path ).unlink ()
294+ except Exception as e :
295+ click .echo (f"Error: { e } " )
296+ return
297+ finally :
298+ if temp_override_file_path :
299+ Path (temp_override_file_path ).unlink ()
291300
292301
293302def deploy_namespaces (directory : Path ):
0 commit comments