diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index bde092d0483..ca47e3f8bf1 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -3929,12 +3929,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR } finally { sshConnection.close(); } - try { - // wait 2 seconds before call plugin - Thread.sleep(2000); - } catch (final InterruptedException ex) { - } if (!setIptables()) { s_logger.warn("set xenserver Iptable failed"); } diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index f2d92ac5350..6c2d0cdca7c 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -910,10 +910,12 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory { Long dcId = host.getDataCenterId(); ReadyCommand ready = new ReadyCommand(dcId); - Answer answer = easySend(hostId, ready); + Answer answer = easySend(hostId, ready); if (answer == null) { + // this is tricky part for secondary storage + // make it as disconnected, wait for secondary storage VM to be up + // return the attache instead of null, even it is disconnectede handleDisconnect(attache, Event.AgentDisconnected, false); - return null; } _hostDao.updateStatus(host, Event.Ready, _nodeId);