From 46a6530e7059aded3c061c2609a15c947d9a75d3 Mon Sep 17 00:00:00 2001 From: Will Stevens Date: Thu, 21 Jul 2016 11:04:10 -0400 Subject: [PATCH] Revert "Merge pull request #1594 from nvazquez/vmnetworkmapissue" This reverts commit 9be93c6e9022f35a2cd3dab6a099d69a77dd72ff, reversing changes made to 8d45d711bff631efb45954631c123dcb2beffb3c. --- .../cloud/vm/VirtualMachineManagerImpl.java | 16 +++++++-------- .../src/com/cloud/vm/UserVmManagerImpl.java | 20 ------------------- 2 files changed, 7 insertions(+), 29 deletions(-) diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java index a1cf7665655..9523b928ed4 100644 --- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -1428,15 +1428,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac advanceStop(vm, cleanUpEvenIfUnableToStop); } - /** - * Send StopCommand to stop vm.
- * Not releasing network resources until expunge command is sent - * @param vm virtual machine - * @param cleanUpEvenIfUnableToStop if true -> cleanup even if vm cannot be stopped. if false -> not cleaning up if vm cannot be stopped. - * @throws AgentUnavailableException - * @throws OperationTimedoutException - * @throws ConcurrentOperationException - */ private void advanceStop(final VMInstanceVO vm, final boolean cleanUpEvenIfUnableToStop) throws AgentUnavailableException, OperationTimedoutException, ConcurrentOperationException { final State state = vm.getState(); @@ -1585,6 +1576,13 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac s_logger.debug(vm + " is stopped on the host. Proceeding to release resource held."); } + try { + _networkMgr.release(profile, cleanUpEvenIfUnableToStop); + s_logger.debug("Successfully released network resources for the vm " + vm); + } catch (final Exception e) { + s_logger.warn("Unable to release some network resources.", e); + } + try { if (vm.getHypervisorType() != HypervisorType.BareMetal) { volumeMgr.release(profile); diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index dd7e817aaea..9eddf6dabd9 100644 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2046,9 +2046,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir return false; } try { - - releaseNetworkResourcesOnExpunge(vm.getId()); - List rootVol = _volsDao.findByInstanceAndType(vm.getId(), Volume.Type.ROOT); // expunge the vm _itMgr.advanceExpunge(vm.getUuid()); @@ -2089,23 +2086,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } } - /** - * Release network resources, it was done on vm stop previously. - * @param id vm id - * @throws ConcurrentOperationException - * @throws ResourceUnavailableException - */ - private void releaseNetworkResourcesOnExpunge(long id) throws ConcurrentOperationException, ResourceUnavailableException { - final VMInstanceVO vmInstance = _vmDao.findById(id); - if (vmInstance != null){ - final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vmInstance); - _networkMgr.release(profile, false); - } - else { - s_logger.error("Couldn't find vm with id = " + id + ", unable to release network resources"); - } - } - private boolean cleanupVmResources(long vmId) { boolean success = true; // Remove vm from security groups