From 0f8ed3a60cd42c87135a774950595de7cfe4e156 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Tue, 6 Dec 2011 11:09:24 -0800 Subject: [PATCH] fix reboot vm, then attached disk is lost --- .../resource/computing/LibvirtComputingResource.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java index 18b31ee439f..99e38c57b08 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java @@ -2958,14 +2958,14 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } protected String rebootVM(Connect conn, String vmName) { - String msg = stopVM(conn, vmName, defineOps.DEFINE_VM); - - if (msg == null) { Domain dm = null; + String msg = null; try { dm = conn.domainLookupByUUID(UUID.nameUUIDFromBytes(vmName.getBytes())); - dm.create(); - + String vmDef = dm.getXMLDesc(0); + s_logger.debug(vmDef); + msg = stopVM(conn, vmName, defineOps.UNDEFINE_VM); + msg = startDomain(conn, vmName, vmDef); return null; } catch (LibvirtException e) { s_logger.warn("Failed to create vm", e); @@ -2982,7 +2982,6 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } } - } return msg; }