-use anyhow::{anyhow, bail, Error, Result};
+use anyhow::{bail, format_err, Result};
use log::{error, info, LevelFilter};
use std::{
env,
AutoInstLogger::init("/tmp/auto_installer.log")?;
log::set_logger(&LOGGER)
.map(|()| log::set_max_level(LevelFilter::Info))
- .map_err(|err| anyhow!(err))
+ .map_err(|err| format_err!(err))
}
fn auto_installer_setup(in_test_mode: bool) -> Result<(Answer, UdevInfo)> {
let mut path = path.clone();
path.push("run-env-udev.json");
- read_json(&path).map_err(|err| anyhow!("Failed to retrieve udev info details: {err}"))?
+ read_json(&path)
+ .map_err(|err| format_err!("Failed to retrieve udev info details: {err}"))?
};
let mut buffer = String::new();
}
let answer: Answer =
- toml::from_str(&buffer).map_err(|err| anyhow!("Failed parsing answer file: {err}"))?;
+ toml::from_str(&buffer).map_err(|err| format_err!("Failed parsing answer file: {err}"))?;
Ok((answer, udev_info))
}
.stdout
.take()
.map(BufReader::new)
- .ok_or(anyhow!("failed to get stdout reader"))?;
+ .ok_or(format_err!("failed to get stdout reader"))?;
let mut writer = child
.stdin
.take()
- .ok_or(anyhow!("failed to get stdin writer"))?;
+ .ok_or(format_err!("failed to get stdin writer"))?;
serde_json::to_writer(&mut writer, &config)
- .map_err(|err| anyhow!("failed to serialize install config: {err}"))?;
- writeln!(writer).map_err(|err| anyhow!("failed to write install config: {err}"))?;
+ .map_err(|err| format_err!("failed to serialize install config: {err}"))?;
+ writeln!(writer).map_err(|err| format_err!("failed to write install config: {err}"))?;
for line in reader.lines() {
let line = match line {
}
Ok(())
};
- match inner() {
- Err(err) => Err(Error::msg(format!(
- "low level installer returned early: {err}"
- ))),
- _ => Ok(()),
- }
+ inner().map_err(|err| format_err!("low level installer returned early: {err}"))
}
fn run_postinstallation(answer: &Answer) {
-use anyhow::{bail, Error, Result};
+use anyhow::{bail, Result};
use log::info;
use std::{
fs::{self, read_to_string},
}
}
}
- Err(Error::msg("Could not find search domain in resolv.conf."))
+ bail!("Could not find search domain in resolv.conf.");
}
/// Runs a TXT DNS query on the domain provided
-use anyhow::{format_err, Error, Result};
+use anyhow::{bail, format_err, Result};
use log::{info, warn};
use std::{
fs::{self, create_dir_all},
Ok(false) => info!("Did not detect partition with label '{partlabel}'"),
Err(err) => info!("Encountered issue, accessing '{path:?}': {err}"),
}
- Err(Error::msg(format!(
- "Could not detect upper or lower case labels for '{partlabel_source}'"
- )))
+ bail!("Could not detect upper or lower case labels for '{partlabel_source}'");
}
/// Will search and mount a partition/FS labeled PARTLABEL (proxmox-inst-src) in lower or uppercase
Ok(ANSWER_MP.into())
}
}
- Err(err) => Err(Error::msg(format!("Error mounting: {err}"))),
+ Err(err) => bail!("Error mounting: {err}"),
}
}
use std::process::ExitCode;
use std::{fs, path::PathBuf};
-use anyhow::{anyhow, Error, Result};
+use anyhow::{bail, format_err, Result};
use log::{error, info, LevelFilter};
use proxmox_auto_installer::{
AutoInstLogger::init("/tmp/fetch_answer.log")?;
log::set_logger(&LOGGER)
.map(|()| log::set_max_level(LevelFilter::Info))
- .map_err(|err| anyhow!(err))
+ .map_err(|err| format_err!(err))
}
fn fetch_answer(install_settings: &AutoInstSettings) -> Result<String> {
Err(err) => info!("Fetching answer file via HTTP failed: {err}"),
},
}
- Err(Error::msg("Could not find any answer file!"))
+ bail!("Could not find any answer file!");
}
fn main() -> ExitCode {