Delete running container is not supprted and will report an error.
Related to bug:
https://bugzilla.redhat.com/show_bug.cgi?id=994495
v1: Fix stop function and delete running container.
v2: Delete running container is not allowed, spawn virsh to get
domain status.
v3: Using exist libvirt connection to get dom status.
Signed-off-by: Wayne Sun <gsun(a)redhat.com>
---
bin/virt-sandbox-service | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/bin/virt-sandbox-service b/bin/virt-sandbox-service
index 550d46c..03873c9 100755
--- a/bin/virt-sandbox-service
+++ b/bin/virt-sandbox-service
@@ -254,11 +254,11 @@ class Container:
def delete(self):
self.connect()
- # Stop service if it is running
- try:
- self.stop()
- except:
- pass
+ self.conn.fetch_domains(None)
+ dom = self.conn.find_domain_by_name(self.name)
+ info = dom.get_info()
+ if info.state == LibvirtGObject.DomainState.RUNNING:
+ raise ValueError([_("Cannot delete running container")])
# Not sure we should remove content
if os.path.exists(self.dest):