diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-07-25 12:55:09 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-07-25 13:29:52 +0300 |
commit | 957e9f268a84f39d05a2f7ff35de105b3b695fac (patch) | |
tree | 2f6ee0e6aa160ad357fc243f709ff72ab7005258 /src | |
parent | 30b44cfbf68222a0fa51dda602b1945ae9722b48 (diff) | |
download | vmadm-957e9f268a84f39d05a2f7ff35de105b3b695fac.tar.gz |
feat: check that VM will be getting networks
Sponsored-by: author
Diffstat (limited to 'src')
-rw-r--r-- | src/install.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/install.rs b/src/install.rs index 149c917..8028687 100644 --- a/src/install.rs +++ b/src/install.rs @@ -22,6 +22,10 @@ pub enum VirtInstallError { #[error("couldn't run virt-install")] Run(#[source] std::io::Error), + /// No networks defined. + #[error("no networks defined for {0}")] + NoNetworks(String), + /// Error parsing a string as UTF8. #[error(transparent)] StringError(#[from] std::string::FromUtf8Error), @@ -116,6 +120,9 @@ pub fn virt_install(args: &VirtInstallArgs, iso: &Path) -> Result<PathBuf, VirtI .collect() }; debug!("virt-install networks: {:?}", networks); + if networks.is_empty() { + return Err(VirtInstallError::NoNetworks(args.name.clone())); + } let r = Command::new("virt-install") .arg("--name") |