On 08/08/2013 06:42 PM, Daniel P. Berrange wrote:
On Thu, Aug 08, 2013 at 03:42:28PM +0800, Wayne Sun wrote:
> 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):
ACK, looks good now.
Daniel