From 01eb08a384cc76254235df439b66f0fa03ee3aab Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Tue, 30 Aug 2011 17:52:49 -0700 Subject: [PATCH] bug 11305: Remove router stop logic from disconnect host. Now the logic is: if we can only connect to one of the two redundant routers, we would stop the one that can't be connected. If we fail to program both routers, just let it go. --- .../hypervisor/vmware/VmwareManagerImpl.java | 30 +------------------ 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/server/src/com/cloud/hypervisor/vmware/VmwareManagerImpl.java b/server/src/com/cloud/hypervisor/vmware/VmwareManagerImpl.java index 4dc5d632ae7..a1ba9c9ff72 100755 --- a/server/src/com/cloud/hypervisor/vmware/VmwareManagerImpl.java +++ b/server/src/com/cloud/hypervisor/vmware/VmwareManagerImpl.java @@ -39,9 +39,7 @@ import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; -import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.DiscoveredWithErrorException; -import com.cloud.exception.ResourceUnavailableException; import com.cloud.host.HostVO; import com.cloud.host.Status; import com.cloud.host.dao.HostDao; @@ -64,7 +62,6 @@ import com.cloud.org.Cluster.ClusterType; import com.cloud.secstorage.CommandExecLogDao; import com.cloud.serializer.GsonHelper; import com.cloud.storage.StorageLayer; -import com.cloud.user.UserContext; import com.cloud.utils.FileUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; @@ -77,8 +74,6 @@ import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.script.Script; import com.cloud.vm.DomainRouterVO; -import com.cloud.vm.VirtualMachine.State; -import com.cloud.vm.dao.DomainRouterDao; import com.google.gson.Gson; import com.vmware.apputils.vim25.ServiceUtil; import com.vmware.vim25.HostConnectSpec; @@ -106,7 +101,6 @@ public class VmwareManagerImpl implements VmwareManager, VmwareStorageMount, Lis @Inject ClusterManager _clusterMgr; @Inject CheckPointManager _checkPointMgr; @Inject VirtualNetworkApplianceManager _routerMgr; - @Inject DomainRouterDao _routerDao; String _mountParent; StorageLayer _storage; @@ -805,29 +799,7 @@ public class VmwareManagerImpl implements VmwareManager, VmwareStorageMount, Lis @Override public boolean processDisconnect(long agentId, Status state) { - UserContext context = UserContext.current(); - context.setAccountId(1); - /* Stopped VMware Host's virtual routers */ - HostVO host = _hostDao.findById(agentId); - if (host.getHypervisorType() != HypervisorType.VMware) { - return true; - } - List routers = _routerDao.listByHostId(agentId); - for (DomainRouterVO router : routers) { - try { - State oldState = router.getState(); - _routerMgr.stopRouter(router.getId(), true); - //In case only vCenter is disconnected, we want to shut down router directly - if (oldState == State.Running) { - shutdownRouterVM(router); - } - } catch (ResourceUnavailableException e) { - s_logger.warn("Fail to stop router " + router.getInstanceName() + " when host disconnected!", e); - } catch (ConcurrentOperationException e) { - s_logger.warn("Fail to stop router " + router.getInstanceName() + " when host disconnected!", e); - } - } - return true; + return false; } @Override