[pve-devel] [PATCH installer] auto: add some error context when loading the first-boot executable
Christoph Heiss
c.heiss at proxmox.com
Tue Apr 8 11:06:08 CEST 2025
At least to one user in the forum already ran into this IIRC, and most
recently Maximiliano too.
This can happen when e.g. copying example answer files with the
first-boot section, without then passing `--on-first-boot` to
proxmox-auto-install-assistant.
In that case, the user would just get a pretty unhelpful error message:
ERROR: Autoinstaller setup error: No such file or directory (os error 2)
Attach some context, which points the user directly to the corresponding
setting / answer file section.
Reported-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
proxmox-auto-installer/src/bin/proxmox-auto-installer.rs | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/proxmox-auto-installer/src/bin/proxmox-auto-installer.rs b/proxmox-auto-installer/src/bin/proxmox-auto-installer.rs
index 05d1801..b248dff 100644
--- a/proxmox-auto-installer/src/bin/proxmox-auto-installer.rs
+++ b/proxmox-auto-installer/src/bin/proxmox-auto-installer.rs
@@ -1,4 +1,4 @@
-use anyhow::{Result, bail, format_err};
+use anyhow::{Context, Result, bail, format_err};
use log::{LevelFilter, error, info};
use std::{
env,
@@ -47,7 +47,9 @@ fn setup_first_boot_executable(first_boot: &FirstBootHookInfo) -> Result<()> {
}
}
FirstBootHookSourceMode::FromIso => {
- Some(fs::read(format!("/cdrom/{FIRST_BOOT_EXEC_NAME}"))?)
+ Some(fs::read(format!("/cdrom/{FIRST_BOOT_EXEC_NAME}")).context(
+ "failed loading first-boot executable from ISO (was --on-first-boot specified?)",
+ )?)
}
};
@@ -115,7 +117,7 @@ fn main() -> ExitCode {
let (answer, udevadm_info) = match auto_installer_setup(in_test_mode) {
Ok(result) => result,
Err(err) => {
- error!("Autoinstaller setup error: {err}");
+ error!("Autoinstaller setup error: {err:#}");
return ExitCode::FAILURE;
}
};
--
2.48.1
More information about the pve-devel
mailing list