From 49aa9352c52b92e9bc4326080c87c9a6a0a97813 Mon Sep 17 00:00:00 2001 From: diogo464 Date: Sat, 23 Aug 2025 17:18:51 +0100 Subject: remove existing containers on net up/down --- src/main.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index b964d95..46e660a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -252,6 +252,7 @@ async fn cmd_net_up(args: NetUpArgs) -> Result<()> { .context("parsing latency matrix")?; let machines = oar::job_list_machines(&context).await?; let configs = machine_generate_configs(&matrix, args.matrix_wrap, &machines, &args.addresses)?; + machines_containers_clean(&context, &machines).await?; machines_net_container_build(&context, &machines).await?; machines_clean(&context, &machines).await?; machines_configure(&context, &configs).await?; @@ -261,6 +262,7 @@ async fn cmd_net_up(args: NetUpArgs) -> Result<()> { async fn cmd_net_down(args: NetDownArgs) -> Result<()> { let context = context_from_common(&args.common).await?; let machines = oar::job_list_machines(&context).await?; + machines_containers_clean(&context, &machines).await?; machines_net_container_build(&context, &machines).await?; machines_clean(&context, &machines).await?; Ok(()) @@ -400,7 +402,7 @@ async fn cmd_run(args: RunArgs) -> Result<()> { let containers = parse_schedule(&schedule)?; let machines = oar::job_list_machines(&ctx).await?; - machine::for_each(&machines, |machine| machine_containers_clean(&ctx, machine)).await?; + machines_containers_clean(&ctx, &machines).await?; machine::for_each(&machines, |machine| { let ctx = ctx.clone(); let containers = containers @@ -487,10 +489,7 @@ async fn cmd_clean(args: CleanArgs) -> Result<()> { let context = context_from_common(&args.common).await?; let machines = oar::job_list_machines(&context).await?; machines_net_container_build(&context, &machines).await?; - machine::for_each(&machines, |machine| { - machine_containers_clean(&context, machine) - }) - .await?; + machines_containers_clean(&context, &machines).await?; machines_clean(&context, &machines).await?; Ok(()) } @@ -705,6 +704,12 @@ async fn machines_clean(ctx: &Context, machines: &[Machine]) -> Result<()> { Ok(()) } +#[tracing::instrument(ret, err, skip_all)] +async fn machines_containers_clean(ctx: &Context, machines: &[Machine]) -> Result<()> { + machine::for_each(machines, |machine| machine_containers_clean(&ctx, machine)).await?; + Ok(()) +} + #[tracing::instrument(ret, err, skip_all)] async fn machines_net_container_build(ctx: &Context, machines: &[Machine]) -> Result<()> { tracing::info!("building networking container for machines: {machines:?}"); -- cgit