File xen.migrate.tools-xend_move_assert_to_exception_block.patch of Package xen.481

user:        Olaf Hering <olaf@aepfle.de>
date:        Thu Mar 28 15:36:02 2013 +0100
files:       tools/python/xen/xend/XendCheckpoint.py
description:
tools/xend: move assert to exception block

The two assert in restore trigger sometimes after hundreds of
migrations. If they trigger the destination host will not destroy the
newly created, still empty guest. After a second migration attempt to
this host there will be two guets with the same name and uuid. This
situation is poorly handled by the xm tools.
With this change the guest will be destroyed.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

---
 tools/python/xen/xend/XendCheckpoint.py |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: xen-4.4.0-testing/tools/python/xen/xend/XendCheckpoint.py
===================================================================
--- xen-4.4.0-testing.orig/tools/python/xen/xend/XendCheckpoint.py
+++ xen-4.4.0-testing/tools/python/xen/xend/XendCheckpoint.py
@@ -267,9 +267,6 @@ def restore(xd, fd, dominfo = None, paus
     store_port   = dominfo.getStorePort()
     console_port = dominfo.getConsolePort()
 
-    assert store_port
-    assert console_port
-
     # if hvm, pass mem size to calculate the store_mfn
     if is_hvm:
         apic = int(dominfo.info['platform'].get('apic', 0))
@@ -281,6 +278,9 @@ def restore(xd, fd, dominfo = None, paus
         pae  = 0
 
     try:
+        assert store_port
+        assert console_port
+
         restore_image = image.create(dominfo, dominfo.info)
         memory = restore_image.getRequiredAvailableMemory(
             dominfo.info['memory_dynamic_max'] / 1024)
openSUSE Build Service is sponsored by