Skip to content

Commit 71f1ec4

Browse files
committed
Fix error chain in dstack-util
1 parent e7751ab commit 71f1ec4

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

dstack-util/src/system_setup.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,8 @@ impl<'a> GatewayContext<'a> {
416416
}
417417
// Read config and make API call
418418
let response = 'out: {
419-
for url in self.shared.sys_config.gateway_urls.iter() {
419+
let mut error = anyhow!("unknown error");
420+
for (i, url) in self.shared.sys_config.gateway_urls.iter().enumerate() {
420421
let response = self
421422
.register_cvm(url, client_key.clone(), client_cert.clone(), pk.clone())
422423
.await;
@@ -426,10 +427,13 @@ impl<'a> GatewayContext<'a> {
426427
}
427428
Err(err) => {
428429
warn!("Failed to register CVM: {err:?}, retrying with next dstack-gateway");
430+
if i == 0 {
431+
error = err;
432+
}
429433
}
430434
}
431435
}
432-
bail!("Failed to register CVM, all dstack-gateway urls are down");
436+
return Err(error).context("Failed to register CVM, all dstack-gateway urls are down");
433437
};
434438
let wg_info = response.wg.context("Missing wg info")?;
435439

@@ -699,7 +703,8 @@ impl<'a> Stage0<'a> {
699703
bail!("No KMS URLs are set");
700704
}
701705
let keys = 'out: {
702-
for kms_url in self.shared.sys_config.kms_urls.iter() {
706+
let mut error = anyhow!("unknown error");
707+
for (i, kms_url) in self.shared.sys_config.kms_urls.iter().enumerate() {
703708
let kms_url = format!("{kms_url}/prpc");
704709
let response = self.request_app_keys_from_kms_url(kms_url.clone()).await;
705710
match response {
@@ -708,10 +713,14 @@ impl<'a> Stage0<'a> {
708713
}
709714
Err(err) => {
710715
warn!("Failed to get app keys from KMS {kms_url}: {err:?}");
716+
// Record the first error
717+
if i == 0 {
718+
error = err;
719+
}
711720
}
712721
}
713722
}
714-
bail!("Failed to get app keys from KMS");
723+
return Err(error).context("Failed to get app keys from KMS");
715724
};
716725
Ok(keys)
717726
}

0 commit comments

Comments
 (0)