summaryrefslogtreecommitdiff
path: root/src/libvirt.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-24 21:21:00 +0200
committerLars Wirzenius <liw@liw.fi>2021-03-24 21:21:00 +0200
commitecd8eef97006686b8686803b0eaf0a37b87eff08 (patch)
tree1bd1266858ca6d4e78e999aa5c0f8119131ff41b /src/libvirt.rs
parentcc7f874e03a6050c47b592fe5ed7b3704eeedfcc (diff)
downloadvmadm-ecd8eef97006686b8686803b0eaf0a37b87eff08.tar.gz
refactor: when starting, stopping do all VMs at once
Diffstat (limited to 'src/libvirt.rs')
-rw-r--r--src/libvirt.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libvirt.rs b/src/libvirt.rs
index 7d8235d..ade63d3 100644
--- a/src/libvirt.rs
+++ b/src/libvirt.rs
@@ -87,9 +87,17 @@ impl Libvirt {
Ok(())
}
- pub fn start(&self, name: &str) -> Result<(), VirtError> {
+ pub fn trigger_start(&self, name: &str) -> Result<(), VirtError> {
if let Some(domain) = self.get_domain(name)? {
+ debug!("starting {}", name);
domain.create()?;
+ }
+ Ok(())
+ }
+
+ pub fn start(&self, name: &str) -> Result<(), VirtError> {
+ if let Some(_) = self.get_domain(name)? {
+ self.trigger_start(name)?;
wait_for_ssh(name);
}
Ok(())