diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-03-24 21:12:01 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-03-24 21:12:01 +0200 |
commit | cc7f874e03a6050c47b592fe5ed7b3704eeedfcc (patch) | |
tree | f559a5da2ff8e3a9204805bba936cc413b1557c6 /src/cmd | |
parent | 2c7ee5f8f8f4e334cb854f1ccbfd7a96392d1dae (diff) | |
download | vmadm-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.rs | 5 |
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(()) |