refactor(local-runner): simplify error mapping

This commit is contained in:
andrussal 2025-12-15 23:19:13 +01:00
parent 26dfa1b795
commit 94db9af3a7

View File

@ -104,11 +104,12 @@ impl LocalDeployer {
let topology = descriptors.clone().spawn_local().await; let topology = descriptors.clone().spawn_local().await;
let skip_membership = !membership_check; let skip_membership = !membership_check;
if let Err(source) = wait_for_readiness(&topology, skip_membership).await { wait_for_readiness(&topology, skip_membership)
debug!(error = ?source, "local readiness failed"); .await
.map_err(|source| {
return Err(LocalDeployerError::ReadinessFailed { source }); debug!(error = ?source, "local readiness failed");
} LocalDeployerError::ReadinessFailed { source }
})?;
info!("local nodes are ready"); info!("local nodes are ready");
Ok(topology) Ok(topology)
@ -149,17 +150,21 @@ async fn spawn_block_feed_with(
"selecting validator client for local block feed" "selecting validator client for local block feed"
); );
let block_source_client = node_clients.random_validator().cloned().ok_or_else(|| { let Some(block_source_client) = node_clients.random_validator().cloned() else {
LocalDeployerError::WorkloadFailed { return Err(LocalDeployerError::WorkloadFailed {
source: "block feed requires at least one validator".into(), source: "block feed requires at least one validator".into(),
} });
})?; };
info!("starting block feed"); info!("starting block feed");
spawn_block_feed(block_source_client) spawn_block_feed(block_source_client)
.await .await
.map_err(|source| LocalDeployerError::WorkloadFailed { .map_err(workload_error)
source: source.into(), }
})
fn workload_error(source: impl Into<DynError>) -> LocalDeployerError {
LocalDeployerError::WorkloadFailed {
source: source.into(),
}
} }