From 2256f09ee54136a399374c3d1b9a0c99df2fd66c Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Mon, 10 Feb 2014 08:57:34 +0100 Subject: [PATCH] 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, yet 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 empty guest will be destroyed. Signed-off-by: Olaf Hering Acked-by: Ian Jackson Acked-by: Matt Wilson --- tools/python/xen/xend/XendCheckpoint.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/python/xen/xend/XendCheckpoint.py b/tools/python/xen/xend/XendCheckpoint.py index a433ffa577..b8caf0221b 100644 --- a/tools/python/xen/xend/XendCheckpoint.py +++ b/tools/python/xen/xend/XendCheckpoint.py @@ -249,9 +249,6 @@ def restore(xd, fd, dominfo = None, paused = False, relocating = False): 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)) @@ -263,6 +260,9 @@ def restore(xd, fd, dominfo = None, paused = False, relocating = False): 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) -- 2.30.2