From 72db00c1c765a884b7e1487367b18fb71af52c78 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Mon, 17 Oct 2011 18:03:54 -0700 Subject: [PATCH] bug 11624: command via AgentManagerImpl.sendTo() needs to be redirect to HypervisorGuru for command filtering, the filtering mechanism is required by VMware hypervisor to redirect storage/snapshot commands to SSVM --- server/src/com/cloud/agent/manager/AgentManagerImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 44364a7e944..b45aab9a680 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -113,6 +113,7 @@ import com.cloud.host.Status.Event; import com.cloud.host.dao.HostDao; import com.cloud.host.dao.HostDetailsDao; import com.cloud.host.dao.HostTagsDao; +import com.cloud.hypervisor.HypervisorGuruManager; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.kvm.resource.KvmDummyResourceBase; import com.cloud.network.IPAddressVO; @@ -237,6 +238,10 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { @Inject StorageService _storageSvr = null; @Inject StorageManager _storageMgr = null; + + @Inject + protected HypervisorGuruManager _hvGuruMgr; + protected int _retry = 2; @@ -572,7 +577,9 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { } Answer answer = null; try { - answer = easySend(host.getId(), cmd); + + long targetHostId = _hvGuruMgr.getGuruProcessedCommandTargetHost(host.getId(), cmd); + answer = easySend(targetHostId, cmd); } catch (Exception e) { } if (answer != null) {