You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sw...@apache.org on 2016/07/19 12:19:03 UTC

[2/5] git commit: updated refs/heads/master to 9be93c6

CLOUDSTACK-9407: Refactor


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c754a0cf
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c754a0cf
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c754a0cf

Branch: refs/heads/master
Commit: c754a0cf304aa2e40d0747543c023983f201540c
Parents: d3f3fb0
Author: nvazquez <ni...@gmail.com>
Authored: Tue Jun 21 13:49:55 2016 -0300
Committer: nvazquez <ni...@gmail.com>
Committed: Tue Jun 21 13:49:55 2016 -0300

----------------------------------------------------------------------
 .../com/cloud/vm/VirtualMachineManagerImpl.java    | 17 +++++++++--------
 server/src/com/cloud/vm/UserVmManagerImpl.java     |  9 +++++++--
 2 files changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c754a0cf/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index b8d6b80..a1cf766 100644
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -1428,6 +1428,15 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
         advanceStop(vm, cleanUpEvenIfUnableToStop);
     }
 
+    /**
+     * Send StopCommand to stop vm.<br/>
+     * <strong>Not releasing network resources until expunge command is sent</strong>
+     * @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();
@@ -1577,14 +1586,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
         }
 
         try {
-            s_logger.debug("Not releasing network resources until expunge command is sent");
-            //_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);
                 s_logger.debug("Successfully released storage resources for the vm " + vm);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c754a0cf/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 5e1ad3b..dd7e817 100644
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -2097,8 +2097,13 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
      */
     private void releaseNetworkResourcesOnExpunge(long id) throws ConcurrentOperationException, ResourceUnavailableException {
         final VMInstanceVO vmInstance = _vmDao.findById(id);
-        final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vmInstance);
-        _networkMgr.release(profile, false);
+        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) {