commit 468f72898bdebb362174cd9073b22536d2ba3555
Author: Radek Novacek <rnovacek(a)redhat.com>
Date: Wed Nov 30 11:58:30 2011 +0100
Workaround for removing machines using xen
virt.py | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/virt.py b/virt.py
index a64b0e1..b4a62de 100644
--- a/virt.py
+++ b/virt.py
@@ -63,7 +63,14 @@ class Virt:
def changed(self, conn, dom, event, detail, opaque):
print "EVENT: Domain %s(%s) %s %s" % (dom.name(), dom.ID(),
eventToString(event), detailToString(event, detail))
if self.changedCallback:
- self.changedCallback(self.listDomains())
+ l = self.listDomains()
+ # Workaround: when removing machine from xen it is still in list of
+ # domains, so we'll remove it manually
+ if event == libvirt.VIR_DOMAIN_EVENT_UNDEFINED:
+ uuid = dom.UUIDString()
+ # Copy the list of domains without deleted domain
+ l = [d for d in l if d.UUIDString() != uuid]
+ self.changedCallback(l)
def domainListChangedCallback(self, callback):
self.changedCallback = callback
Show replies by date