You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ya...@apache.org on 2012/07/28 01:30:36 UTC

[2/6] git commit: CS-15719: Fix state change when stopping

CS-15719: Fix state change when stopping


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

Branch: refs/heads/vpc
Commit: fd9ef34a0fde0dad6279820af8e35449b742990b
Parents: 8eee8f3
Author: Sheng Yang <sh...@citrix.com>
Authored: Fri Jul 27 14:43:26 2012 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Fri Jul 27 16:28:06 2012 -0700

----------------------------------------------------------------------
 server/src/com/cloud/user/AccountManagerImpl.java  |   12 +++++++++++-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |    2 +-
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fd9ef34a/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index 0202e20..503c45a 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -129,7 +129,9 @@ import com.cloud.vm.ReservationContextImpl;
 import com.cloud.vm.UserVmManager;
 import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine.Type;
 import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.dao.DomainRouterDao;
 import com.cloud.vm.dao.InstanceGroupDao;
 import com.cloud.vm.dao.UserVmDao;
 import com.cloud.vm.dao.VMInstanceDao;
@@ -207,6 +209,8 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
     private IPAddressDao _ipAddressDao;
     @Inject
     private VpcManager _vpcMgr;
+    @Inject
+    private DomainRouterDao _routerDao;
 
     private Adapters<UserAuthenticator> _userAuthenticators;
 
@@ -678,7 +682,13 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
         for (VMInstanceVO vm : vms) {
             try {
                 try {
-                    success = (success && _itMgr.advanceStop(vm, false, getSystemUser(), getSystemAccount()));
+                    if (vm.getType() == Type.User) {
+                        success = (success && _itMgr.advanceStop(_userVmDao.findById(vm.getId()), false, getSystemUser(), getSystemAccount()));
+                    } else if (vm.getType() == Type.DomainRouter) {
+                        success = (success && _itMgr.advanceStop(_routerDao.findById(vm.getId()), false, getSystemUser(), getSystemAccount()));
+                    } else {
+                        success = (success && _itMgr.advanceStop(vm, false, getSystemUser(), getSystemAccount()));
+                    }
                 } catch (OperationTimedoutException ote) {
                     s_logger.warn("Operation for stopping vm timed out, unable to stop vm " + vm.getHostName(), ote);
                     success = false;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fd9ef34a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 68e2edd..adb0715 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -2562,4 +2562,4 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene
         return result;
     }
    
-}
\ No newline at end of file
+}