summaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-24 21:12:01 +0200
committerLars Wirzenius <liw@liw.fi>2021-03-24 21:12:01 +0200
commitcc7f874e03a6050c47b592fe5ed7b3704eeedfcc (patch)
treef559a5da2ff8e3a9204805bba936cc413b1557c6 /src/cmd
parent2c7ee5f8f8f4e334cb854f1ccbfd7a96392d1dae (diff)
downloadvmadm-cc7f874e03a6050c47b592fe5ed7b3704eeedfcc.tar.gz
refactor: when deleting, ask all VMs to shut down at once, for speed
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/delete.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/delete.rs b/src/cmd/delete.rs
index 66eb23f..fbb6ab5 100644
--- a/src/cmd/delete.rs
+++ b/src/cmd/delete.rs
@@ -10,7 +10,12 @@ use log::info;
pub fn delete(specs: &[Specification]) -> Result<(), VirtError> {
let libvirt = Libvirt::connect("qemu:///system")?;
for spec in specs {
+ info!("asking virtual machine {} to shutdown", spec.name);
+ libvirt.trigger_shutdown(&spec.name)?;
+ }
+ for spec in specs {
info!("deleting virtual machine {}", spec.name);
+ libvirt.shutdown(&spec.name)?;
libvirt.delete(&spec.name, &spec.image)?;
}
Ok(())