summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-07-25 12:55:09 +0300
committerLars Wirzenius <liw@liw.fi>2021-07-25 13:29:52 +0300
commit957e9f268a84f39d05a2f7ff35de105b3b695fac (patch)
tree2f6ee0e6aa160ad357fc243f709ff72ab7005258 /src
parent30b44cfbf68222a0fa51dda602b1945ae9722b48 (diff)
downloadvmadm-957e9f268a84f39d05a2f7ff35de105b3b695fac.tar.gz
feat: check that VM will be getting networks
Sponsored-by: author
Diffstat (limited to 'src')
-rw-r--r--src/install.rs7
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")