[libvirt] [sandbox][PATCH v2] Fix delete of running container

Wayne Sun gsun at redhat.com
Wed Aug 7 13:24:14 UTC 2013


Delete running container is not supprted and will report an error.

Related to bug:
https://bugzilla.redhat.com/show_bug.cgi?id=994495

Signed-off-by: Wayne Sun <gsun at redhat.com>
---
 bin/virt-sandbox-service |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/bin/virt-sandbox-service b/bin/virt-sandbox-service
index 550d46c..c07c33b 100755
--- a/bin/virt-sandbox-service
+++ b/bin/virt-sandbox-service
@@ -254,11 +254,16 @@ class Container:
 
     def delete(self):
         self.connect()
-        # Stop service if it is running
-        try:
-            self.stop()
-        except:
-            pass
+        # Check container is running or not
+        cmd = "/usr/bin/virsh -c %s list | sed '1d;2d;$d' | awk -F' '\
+               '{ print $2}'" % self.uri
+        p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
+        out, err = p.communicate()
+        if p.returncode and p.returncode != 0:
+            raise OSError(_("Failed to list running domain"))
+
+        if self.name in out.splitlines():
+            raise ValueError([_("Delete running container is not supported")])
 
         # Not sure we should remove content
         if os.path.exists(self.dest):
-- 
1.7.1




More information about the libvir-list mailing list