You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2013/06/12 16:18:41 UTC
[1/5] git commit: updated refs/heads/vmsync to d71e358
Updated Branches:
refs/heads/vmsync b4c6a594e -> d71e358a9
Removed some of the unused code.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/38a30574
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/38a30574
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/38a30574
Branch: refs/heads/vmsync
Commit: 38a30574e912a8e270a0b6c222548d73157b72d9
Parents: b4c6a59
Author: Alex Huang <al...@gmail.com>
Authored: Tue Jun 11 09:51:51 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Tue Jun 11 09:51:51 2013 -0700
----------------------------------------------------------------------
.../src/com/cloud/vm/VirtualMachineManagerImpl.java | 15 +--------------
server/src/com/cloud/vm/VmWorkJobDispatcher.java | 2 +-
2 files changed, 2 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/38a30574/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 56f066a..409fd62 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -678,8 +678,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
protected Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> changeToStartState(VirtualMachineGuru vmGuru, VMInstanceVO vm, User caller, Account account)
throws ConcurrentOperationException {
- long vmId = vm.getId();
-
Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> result = null;
Transaction txn = Transaction.currentTxn();
txn.start();
@@ -1251,7 +1249,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
}
- public void processVmStopWork(String vmUuid, boolean forced) throws AgentUnavailableException,
+ public void orchestrateStop(String vmUuid, boolean forced) throws AgentUnavailableException,
OperationTimedoutException, ConcurrentOperationException {
CallContext context = CallContext.current();
User user = context.getCallingUser();
@@ -1644,8 +1642,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
public VirtualMachine storageMigration(String vmUuid, StoragePool destPool) {
VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
- long vmId = vm.getId();
-
try {
stateTransitTo(vm, VirtualMachine.Event.StorageMigrationRequested, null);
} catch (NoTransitionException e) {
@@ -1969,8 +1965,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
DeployDestination destination = new DeployDestination(dc, pod, cluster, destHost);
// Create a map of which volume should go in which storage pool.
- long vmId = vm.getId();
- VMInstanceVO vm2 = _vmDao.findById(vmId);
VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
volumeToPool = getPoolListForVolumesForMigration(profile, destHost, volumeToPool);
@@ -2101,7 +2095,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public boolean migrateAway(VirtualMachine.Type vmType, long vmId, long srcHostId) throws InsufficientServerCapacityException, VirtualMachineMigrationException {
- VirtualMachineGuru vmGuru = _vmGurus.get(vmType);
VMInstanceVO vm = _vmDao.findById(vmId);
if (vm == null) {
s_logger.debug("Unable to find a VM for " + vmId);
@@ -3026,7 +3019,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
public VMInstanceVO vm;
public VirtualMachineGuru guru;
- @SuppressWarnings("unchecked")
public AgentVmInfo(String name, VirtualMachineGuru guru, VMInstanceVO vm, State state, String host) {
this.name = name;
this.state = state;
@@ -3221,9 +3213,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
//3) Convert nicProfile to NicTO
NicTO nicTO = toNicTO(nic, vmProfile.getVirtualMachine().getHypervisorType());
- //4) plug the nic to the vm
- VirtualMachineGuru vmGuru = getVmGuru(vmVO);
-
s_logger.debug("Plugging nic for vm " + vm + " in network " + network);
boolean result = false;
@@ -3277,7 +3266,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
DataCenter dc = _configMgr.getZone(network.getDataCenterId());
Host host = _hostDao.findById(vm.getHostId());
DeployDestination dest = new DeployDestination(dc, null, null, host);
- VirtualMachineGuru vmGuru = getVmGuru(vmVO);
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
@@ -3341,7 +3329,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
DataCenter dc = _configMgr.getZone(network.getDataCenterId());
Host host = _hostDao.findById(vm.getHostId());
DeployDestination dest = new DeployDestination(dc, null, null, host);
- VirtualMachineGuru vmGuru = getVmGuru(vmVO);
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/38a30574/server/src/com/cloud/vm/VmWorkJobDispatcher.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/VmWorkJobDispatcher.java b/server/src/com/cloud/vm/VmWorkJobDispatcher.java
index 8b04e91..3e6dc0b 100644
--- a/server/src/com/cloud/vm/VmWorkJobDispatcher.java
+++ b/server/src/com/cloud/vm/VmWorkJobDispatcher.java
@@ -72,7 +72,7 @@ public class VmWorkJobDispatcher extends AdapterBase implements AsyncJobDispatch
_vmMgr.orchestrateStart(vm.getUuid(), start.getParams(), start.getPlan());
} else if (cmd.equals(Stop)) {
VmWorkStop stop = (VmWorkStop)work;
- _vmMgr.processVmStopWork(vm.getUuid(), stop.isForceStop());
+ _vmMgr.orchestrateStop(vm.getUuid(), stop.isForceStop());
}
_asyncJobMgr.completeAsyncJob(job.getId(), AsyncJobConstants.STATUS_SUCCEEDED, 0, null);
} catch(Throwable e) {
[4/5] git commit: updated refs/heads/vmsync to d71e358
Posted by ah...@apache.org.
some unfinished cleanup on removing the caller and account
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1310535b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1310535b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1310535b
Branch: refs/heads/vmsync
Commit: 1310535be5345636cccc60bae251c8e782da39b1
Parents: 33dfe4f
Author: Alex Huang <al...@gmail.com>
Authored: Tue Jun 11 16:45:18 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Tue Jun 11 16:45:18 2013 -0700
----------------------------------------------------------------------
.../components-api/src/com/cloud/vm/VirtualMachineManager.java | 5 ++---
server/src/com/cloud/vm/UserVmManagerImpl.java | 4 +---
server/src/com/cloud/vm/VirtualMachineManagerImpl.java | 6 +++---
.../test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java | 6 ++----
4 files changed, 8 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1310535b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
index 1a647e1..5e5c3e9 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
@@ -42,7 +42,6 @@ import com.cloud.storage.StoragePool;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
-import com.cloud.user.User;
import com.cloud.utils.Pair;
import com.cloud.utils.component.Manager;
import com.cloud.utils.fsm.NoTransitionException;
@@ -125,9 +124,9 @@ public interface VirtualMachineManager extends Manager {
VirtualMachine migrateWithStorage(String vmUuid, long srcId, long destId, Map<Volume, StoragePool> volumeToPool) throws ResourceUnavailableException,
ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException;
- void reboot(String vmUuid, User caller, Account account);
+ void reboot(String vmUuid);
- void advanceReboot(String vmUuid, User caller, Account account) throws InsufficientCapacityException,
+ void advanceReboot(String vmUuid) throws InsufficientCapacityException,
ResourceUnavailableException, ConcurrentOperationException, OperationTimedoutException;
VirtualMachine storageMigration(String vmUuid, StoragePool storagePoolId);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1310535b/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 e248c43..7a79fc6 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -740,8 +740,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
private UserVm rebootVirtualMachine(long userId, long vmId) {
UserVmVO vm = _vmDao.findById(vmId);
- User caller = _accountMgr.getActiveUser(userId);
- Account owner = _accountMgr.getAccount(vm.getAccountId());
if (vm == null || vm.getState() == State.Destroyed
|| vm.getState() == State.Expunging || vm.getRemoved() != null) {
@@ -751,7 +749,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
if (vm.getState() == State.Running && vm.getHostId() != null) {
collectVmDiskStatistics(vm);
- _itMgr.reboot(vm.getUuid(), caller, owner);
+ _itMgr.reboot(vm.getUuid());
return _vmDao.findById(vmId);
} else {
s_logger.error("Vm id=" + vmId
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1310535b/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 d1a557d..57c6852 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -2145,9 +2145,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void reboot(String vmUuid, User caller, Account account) {
+ public void reboot(String vmUuid) {
try {
- advanceReboot(vmUuid, caller, account);
+ advanceReboot(vmUuid);
} catch (ConcurrentOperationException e) {
throw new CloudRuntimeException("Unable to reboot a VM due to concurrent operation", e).add(VirtualMachine.class, vmUuid);
} catch (InsufficientCapacityException e) {
@@ -2160,7 +2160,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void advanceReboot(String vmUuid, User caller, Account account) throws InsufficientCapacityException,
+ public void advanceReboot(String vmUuid) throws InsufficientCapacityException,
ConcurrentOperationException, ResourceUnavailableException, OperationTimedoutException {
VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
if (vm.getHostId() == null) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1310535b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
index 80fe930..77b9268 100644
--- a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
+++ b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
@@ -52,7 +52,6 @@ import com.cloud.storage.StoragePool;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.Volume;
import com.cloud.user.Account;
-import com.cloud.user.User;
import com.cloud.utils.Pair;
import com.cloud.utils.fsm.NoTransitionException;
import com.cloud.vm.VirtualMachine.Event;
@@ -230,13 +229,12 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
}
@Override
- public void reboot(String vmUuid,
- User caller, Account account) {
+ public void reboot(String vmUuid) {
// TODO Auto-generated method stub
}
@Override
- public void advanceReboot(String vmUuid, User caller, Account account)
+ public void advanceReboot(String vmUuid)
throws InsufficientCapacityException, ResourceUnavailableException,
ConcurrentOperationException, OperationTimedoutException {
// TODO Auto-generated method stub
[5/5] git commit: updated refs/heads/vmsync to d71e358
Posted by ah...@apache.org.
Removed unused methods
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d71e358a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d71e358a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d71e358a
Branch: refs/heads/vmsync
Commit: d71e358a9fd4bcd7c663eba21111a21693db1e4a
Parents: 1310535
Author: Alex Huang <al...@gmail.com>
Authored: Tue Jun 11 16:49:49 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Tue Jun 11 16:49:49 2013 -0700
----------------------------------------------------------------------
.../src/com/cloud/vm/VirtualMachineManager.java | 7 -------
server/src/com/cloud/vm/VirtualMachineManagerImpl.java | 10 +---------
2 files changed, 1 insertion(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d71e358a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
index 5e5c3e9..83ec485 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
@@ -17,7 +17,6 @@
package com.cloud.vm;
import java.net.URI;
-import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -96,12 +95,6 @@ public interface VirtualMachineManager extends Manager {
void registerGuru(VirtualMachine.Type type, VirtualMachineGuru guru);
- // FIXME: This method is added by VirtualMachinePowerStateSyncImpl
- Collection<VirtualMachineGuru> getRegisteredGurus();
-
- // FIXME: Apparently this method is added by Kelven for VmWorkJobDispatcher. Should look into removing this.
- VirtualMachineGuru getVmGuru(VirtualMachine vm);
-
boolean stateTransitTo(VMInstanceVO vm, VirtualMachine.Event e, Long hostId) throws NoTransitionException;
void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d71e358a/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 57c6852..f04a589 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -282,15 +282,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
}
- @Override
- public Collection<VirtualMachineGuru> getRegisteredGurus() {
- synchronized(_vmGurus) {
- return _vmGurus.values();
- }
- }
-
- @Override
- public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
+ private VirtualMachineGuru getVmGuru(VirtualMachine vm) {
return _vmGurus.get(vm.getType());
}
[2/5] git commit: updated refs/heads/vmsync to d71e358
Posted by ah...@apache.org.
Removed unused stuff from virtualmachinemanager
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ad1c82fd
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ad1c82fd
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ad1c82fd
Branch: refs/heads/vmsync
Commit: ad1c82fdda2a97f6d0bb764b37f42ae9f9fd2c8d
Parents: 38a3057
Author: Alex Huang <al...@gmail.com>
Authored: Tue Jun 11 13:15:23 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Tue Jun 11 13:15:23 2013 -0700
----------------------------------------------------------------------
.../src/com/cloud/storage/VolumeManager.java | 6 +-
.../src/com/cloud/vm/VirtualMachineManager.java | 6 +-
.../engine/vm/VirtualMachineOrchestrator.java | 2 +-
.../com/cloud/vm/VirtualMachineProfileImpl.java | 29 +-
.../com/cloud/storage/VolumeManagerImpl.java | 9 +-
.../vm/ClusteredVirtualMachineManagerImpl.java | 7 +-
.../com/cloud/vm/ReservationContextImpl.java | 22 +-
server/src/com/cloud/vm/UserVmManagerImpl.java | 2 +-
.../com/cloud/vm/VirtualMachineManagerImpl.java | 182 +++-------
.../async/MockVirtualMachineManagerImpl.java | 361 -------------------
.../cloud/vm/VirtualMachineManagerImplTest.java | 21 +-
.../vm/VmWorkMockVirtualMachineManagerImpl.java | 5 +-
12 files changed, 102 insertions(+), 550 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/engine/components-api/src/com/cloud/storage/VolumeManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/storage/VolumeManager.java b/engine/components-api/src/com/cloud/storage/VolumeManager.java
index c2e5bdc..36fd75b 100644
--- a/engine/components-api/src/com/cloud/storage/VolumeManager.java
+++ b/engine/components-api/src/com/cloud/storage/VolumeManager.java
@@ -27,7 +27,6 @@ import org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd;
import org.apache.cloudstack.api.command.user.volume.ResizeVolumeCmd;
import org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd;
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
-import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.deploy.DeployDestination;
@@ -41,6 +40,7 @@ import com.cloud.storage.Volume.Type;
import com.cloud.user.Account;
import com.cloud.vm.DiskProfile;
import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
public interface VolumeManager extends VolumeApiService {
@@ -92,8 +92,8 @@ public interface VolumeManager extends VolumeApiService {
@Override
Volume migrateVolume(MigrateVolumeCmd cmd);
- <T extends VMInstanceVO> void migrateVolumes(T vm, VirtualMachineTO vmTo, Host srcHost, Host destHost,
- Map<VolumeVO, StoragePoolVO> volumeToPool);
+ void migrateVolumes(VirtualMachine vm, VirtualMachineTO vmTo, Host srcHost, Host destHost,
+ Map<Volume, StoragePool> volumeToPool);
boolean storageMigration(
VirtualMachineProfile vm,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
index 922a1f4..70142d5 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
@@ -21,8 +21,6 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
-import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
-
import com.cloud.agent.api.to.NicTO;
import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.deploy.DeployDestination;
@@ -42,7 +40,7 @@ import com.cloud.service.ServiceOfferingVO;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.VolumeVO;
+import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.User;
import com.cloud.utils.Pair;
@@ -127,7 +125,7 @@ public interface VirtualMachineManager extends Manager {
VirtualMachine migrate(String vmUuid, long srcHostId, DeployDestination dest) throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException,
VirtualMachineMigrationException;
- VirtualMachine migrateWithStorage(String vmUuid, long srcId, long destId, Map<VolumeVO, StoragePoolVO> volumeToPool) throws ResourceUnavailableException,
+ VirtualMachine migrateWithStorage(String vmUuid, long srcId, long destId, Map<Volume, StoragePool> volumeToPool) throws ResourceUnavailableException,
ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException;
void reboot(String vmUuid, User caller, Account account);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/engine/orchestration/src/org/apache/cloudstack/engine/vm/VirtualMachineOrchestrator.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/vm/VirtualMachineOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/engine/vm/VirtualMachineOrchestrator.java
index 43e34e4..1c5356e 100644
--- a/engine/orchestration/src/org/apache/cloudstack/engine/vm/VirtualMachineOrchestrator.java
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/vm/VirtualMachineOrchestrator.java
@@ -347,7 +347,7 @@ public class VirtualMachineOrchestrator extends ManagerBase {
_executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Vm-Operations-Cleanup"));
// ReservationContextImpl.setComponents(_userDao, _domainDao, _accountDao);
- VirtualMachineProfileImpl.setComponents(_offeringDao, _templateDao, _accountDao);
+ VirtualMachineProfileImpl.setComponents(_entityMgr);
VirtualMachineEntityImpl2.init(_entityMgr, this, _networkOrchestrator, _storageOrchestrator);
return true;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/engine/schema/src/com/cloud/vm/VirtualMachineProfileImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/VirtualMachineProfileImpl.java b/engine/schema/src/com/cloud/vm/VirtualMachineProfileImpl.java
index 4f1bd5f..5805c03 100644
--- a/engine/schema/src/com/cloud/vm/VirtualMachineProfileImpl.java
+++ b/engine/schema/src/com/cloud/vm/VirtualMachineProfileImpl.java
@@ -22,16 +22,15 @@ import java.util.List;
import java.util.Map;
import com.cloud.agent.api.to.VolumeTO;
+import com.cloud.dao.EntityManager;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.offering.ServiceOffering;
import com.cloud.service.ServiceOfferingVO;
-import com.cloud.service.dao.ServiceOfferingDao;
import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.dao.VMTemplateDao;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.template.VirtualMachineTemplate.BootloaderType;
import com.cloud.user.Account;
-import com.cloud.user.dao.AccountDao;
+import com.cloud.user.AccountVO;
/**
* Implementation of VirtualMachineProfile.
@@ -59,6 +58,9 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
_offering = offering;
_params = params;
_owner = owner;
+ if (_owner == null) {
+ _owner = s_entityMgr.findById(AccountVO.class, vm.getAccountId());
+ }
if (_params == null) {
_params = new HashMap<Param, Object>();
}
@@ -70,10 +72,6 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
this(vm, null, null, null, null);
}
- public VirtualMachineProfileImpl(VirtualMachine.Type type) {
- _type = type;
- }
-
@Override
public String toString() {
return _vm.toString();
@@ -87,7 +85,7 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
@Override
public ServiceOffering getServiceOffering() {
if (_offering == null) {
- _offering = s_offeringDao.findByIdIncludingRemoved(_vm.getServiceOfferingId());
+ _offering = s_entityMgr.findByIdIncludingRemoved(ServiceOfferingVO.class, _vm.getServiceOfferingId());
}
return _offering;
}
@@ -105,7 +103,7 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
@Override
public VirtualMachineTemplate getTemplate() {
if (_template == null && _vm != null) {
- _template = s_templateDao.findByIdIncludingRemoved(_vm.getTemplateId());
+ _template = s_entityMgr.findByIdIncludingRemoved(VMTemplateVO.class, _vm.getTemplateId());
}
return _template;
}
@@ -182,9 +180,6 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
@Override
public Account getOwner() {
- if (_owner == null) {
- _owner = s_accountDao.findByIdIncludingRemoved(_vm.getAccountId());
- }
return _owner;
}
@@ -193,14 +188,10 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile {
return _bootArgs.toString();
}
- static ServiceOfferingDao s_offeringDao;
- static VMTemplateDao s_templateDao;
- static AccountDao s_accountDao;
+ static EntityManager s_entityMgr;
- public static void setComponents(ServiceOfferingDao offeringDao, VMTemplateDao templateDao, AccountDao accountDao) {
- s_offeringDao = offeringDao;
- s_templateDao = templateDao;
- s_accountDao = accountDao;
+ public static void setComponents(EntityManager entityMgr) {
+ s_entityMgr = entityMgr;
}
@Override
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/src/com/cloud/storage/VolumeManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/VolumeManagerImpl.java b/server/src/com/cloud/storage/VolumeManagerImpl.java
index b75f461..9d3f4df 100644
--- a/server/src/com/cloud/storage/VolumeManagerImpl.java
+++ b/server/src/com/cloud/storage/VolumeManagerImpl.java
@@ -2154,15 +2154,14 @@ public class VolumeManagerImpl extends ManagerBase implements VolumeManager {
}
@Override
- public <T extends VMInstanceVO> void migrateVolumes(T vm, VirtualMachineTO vmTo, Host srcHost, Host destHost,
- Map<VolumeVO, StoragePoolVO> volumeToPool) {
+ public void migrateVolumes(VirtualMachine vm, VirtualMachineTO vmTo, Host srcHost, Host destHost, Map<Volume, StoragePool> volumeToPool) {
// Check if all the vms being migrated belong to the vm.
// Check if the storage pool is of the right type.
// Create a VolumeInfo to DataStore map too.
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
- for (Map.Entry<VolumeVO, StoragePoolVO> entry : volumeToPool.entrySet()) {
- VolumeVO volume = entry.getKey();
- StoragePoolVO storagePool = entry.getValue();
+ for (Map.Entry<Volume, StoragePool> entry : volumeToPool.entrySet()) {
+ Volume volume = entry.getKey();
+ StoragePool storagePool = entry.getValue();
StoragePool destPool = (StoragePool)dataStoreMgr.getDataStore(storagePool.getId(),
DataStoreRole.Primary);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java b/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java
index 42ff5d4..8f84055 100644
--- a/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/ClusteredVirtualMachineManagerImpl.java
@@ -20,16 +20,17 @@ import java.util.List;
import java.util.Map;
import javax.ejb.Local;
+import javax.inject.Inject;
import javax.naming.ConfigurationException;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
-
+import com.cloud.cluster.ClusterManager;
import com.cloud.cluster.ClusterManagerListener;
import com.cloud.cluster.ManagementServerHostVO;
@Local(value=VirtualMachineManager.class)
public class ClusteredVirtualMachineManagerImpl extends VirtualMachineManagerImpl implements ClusterManagerListener {
+ @Inject
+ ClusterManager _clusterMgr;
protected ClusteredVirtualMachineManagerImpl() {
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/src/com/cloud/vm/ReservationContextImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/ReservationContextImpl.java b/server/src/com/cloud/vm/ReservationContextImpl.java
index f187f2b..cab93b4 100644
--- a/server/src/com/cloud/vm/ReservationContextImpl.java
+++ b/server/src/com/cloud/vm/ReservationContextImpl.java
@@ -16,12 +16,11 @@
// under the License.
package com.cloud.vm;
+import com.cloud.dao.EntityManager;
import com.cloud.domain.Domain;
-import com.cloud.domain.dao.DomainDao;
+import com.cloud.domain.DomainVO;
import com.cloud.user.Account;
import com.cloud.user.User;
-import com.cloud.user.dao.AccountDao;
-import com.cloud.user.dao.UserDao;
import com.cloud.utils.Journal;
public class ReservationContextImpl implements ReservationContext {
@@ -65,17 +64,14 @@ public class ReservationContextImpl implements ReservationContext {
@Override
public Account getAccount() {
- if (_account == null) {
- _account = s_accountDao.findByIdIncludingRemoved(_caller.getId());
- }
- return _account;
+ return _account;
}
@Override
public Domain getDomain() {
if (_domain == null) {
getAccount();
- _domain = s_domainDao.findByIdIncludingRemoved(_account.getDomainId());
+ _domain = s_entityMgr.findById(DomainVO.class, _account.getDomainId());
}
return _domain;
}
@@ -90,13 +86,9 @@ public class ReservationContextImpl implements ReservationContext {
return _reservationId;
}
- static UserDao s_userDao;
- static DomainDao s_domainDao;
- static AccountDao s_accountDao;
+ static EntityManager s_entityMgr;
- static public void setComponents(UserDao userDao, DomainDao domainDao, AccountDao accountDao) {
- s_userDao = userDao;
- s_domainDao = domainDao;
- s_accountDao = accountDao;
+ static public void setComponents(EntityManager entityMgr) {
+ s_entityMgr = entityMgr;
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/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 6b840a9..8378fdd 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -3992,7 +3992,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
}
List<VolumeVO> vmVolumes = _volsDao.findUsableVolumesForInstance(vm.getId());
- Map<VolumeVO, StoragePoolVO> volToPoolObjectMap = new HashMap<VolumeVO, StoragePoolVO>();
+ Map<Volume, StoragePool> volToPoolObjectMap = new HashMap<Volume, StoragePool>();
if (!isVMUsingLocalStorage(vm) && destinationHost.getClusterId().equals(srcHost.getClusterId())) {
if (volumeToPool.isEmpty()) {
// If the destination host is in the same cluster and volumes do not have to be migrated across pools
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/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 409fd62..e42427b 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -38,12 +38,10 @@ import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator;
-import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
import org.apache.cloudstack.framework.jobs.AsyncJobConstants;
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
import org.apache.cloudstack.framework.messagebus.MessageBus;
import org.apache.cloudstack.messagebus.TopicConstants;
-import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.vm.jobs.VmWorkJobDao;
import org.apache.cloudstack.vm.jobs.VmWorkJobVO;
@@ -79,27 +77,23 @@ import com.cloud.agent.manager.allocator.HostAllocator;
import com.cloud.alert.AlertManager;
import com.cloud.api.ApiSerializerHelper;
import com.cloud.async.AsyncJobExecutionContext;
-import com.cloud.capacity.CapacityManager;
-import com.cloud.cluster.ClusterManager;
+import com.cloud.cluster.ManagementServerNode;
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.dao.EntityManager;
import com.cloud.dc.ClusterDetailsDao;
import com.cloud.dc.ClusterDetailsVO;
+import com.cloud.dc.ClusterVO;
import com.cloud.dc.DataCenter;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.HostPodVO;
-import com.cloud.dc.dao.ClusterDao;
-import com.cloud.dc.dao.DataCenterDao;
-import com.cloud.dc.dao.HostPodDao;
import com.cloud.deploy.DataCenterDeployment;
import com.cloud.deploy.DeployDestination;
import com.cloud.deploy.DeploymentPlan;
import com.cloud.deploy.DeploymentPlanner;
import com.cloud.deploy.DeploymentPlanner.ExcludeList;
import com.cloud.deploy.DeploymentPlanningManager;
-import com.cloud.domain.dao.DomainDao;
import com.cloud.event.EventTypes;
import com.cloud.event.UsageEventUtils;
import com.cloud.exception.AffinityConflictException;
@@ -127,14 +121,12 @@ import com.cloud.hypervisor.HypervisorGuruManager;
import com.cloud.network.Network;
import com.cloud.network.NetworkManager;
import com.cloud.network.NetworkModel;
-import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.rules.RulesManager;
import com.cloud.offering.ServiceOffering;
import com.cloud.org.Cluster;
import com.cloud.resource.ResourceManager;
import com.cloud.service.ServiceOfferingVO;
-import com.cloud.service.dao.ServiceOfferingDao;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.StorageManager;
@@ -144,19 +136,11 @@ import com.cloud.storage.Volume;
import com.cloud.storage.Volume.Type;
import com.cloud.storage.VolumeManager;
import com.cloud.storage.VolumeVO;
-import com.cloud.storage.dao.DiskOfferingDao;
-import com.cloud.storage.dao.GuestOSCategoryDao;
-import com.cloud.storage.dao.GuestOSDao;
import com.cloud.storage.dao.StoragePoolHostDao;
-import com.cloud.storage.dao.VMTemplateDao;
import com.cloud.storage.dao.VolumeDao;
-import com.cloud.storage.snapshot.SnapshotManager;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
-import com.cloud.user.ResourceLimitService;
import com.cloud.user.User;
-import com.cloud.user.dao.AccountDao;
-import com.cloud.user.dao.UserDao;
import com.cloud.utils.DateUtil;
import com.cloud.utils.Journal;
import com.cloud.utils.NumbersUtil;
@@ -178,11 +162,9 @@ import com.cloud.vm.VirtualMachine.Event;
import com.cloud.vm.VirtualMachine.PowerState;
import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.dao.NicDao;
-import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.UserVmDetailsDao;
import com.cloud.vm.dao.VMInstanceDao;
import com.cloud.vm.snapshot.VMSnapshotManager;
-import com.cloud.vm.snapshot.dao.VMSnapshotDao;
@Local(value = VirtualMachineManager.class)
public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMachineManager, Listener {
@@ -194,7 +176,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Inject
protected StorageManager _storageMgr;
@Inject
- DataStoreManager dataStoreMgr;
+ DataStoreManager _dataStoreMgr;
@Inject
protected NetworkManager _networkMgr;
@Inject
@@ -203,31 +185,12 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
protected AgentManager _agentMgr;
@Inject
protected VMInstanceDao _vmDao;
- @Inject
- protected ServiceOfferingDao _offeringDao;
- @Inject
- protected DiskOfferingDao _diskOfferingDao;
- @Inject
- protected VMTemplateDao _templateDao;
- @Inject
- protected UserDao _userDao;
- @Inject
- protected AccountDao _accountDao;
- @Inject
- protected DomainDao _domainDao;
- @Inject
- protected ClusterManager _clusterMgr;
-
/*
@Inject
protected ItWorkDao _workDao;
*/
@Inject
- protected UserVmDao _userVmDao;
- @Inject
- protected CapacityManager _capacityMgr;
- @Inject
protected NicDao _nicsDao;
@Inject
protected AccountManager _accountMgr;
@@ -236,36 +199,16 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Inject
protected AlertManager _alertMgr;
@Inject
- protected GuestOSCategoryDao _guestOsCategoryDao;
- @Inject
- protected GuestOSDao _guestOsDao;
- @Inject
protected VolumeDao _volsDao;
@Inject
protected ConfigurationManager _configMgr;
@Inject
protected HighAvailabilityManager _haMgr;
@Inject
- protected HostPodDao _podDao;
- @Inject
- protected DataCenterDao _dcDao;
- @Inject
- protected ClusterDao _clusterDao;
- @Inject
- protected PrimaryDataStoreDao _storagePoolDao;
- @Inject
protected HypervisorGuruManager _hvGuruMgr;
@Inject
- protected NetworkDao _networkDao;
- @Inject
protected StoragePoolHostDao _poolHostDao;
@Inject
- protected VMSnapshotDao _vmSnapshotDao;
- @Inject
- protected VolumeDataFactory volFactory;
- @Inject
- protected ResourceLimitService _resourceLimitMgr;
- @Inject
protected RulesManager rulesMgr;
@Inject
protected AffinityGroupVMMapDao _affinityGroupVMMapDao;
@@ -276,8 +219,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return _planners;
}
- public void setPlanners(List<DeploymentPlanner> _planners) {
- this._planners = _planners;
+ public void setPlanners(List<DeploymentPlanner> planners) {
+ _planners = planners;
}
protected List<HostAllocator> _hostAllocators;
@@ -286,8 +229,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return _hostAllocators;
}
- public void setHostAllocators(List<HostAllocator> _hostAllocators) {
- this._hostAllocators = _hostAllocators;
+ public void setHostAllocators(List<HostAllocator> hostAllocators) {
+ _hostAllocators = hostAllocators;
}
@Inject
@@ -297,9 +240,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
protected ResourceManager _resourceMgr;
@Inject
- protected SnapshotManager _snapshotMgr;
-
- @Inject
protected VMSnapshotManager _vmSnapshotMgr = null;
@Inject
protected ClusterDetailsDao _clusterDetailsDao;
@@ -309,7 +249,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Inject
protected ConfigurationDao _configDao;
@Inject
- VolumeManager volumeMgr;
+ VolumeManager _volumeMgr;
@Inject protected MessageBus _messageBus;
@Inject protected VirtualMachinePowerStateSync _syncMgr;
@@ -398,15 +338,15 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
if (template.getFormat() == ImageFormat.ISO) {
- volumeMgr.allocateRawVolume(Type.ROOT, "ROOT-" + vm.getId(), rootDiskOffering.first(), rootDiskOffering.second(), vm, owner);
+ _volumeMgr.allocateRawVolume(Type.ROOT, "ROOT-" + vm.getId(), rootDiskOffering.first(), rootDiskOffering.second(), vm, owner);
} else if (template.getFormat() == ImageFormat.BAREMETAL) {
// Do nothing
} else {
- volumeMgr.allocateTemplatedVolume(Type.ROOT, "ROOT-" + vm.getId(), rootDiskOffering.first(), template, vm, owner);
+ _volumeMgr.allocateTemplatedVolume(Type.ROOT, "ROOT-" + vm.getId(), rootDiskOffering.first(), template, vm, owner);
}
for (Pair<DiskOfferingVO, Long> offering : dataDiskOfferings) {
- volumeMgr.allocateRawVolume(Type.DATADISK, "DATA-" + vm.getId(), offering.first(), offering.second(), vm, owner);
+ _volumeMgr.allocateRawVolume(Type.DATADISK, "DATA-" + vm.getId(), offering.first(), offering.second(), vm, owner);
}
txn.commit();
@@ -466,7 +406,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
s_logger.debug("Cleaning up NICS");
_networkMgr.cleanupNics(profile);
// Clean up volumes based on the vm's instance id
- volumeMgr.cleanupVolumes(vm.getId());
+ _volumeMgr.cleanupVolumes(vm.getId());
VirtualMachineGuru guru = getVmGuru(vm);
guru.finalizeExpunge(vm);
@@ -521,8 +461,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
_retry = NumbersUtil.parseInt(params.get(Config.StartRetry.key()), 10);
- ReservationContextImpl.setComponents(_userDao, _domainDao, _accountDao);
- VirtualMachineProfileImpl.setComponents(_offeringDao, _templateDao, _accountDao);
+ ReservationContextImpl.setComponents(_entityMgr);
+ VirtualMachineProfileImpl.setComponents(_entityMgr);
_cancelWait = NumbersUtil.parseLong(params.get(Config.VmOpCancelInterval.key()), 3600);
_cleanupWait = NumbersUtil.parseLong(params.get(Config.VmOpCleanupWait.key()), 3600);
@@ -533,7 +473,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
_forceStop = Boolean.parseBoolean(params.get(Config.VmDestroyForcestop.key()));
_executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Vm-Operations-Cleanup"));
- _nodeId = _clusterMgr.getManagementNodeId();
+ _nodeId = ManagementServerNode.getManagementServerId();
_agentMgr.registerForHostEvents(this, true, true, true);
@@ -849,7 +789,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
job.log(s_logger, "Recreating" + vol + " of " + vm + " because its template has changed.");
plan.setPoolId(null);
} else {
- StoragePool pool = (StoragePool)dataStoreMgr.getPrimaryDataStore(vol.getPoolId());
+ StoragePool pool = (StoragePool)_dataStoreMgr.getPrimaryDataStore(vol.getPoolId());
Long rootVolPodId = pool.getPodId();
Long rootVolClusterId = pool.getClusterId();
Long clusterIdSpecified = plan.getClusterId();
@@ -921,8 +861,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
VmWorkJobVO work = start.third();
VMInstanceVO startedVm = null;
- ServiceOfferingVO offering = _offeringDao.findById(vm.getServiceOfferingId());
- VMTemplateVO template = _templateDao.findById(vm.getTemplateId());
+ ServiceOfferingVO offering = _entityMgr.findById(ServiceOfferingVO.class, vm.getServiceOfferingId());
+ VMTemplateVO template = _entityMgr.findById(VMTemplateVO.class, vm.getTemplateId());
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vm.getHypervisorType());
@@ -954,7 +894,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
try {
_networkMgr.prepare(vmProfile, dest, reservation);
- volumeMgr.prepare(vmProfile, dest);
+ _volumeMgr.prepare(vmProfile, dest);
reuseVolume = true;
@@ -1168,7 +1108,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
s_logger.warn("Unable to release some network resources.", e);
}
- volumeMgr.release(profile);
+ _volumeMgr.release(profile);
s_logger.debug("Successfully cleanued up resources for the vm " + vm + " in " + state + " state");
return true;
}
@@ -1366,7 +1306,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
try {
if (vm.getHypervisorType() != HypervisorType.BareMetal) {
- volumeMgr.release(profile);
+ _volumeMgr.release(profile);
s_logger.debug("Successfully released storage resources for the vm " + vm);
}
} catch (Exception e) {
@@ -1652,7 +1592,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
boolean migrationResult = false;
try {
- migrationResult = volumeMgr.storageMigration(profile, destPool);
+ migrationResult = _volumeMgr.storageMigration(profile, destPool);
if (migrationResult) {
//if the vm is migrated to different pod in basic mode, need to reallocate ip
@@ -1861,24 +1801,23 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
*/
}
- private Map<VolumeVO, StoragePoolVO> getPoolListForVolumesForMigration(VirtualMachineProfile profile,
- Host host, Map<VolumeVO, StoragePoolVO> volumeToPool) {
+ private void filterPoolListForVolumesForMigration(VirtualMachineProfile profile, Host host, Map<Volume, StoragePool> volumeToPool) {
List<VolumeVO> allVolumes = _volsDao.findUsableVolumesForInstance(profile.getId());
for (VolumeVO volume : allVolumes) {
- StoragePoolVO pool = volumeToPool.get(volume);
- DiskOfferingVO diskOffering = _diskOfferingDao.findById(volume.getDiskOfferingId());
- StoragePoolVO currentPool = _storagePoolDao.findById(volume.getPoolId());
- if (pool != null) {
+ StoragePool dstPool = volumeToPool.get(volume);
+ DiskOfferingVO diskOffering = _entityMgr.findById(DiskOfferingVO.class, volume.getDiskOfferingId());
+ StoragePoolVO srcPool = _entityMgr.findById(StoragePoolVO.class, volume.getPoolId());
+ if (dstPool != null) {
// Check if pool is accessible from the destination host and disk offering with which the volume was
// created is compliant with the pool type.
- if (_poolHostDao.findByPoolHost(pool.getId(), host.getId()) == null ||
- pool.isLocal() != diskOffering.getUseLocalStorage()) {
+ if (_poolHostDao.findByPoolHost(dstPool.getId(), host.getId()) == null ||
+ dstPool.isLocal() != diskOffering.getUseLocalStorage()) {
// Cannot find a pool for the volume. Throw an exception.
- throw new CloudRuntimeException("Cannot migrate volume " + volume + " to storage pool " + pool +
+ throw new CloudRuntimeException("Cannot migrate volume " + volume + " to storage pool " + dstPool +
" while migrating vm to host " + host + ". Either the pool is not accessible from the " +
"host or because of the offering with which the volume is created it cannot be placed on " +
"the given pool.");
- } else if (pool.getId() == currentPool.getId()){
+ } else if (dstPool.getId() == srcPool.getId()){
// If the pool to migrate too is the same as current pool, remove the volume from the list of
// volumes to be migrated.
volumeToPool.remove(volume);
@@ -1898,10 +1837,10 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
// Volume needs to be migrated. Pick the first pool from the list. Add a mapping to migrate the
// volume to a pool only if it is required; that is the current pool on which the volume resides
// is not available on the destination host.
- if (poolList.contains(currentPool)) {
+ if (poolList.contains(srcPool)) {
currentPoolAvailable = true;
} else {
- volumeToPool.put(volume, _storagePoolDao.findByUuid(poolList.get(0).getUuid()));
+ volumeToPool.put(volume, poolList.get(0));
}
break;
@@ -1916,8 +1855,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
}
}
-
- return volumeToPool;
}
private void moveVmToMigratingState(VMInstanceVO vm, Long hostId, VmWorkJobVO work)
@@ -1950,23 +1887,23 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public VirtualMachine migrateWithStorage(String vmUuid, long srcHostId, long destHostId,
- Map<VolumeVO, StoragePoolVO> volumeToPool) throws ResourceUnavailableException, ConcurrentOperationException,
+ Map<Volume, StoragePool> volumeToPool) throws ResourceUnavailableException, ConcurrentOperationException,
ManagementServerException, VirtualMachineMigrationException {
CallContext context = CallContext.current();
VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
- HostVO srcHost = _hostDao.findById(srcHostId);
- HostVO destHost = _hostDao.findById(destHostId);
+ HostVO srcHost = _entityMgr.findById(HostVO.class, srcHostId);
+ HostVO destHost = _entityMgr.findById(HostVO.class, destHostId);
VirtualMachineGuru vmGuru = getVmGuru(vm);
- DataCenterVO dc = _dcDao.findById(destHost.getDataCenterId());
- HostPodVO pod = _podDao.findById(destHost.getPodId());
- Cluster cluster = _clusterDao.findById(destHost.getClusterId());
+ DataCenterVO dc = _entityMgr.findById(DataCenterVO.class, destHost.getDataCenterId());
+ HostPodVO pod = _entityMgr.findById(HostPodVO.class, destHost.getPodId());
+ Cluster cluster = _entityMgr.findById(ClusterVO.class, destHost.getClusterId());
DeployDestination destination = new DeployDestination(dc, pod, cluster, destHost);
// Create a map of which volume should go in which storage pool.
VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
- volumeToPool = getPoolListForVolumesForMigration(profile, destHost, volumeToPool);
+ filterPoolListForVolumesForMigration(profile, destHost, volumeToPool);
// If none of the volumes have to be migrated, fail the call. Administrator needs to make a call for migrating
// a vm and not migrating a vm with storage.
@@ -1983,7 +1920,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
_networkMgr.prepareNicForMigration(profile, destination);
- volumeMgr.prepareForMigration(profile, destination);
+ _volumeMgr.prepareForMigration(profile, destination);
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vm.getHypervisorType());
VirtualMachineTO to = hvGuru.implement(profile);
@@ -2001,7 +1938,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
boolean migrated = false;
try {
// Migrate the vm and its volume.
- volumeMgr.migrateVolumes(vm, to, srcHost, destHost, volumeToPool);
+ _volumeMgr.migrateVolumes(vm, to, srcHost, destHost, volumeToPool);
// Put the vm back to running state.
moveVmOutofMigratingStateOnSuccess(vm, destHost.getId(), work);
@@ -2050,7 +1987,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(profile.getVirtualMachine().getHypervisorType());
VirtualMachineTO to = hvGuru.implement(profile);
return to;
- }
+ }
protected void cancelWorkItems(long nodeId) {
/*
@@ -2095,6 +2032,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public boolean migrateAway(VirtualMachine.Type vmType, long vmId, long srcHostId) throws InsufficientServerCapacityException, VirtualMachineMigrationException {
+ CallContext cc = CallContext.current();
VMInstanceVO vm = _vmDao.findById(vmId);
if (vm == null) {
s_logger.debug("Unable to find a VM for " + vmId);
@@ -2160,7 +2098,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return true;
}
try {
- advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ advanceStop(vm.getUuid(), true, cc.getCallingUser(), cc.getCallingAccount());
return true;
} catch (ResourceUnavailableException e) {
s_logger.debug("Unable to stop VM due to " + e.getMessage());
@@ -3038,7 +2976,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public void checkIfCanUpgrade(VirtualMachine vmInstance, long newServiceOfferingId) {
- ServiceOfferingVO newServiceOffering = _offeringDao.findById(newServiceOfferingId);
+ ServiceOfferingVO newServiceOffering = _entityMgr.findById(ServiceOfferingVO.class, newServiceOfferingId);
if (newServiceOffering == null) {
throw new InvalidParameterValueException("Unable to find a service offering with id " + newServiceOfferingId);
}
@@ -3061,7 +2999,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
"has the requested service offering (" + newServiceOffering.getName() + ")");
}
- ServiceOfferingVO currentServiceOffering = _offeringDao.findByIdIncludingRemoved(vmInstance.getServiceOfferingId());
+ ServiceOfferingVO currentServiceOffering = _entityMgr.findByIdIncludingRemoved(ServiceOfferingVO.class, vmInstance.getServiceOfferingId());
// Check that the service offering being upgraded to has the same Guest IP type as the VM's current service offering
// NOTE: With the new network refactoring in 2.2, we shouldn't need the check for same guest IP type anymore.
@@ -3183,19 +3121,13 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile requested) throws ConcurrentOperationException,
ResourceUnavailableException, InsufficientCapacityException {
+ CallContext cc = CallContext.current();
s_logger.debug("Adding vm " + vm + " to network " + network + "; requested nic profile " + requested);
- VMInstanceVO vmVO;
- if (vm.getType() == VirtualMachine.Type.User) {
- vmVO = _userVmDao.findById(vm.getId());
- } else {
- vmVO = _vmDao.findById(vm.getId());
- }
- ReservationContext context = new ReservationContextImpl(null, null, _accountMgr.getActiveUser(User.UID_SYSTEM),
- _accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM));
+ VMInstanceVO vmVO = _vmDao.findById(vm.getId());
+ ReservationContext context = new ReservationContextImpl(null, null, cc.getCallingUser(), cc.getCallingAccount());
- VirtualMachineProfileImpl vmProfile = new VirtualMachineProfileImpl(vmVO, null,
- null, null, null);
+ VirtualMachineProfileImpl vmProfile = new VirtualMachineProfileImpl(vmVO, null, null, null, null);
DataCenter dc = _configMgr.getZone(network.getDataCenterId());
Host host = _hostDao.findById(vm.getHostId());
@@ -3255,10 +3187,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public boolean removeNicFromVm(VirtualMachine vm, NicVO nic) throws ConcurrentOperationException, ResourceUnavailableException {
+ CallContext cc = CallContext.current();
+
VMInstanceVO vmVO = _vmDao.findById(vm.getId());
- NetworkVO network = _networkDao.findById(nic.getNetworkId());
- ReservationContext context = new ReservationContextImpl(null, null, _accountMgr.getActiveUser(User.UID_SYSTEM),
- _accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM));
+ NetworkVO network = _entityMgr.findById(NetworkVO.class, nic.getNetworkId());
+ ReservationContext context = new ReservationContextImpl(null, null, cc.getCallingUser(), cc.getCallingAccount());
VirtualMachineProfileImpl vmProfile = new VirtualMachineProfileImpl(vmVO, null,
null, null, null);
@@ -3319,9 +3252,10 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
@Override
public boolean removeVmFromNetwork(VirtualMachine vm, Network network, URI broadcastUri) throws ConcurrentOperationException, ResourceUnavailableException {
+ CallContext cc = CallContext.current();
+
VMInstanceVO vmVO = _vmDao.findById(vm.getId());
- ReservationContext context = new ReservationContextImpl(null, null, _accountMgr.getActiveUser(User.UID_SYSTEM),
- _accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM));
+ ReservationContext context = new ReservationContextImpl(null, null, cc.getCallingUser(), cc.getCallingAccount());
VirtualMachineProfileImpl vmProfile = new VirtualMachineProfileImpl(vmVO, null,
null, null, null);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/test/com/cloud/async/MockVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/async/MockVirtualMachineManagerImpl.java b/server/test/com/cloud/async/MockVirtualMachineManagerImpl.java
deleted file mode 100644
index e164d05..0000000
--- a/server/test/com/cloud/async/MockVirtualMachineManagerImpl.java
+++ /dev/null
@@ -1,361 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.async;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import javax.naming.ConfigurationException;
-
-import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
-
-import com.cloud.agent.api.to.NicTO;
-import com.cloud.agent.api.to.VirtualMachineTO;
-import com.cloud.deploy.DeployDestination;
-import com.cloud.deploy.DeploymentPlan;
-import com.cloud.exception.AgentUnavailableException;
-import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InsufficientServerCapacityException;
-import com.cloud.exception.ManagementServerException;
-import com.cloud.exception.OperationTimedoutException;
-import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.exception.VirtualMachineMigrationException;
-import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.Network;
-import com.cloud.network.dao.NetworkVO;
-import com.cloud.offering.ServiceOffering;
-import com.cloud.service.ServiceOfferingVO;
-import com.cloud.storage.DiskOfferingVO;
-import com.cloud.storage.StoragePool;
-import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.VolumeVO;
-import com.cloud.user.Account;
-import com.cloud.user.User;
-import com.cloud.utils.Pair;
-import com.cloud.utils.fsm.NoTransitionException;
-import com.cloud.vm.NicProfile;
-import com.cloud.vm.NicVO;
-import com.cloud.vm.VMInstanceVO;
-import com.cloud.vm.VirtualMachine;
-import com.cloud.vm.VmWork;
-import com.cloud.vm.VirtualMachine.Event;
-import com.cloud.vm.VirtualMachine.Type;
-import com.cloud.vm.VirtualMachineGuru;
-import com.cloud.vm.VirtualMachineManager;
-import com.cloud.vm.VirtualMachineProfile;
-import com.cloud.vm.VirtualMachineProfile.Param;
-
-public class MockVirtualMachineManagerImpl implements VirtualMachineManager {
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void setName(String name) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setConfigParams(Map<String, Object> params) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public Map<String, Object> getConfigParams() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int getRunLevel() {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public void setRunLevel(int level) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean configure(String name, Map<String, Object> params)
- throws ConfigurationException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean start() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean stop() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean allocate(String vmInstanceName, VMTemplateVO template,
- ServiceOfferingVO serviceOffering,
- Pair<? extends DiskOfferingVO, Long> rootDiskOffering,
- List<Pair<DiskOfferingVO, Long>> dataDiskOfferings,
- List<Pair<NetworkVO, NicProfile>> networks,
- Map<Param, Object> params, DeploymentPlan plan,
- HypervisorType hyperType, Account owner) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean allocate(String vmInstanceName, VMTemplateVO template,
- ServiceOfferingVO serviceOffering,
- List<Pair<NetworkVO, NicProfile>> networkProfiles,
- DeploymentPlan plan, HypervisorType hyperType, Account owner) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void start(String vmUuid, Map<Param, Object> params,
- @Deprecated User caller, @Deprecated Account account) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void start(String vmUuid, Map<Param, Object> params,
- @Deprecated User caller, @Deprecated Account account,
- DeploymentPlan planToDeploy) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void stop(String vmUuid, @Deprecated User caller,
- @Deprecated Account account) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void expunge(String vmUuid, @Deprecated User caller,
- @Deprecated Account account) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void registerGuru(Type type, VirtualMachineGuru guru) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public Collection<VirtualMachineGuru> getRegisteredGurus() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean stateTransitTo(VMInstanceVO vm, Event e, Long hostId)
- throws NoTransitionException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void advanceStart(String vmUuid, Map<Param, Object> params,
- @Deprecated User caller, @Deprecated Account account)
- throws InsufficientCapacityException, ResourceUnavailableException,
- ConcurrentOperationException, OperationTimedoutException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void advanceStart(String vmUuid, Map<Param, Object> params,
- @Deprecated User caller, @Deprecated Account account,
- DeploymentPlan planToDeploy) throws InsufficientCapacityException,
- ResourceUnavailableException, ConcurrentOperationException,
- OperationTimedoutException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void advanceStop(String vmUuid, boolean cleanup,
- @Deprecated User caller, @Deprecated Account account)
- throws ResourceUnavailableException, OperationTimedoutException,
- ConcurrentOperationException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void advanceExpunge(String vmUuid, @Deprecated User caller,
- @Deprecated Account account) throws ResourceUnavailableException,
- OperationTimedoutException, ConcurrentOperationException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean destroy(String vmUuid, @Deprecated User caller,
- @Deprecated Account account) throws ResourceUnavailableException,
- OperationTimedoutException, ConcurrentOperationException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean migrateAway(Type type, long vmid, long hostId)
- throws InsufficientServerCapacityException,
- VirtualMachineMigrationException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public VirtualMachine migrate(String vmUuid, long srcHostId,
- DeployDestination dest) throws ResourceUnavailableException,
- ConcurrentOperationException, ManagementServerException,
- VirtualMachineMigrationException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public VirtualMachine migrateWithStorage(String vmUuid, long srcId,
- long destId, Map<VolumeVO, StoragePoolVO> volumeToPool)
- throws ResourceUnavailableException, ConcurrentOperationException,
- ManagementServerException, VirtualMachineMigrationException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void reboot(String vmUuid, User caller, Account account) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void advanceReboot(String vmUuid, User caller, Account account)
- throws InsufficientCapacityException, ResourceUnavailableException,
- ConcurrentOperationException, OperationTimedoutException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public VirtualMachine storageMigration(String vmUuid,
- StoragePool storagePoolId) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void checkIfCanUpgrade(VirtualMachine vmInstance,
- long newServiceOfferingId) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean upgradeVmDb(long vmId, long serviceOfferingId) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public NicProfile addVmToNetwork(VirtualMachine vm, Network network,
- NicProfile requested) throws ConcurrentOperationException,
- ResourceUnavailableException, InsufficientCapacityException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean removeNicFromVm(VirtualMachine vm, NicVO nic)
- throws ConcurrentOperationException, ResourceUnavailableException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean removeVmFromNetwork(VirtualMachine vm, Network network,
- URI broadcastUri) throws ConcurrentOperationException,
- ResourceUnavailableException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public VirtualMachineTO toVmTO(VirtualMachineProfile profile) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean reConfigureVm(VirtualMachine vm,
- ServiceOffering newServiceOffering, boolean sameHost)
- throws ResourceUnavailableException, ConcurrentOperationException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean findHostAndMigrate(String vmUuid, Long newSvcOfferingId)
- throws InsufficientCapacityException, ConcurrentOperationException,
- ResourceUnavailableException, VirtualMachineMigrationException,
- ManagementServerException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean migrateForScale(String vmUuid, long srcHostId,
- DeployDestination dest, Long newSvcOfferingId)
- throws ResourceUnavailableException, ConcurrentOperationException,
- ManagementServerException, VirtualMachineMigrationException {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public NicTO toNicTO(NicProfile nic, HypervisorType hypervisorType) {
- // TODO Auto-generated method stub
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
index e7dd38d..659adb7 100644
--- a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
+++ b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
@@ -58,6 +58,7 @@ import com.cloud.agent.api.ScaleVmCommand;
import com.cloud.capacity.CapacityManager;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.configuration.dao.ConfigurationDao;
+import com.cloud.dao.EntityManager;
import com.cloud.dc.dao.ClusterDao;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.dc.dao.HostPodDao;
@@ -75,8 +76,10 @@ import com.cloud.hypervisor.HypervisorGuruManager;
import com.cloud.network.NetworkManager;
import com.cloud.service.ServiceOfferingVO;
import com.cloud.storage.DiskOfferingVO;
+import com.cloud.storage.StoragePool;
import com.cloud.storage.StoragePoolHostVO;
import com.cloud.storage.VMTemplateVO;
+import com.cloud.storage.Volume;
import com.cloud.storage.VolumeManager;
import com.cloud.storage.VolumeVO;
import com.cloud.storage.dao.DiskOfferingDao;
@@ -152,6 +155,9 @@ public class VirtualMachineManagerImplTest {
@Mock
ItWorkVO _work;
+ @Mock
+ EntityManager _entityMgr;
+
@Mock ClusterDao _clusterDao;
@Mock HostPodDao _podDao;
@Mock DataCenterDao _dcDao;
@@ -168,31 +174,24 @@ public class VirtualMachineManagerImplTest {
@Mock StoragePoolVO _destStoragePoolMock;
@Mock HostVO _srcHostMock;
@Mock HostVO _destHostMock;
- @Mock Map<VolumeVO, StoragePoolVO> _volumeToPoolMock;
+ @Mock
+ Map<Volume, StoragePool> _volumeToPoolMock;
@Before
public void setup(){
MockitoAnnotations.initMocks(this);
- _vmMgr._templateDao = _templateDao;
+ _vmMgr._entityMgr = _entityMgr;
_vmMgr._volsDao = _volsDao;
- _vmMgr.volumeMgr = _storageMgr;
- _vmMgr._accountDao = _accountDao;
- _vmMgr._userDao = _userDao;
+ _vmMgr._volumeMgr = _storageMgr;
_vmMgr._accountMgr = _accountMgr;
_vmMgr._configMgr = _configMgr;
- _vmMgr._capacityMgr = _capacityMgr;
_vmMgr._hostDao = _hostDao;
_vmMgr._nodeId = 1L;
/*
_vmMgr._workDao = _workDao;
*/
_vmMgr._agentMgr = _agentMgr;
- _vmMgr._podDao = _podDao;
- _vmMgr._clusterDao = _clusterDao;
- _vmMgr._dcDao = _dcDao;
- _vmMgr._diskOfferingDao = _diskOfferingDao;
- _vmMgr._storagePoolDao = _storagePoolDao;
_vmMgr._poolHostDao= _poolHostDao;
_vmMgr._networkMgr = _networkMgr;
_vmMgr._hvGuruMgr = _hvGuruMgr;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad1c82fd/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
index 98b5af8..1d49071 100644
--- a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
+++ b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
@@ -28,7 +28,6 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.framework.jobs.AsyncJobConstants;
import org.apache.cloudstack.framework.messagebus.MessageBus;
-import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import com.cloud.agent.api.to.NicTO;
import com.cloud.agent.api.to.VirtualMachineTO;
@@ -51,7 +50,7 @@ import com.cloud.service.ServiceOfferingVO;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.VolumeVO;
+import com.cloud.storage.Volume;
import com.cloud.user.Account;
import com.cloud.user.User;
import com.cloud.utils.Pair;
@@ -353,7 +352,7 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
}
@Override
- public VirtualMachine migrateWithStorage(String vmUuid, long srcId, long destId, Map<VolumeVO, StoragePoolVO> volumeToPool) throws ResourceUnavailableException,
+ public VirtualMachine migrateWithStorage(String vmUuid, long srcId, long destId, Map<Volume, StoragePool> volumeToPool) throws ResourceUnavailableException,
ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException {
// TODO Auto-generated method stub
return null;
[3/5] git commit: updated refs/heads/vmsync to d71e358
Posted by ah...@apache.org.
Removed all the apis that need the user and account to be passed in. Get them from the call context instead
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/33dfe4f7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/33dfe4f7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/33dfe4f7
Branch: refs/heads/vmsync
Commit: 33dfe4f75236c4f87e5ce7d60242692b5373127f
Parents: ad1c82f
Author: Alex Huang <al...@gmail.com>
Authored: Tue Jun 11 14:11:40 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Tue Jun 11 14:11:40 2013 -0700
----------------------------------------------------------------------
.../apache/cloudstack/context/CallContext.java | 19 +++++---
.../src/com/cloud/vm/VirtualMachineManager.java | 19 ++++----
.../engine/vm/VMEntityManagerImpl.java | 11 +++--
.../lb/ElasticLoadBalancerManagerImpl.java | 36 ++++++++++-----
.../lb/InternalLoadBalancerVMManagerImpl.java | 6 +--
.../cloud/agent/manager/AgentManagerImpl.java | 2 +-
.../consoleproxy/ConsoleProxyManagerImpl.java | 6 +--
.../cloud/ha/HighAvailabilityManagerImpl.java | 21 +++++----
.../VirtualNetworkApplianceManagerImpl.java | 12 ++---
.../com/cloud/resource/ResourceManagerImpl.java | 5 +--
.../com/cloud/server/ManagementServerImpl.java | 4 +-
.../storage/StoragePoolAutomationImpl.java | 22 ++++-----
.../secondary/SecondaryStorageManagerImpl.java | 6 +--
.../storage/snapshot/SnapshotSchedulerImpl.java | 2 +-
.../src/com/cloud/user/AccountManagerImpl.java | 4 +-
.../src/com/cloud/vm/SystemVmLoadScanner.java | 7 ++-
server/src/com/cloud/vm/UserVmManagerImpl.java | 6 +--
.../com/cloud/vm/VirtualMachineManagerImpl.java | 47 +++++++++-----------
.../vm/snapshot/VMSnapshotManagerImpl.java | 4 +-
.../vm/VmWorkMockVirtualMachineManagerImpl.java | 32 ++++---------
20 files changed, 135 insertions(+), 136 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/api/src/org/apache/cloudstack/context/CallContext.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/context/CallContext.java b/api/src/org/apache/cloudstack/context/CallContext.java
index 6610896..c4271f5 100644
--- a/api/src/org/apache/cloudstack/context/CallContext.java
+++ b/api/src/org/apache/cloudstack/context/CallContext.java
@@ -104,14 +104,19 @@ public class CallContext {
return callingContext;
}
- public static CallContext registerOnceOnly() {
- CallContext context = s_currentContext.get();
- if (context == null) {
- return register(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, null);
+ public static CallContext registerSystemCallContextOnceOnly() {
+ try {
+ CallContext context = s_currentContext.get();
+ if (context == null) {
+ return register(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, null);
+ }
+ assert context.getCallingUserId() == User.UID_SYSTEM : "You are calling a very specific method that registers a one time system context. This method is meant for background threads that does processing.";
+ return context;
+ } catch (Exception e) {
+ s_logger.fatal("Exiting the system because we're unable to register the system call context.", e);
+ System.exit(1);
+ throw new CloudRuntimeException("Should never hit this");
}
-
- assert context.getCallingUserId() == User.UID_SYSTEM : "You are calling a very specific method that registers a one time system context. This method is meant for background threads that does processing.";
- return context;
}
public static CallContext register(String callingUserUuid, String callingAccountUuid, String contextId) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
index 70142d5..1a647e1 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
@@ -87,13 +87,13 @@ public interface VirtualMachineManager extends Manager {
HypervisorType hyperType,
Account owner);
- void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, @Deprecated User caller, @Deprecated Account account);
+ void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params);
- void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, @Deprecated User caller, @Deprecated Account account, DeploymentPlan planToDeploy);
+ void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy);
- void stop(String vmUuid, @Deprecated User caller, @Deprecated Account account);
+ void stop(String vmUuid);
- void expunge(String vmUuid, @Deprecated User caller, @Deprecated Account account);
+ void expunge(String vmUuid);
void registerGuru(VirtualMachine.Type type, VirtualMachineGuru guru);
@@ -105,19 +105,16 @@ public interface VirtualMachineManager extends Manager {
boolean stateTransitTo(VMInstanceVO vm, VirtualMachine.Event e, Long hostId) throws NoTransitionException;
- void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, @Deprecated User caller, @Deprecated Account account) throws InsufficientCapacityException,
- ResourceUnavailableException, ConcurrentOperationException, OperationTimedoutException;
-
- void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, @Deprecated User caller, @Deprecated Account account, DeploymentPlan planToDeploy)
+ void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy)
throws InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException, OperationTimedoutException;
- void advanceStop(String vmUuid, boolean cleanup, @Deprecated User caller, @Deprecated Account account) throws ResourceUnavailableException, OperationTimedoutException,
+ void advanceStop(String vmUuid, boolean cleanup) throws ResourceUnavailableException, OperationTimedoutException,
ConcurrentOperationException;
- void advanceExpunge(String vmUuid, @Deprecated User caller, @Deprecated Account account) throws ResourceUnavailableException, OperationTimedoutException,
+ void advanceExpunge(String vmUuid) throws ResourceUnavailableException, OperationTimedoutException,
ConcurrentOperationException;
- boolean destroy(String vmUuid, @Deprecated User caller, @Deprecated Account account) throws ResourceUnavailableException, OperationTimedoutException,
+ boolean destroy(String vmUuid) throws ResourceUnavailableException, OperationTimedoutException,
ConcurrentOperationException;
boolean migrateAway(VirtualMachine.Type type, long vmid, long hostId) throws InsufficientServerCapacityException, VirtualMachineMigrationException;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/engine/orchestration/src/org/apache/cloudstack/engine/vm/VMEntityManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/vm/VMEntityManagerImpl.java b/engine/orchestration/src/org/apache/cloudstack/engine/vm/VMEntityManagerImpl.java
index 82706a2..c4e2b4c 100755
--- a/engine/orchestration/src/org/apache/cloudstack/engine/vm/VMEntityManagerImpl.java
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/vm/VMEntityManagerImpl.java
@@ -242,15 +242,14 @@ public class VMEntityManagerImpl implements VMEntityManager {
DataCenterDeployment reservedPlan = new DataCenterDeployment(vm.getDataCenterId(),
vmReservation.getPodId(), vmReservation.getClusterId(), vmReservation.getHostId(), null, null);
try {
- _itMgr.start(vm.getUuid(), params, _userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()), reservedPlan);
+ _itMgr.start(vm.getUuid(), params, reservedPlan);
} catch (CloudRuntimeException ex) {
// Retry the deployment without using the reservation plan
- _itMgr.start(vm.getUuid(), params, _userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()),
- null);
+ _itMgr.start(vm.getUuid(), params, null);
}
} else {
// no reservation found. Let VirtualMachineManager retry
- _itMgr.start(vm.getUuid(), params, _userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()), null);
+ _itMgr.start(vm.getUuid(), params, null);
}
}
@@ -258,7 +257,7 @@ public class VMEntityManagerImpl implements VMEntityManager {
@Override
public boolean stop(VMEntityVO vm, String caller) throws ResourceUnavailableException {
try {
- _itMgr.stop(vm.getUuid(), _userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()));
+ _itMgr.stop(vm.getUuid());
return true;
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to stop " + vm, e);
@@ -271,7 +270,7 @@ public class VMEntityManagerImpl implements VMEntityManager {
public boolean destroy(VMEntityVO vm, String caller) throws ResourceUnavailableException, OperationTimedoutException, ConcurrentOperationException {
try {
- _itMgr.destroy(vm.getUuid(), _userDao.findById(new Long(caller)), _accountDao.findById(vm.getAccountId()));
+ _itMgr.destroy(vm.getUuid());
return true;
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to destroy " + vm, e);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index 7d5e023..d8daeae 100644
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@ -204,6 +204,7 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
static final private String _systemVmType = "elbvm";
boolean _enabled;
+ long _gcIntervalMinutes;
TrafficType _frontendTrafficType = TrafficType.Guest;
Account _systemAcct;
@@ -386,6 +387,15 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
}
@Override
+ public boolean start() {
+ if (_enabled) {
+ _gcThreadPool.scheduleAtFixedRate(new CleanupTask(), _gcIntervalMinutes, _gcIntervalMinutes, TimeUnit.MINUTES);
+ }
+ return true;
+
+ }
+
+ @Override
public boolean configure(String name, Map<String, Object> params)
throws ConfigurationException {
final Map<String, String> configs = _configDao.getConfiguration("AgentManager", params);
@@ -420,12 +430,11 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
} else
throw new ConfigurationException("ELB: Traffic type for front end of load balancer has to be guest or public; found : " + traffType);
s_logger.info("ELB: Elastic Load Balancer: will balance on " + traffType );
- int gcIntervalMinutes = NumbersUtil.parseInt(configs.get(Config.ElasticLoadBalancerVmGcInterval.key()), 5);
- if (gcIntervalMinutes < 5)
- gcIntervalMinutes = 5;
- s_logger.info("ELB: Elastic Load Balancer: scheduling GC to run every " + gcIntervalMinutes + " minutes" );
+ _gcIntervalMinutes = NumbersUtil.parseInt(configs.get(Config.ElasticLoadBalancerVmGcInterval.key()), 5);
+ if (_gcIntervalMinutes < 5)
+ _gcIntervalMinutes = 5;
+ s_logger.info("ELB: Elastic Load Balancer: scheduling GC to run every " + _gcIntervalMinutes + " minutes");
_gcThreadPool = Executors.newScheduledThreadPool(1, new NamedThreadFactory("ELBVM-GC"));
- _gcThreadPool.scheduleAtFixedRate(new CleanupThread(), gcIntervalMinutes, gcIntervalMinutes, TimeUnit.MINUTES);
_itMgr.registerGuru(VirtualMachine.Type.ElasticLoadBalancerVm, this);
}
@@ -537,7 +546,7 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("Starting ELB VM " + elbVm);
try {
- _itMgr.start(elbVm.getUuid(), params, user, caller);
+ _itMgr.start(elbVm.getUuid(), params);
return _routerDao.findById(elbVm.getId());
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to start " + elbVm, e);
@@ -548,7 +557,7 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
private DomainRouterVO stop(DomainRouterVO elbVm, boolean forced, User user, Account caller) throws ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("Stopping ELB vm " + elbVm);
try {
- _itMgr.advanceStop(elbVm.getUuid(), forced, user, caller);
+ _itMgr.advanceStop(elbVm.getUuid(), forced);
return _routerDao.findById(elbVm.getId());
} catch (OperationTimedoutException e) {
throw new CloudRuntimeException("Unable to stop " + elbVm, e);
@@ -739,7 +748,7 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
if (gceed) {
try {
s_logger.info("Attempting to destroy ELB VM: " + elbVm);
- _itMgr.expunge(elbVm.getUuid(), user, _systemAcct);
+ _itMgr.expunge(elbVm.getUuid());
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to destroy unused ELB vm " + elbVm + " due to ", e);
gceed = false;
@@ -753,14 +762,21 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
_gcCandidateElbVmIds = currentGcCandidates;
}
- public class CleanupThread implements Runnable {
+ public class CleanupTask implements Runnable {
@Override
public void run() {
+ try {
+ CallContext.registerSystemCallContextOnceOnly();
+ } catch (Exception e) {
+ s_logger.fatal("Unable to establish system context");
+ System.exit(1);
+ }
+
garbageCollectUnusedElbVms();
}
- CleanupThread() {
+ CleanupTask() {
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
index 5413c16..6754103 100644
--- a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
+++ b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
@@ -526,7 +526,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements
_accountMgr.checkAccess(caller, null, true, internalLbVm);
try {
- _itMgr.expunge(internalLbVm.getUuid(), _accountMgr.getActiveUser(callerUserId), caller);
+ _itMgr.expunge(internalLbVm.getUuid());
return true;
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to expunge internal load balancer", e);
@@ -552,7 +552,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements
protected VirtualRouter stopInternalLbVm(DomainRouterVO internalLbVm, boolean forced, Account caller, long callerUserId) throws ResourceUnavailableException, ConcurrentOperationException {
s_logger.debug("Stopping internal lb vm " + internalLbVm);
try {
- _itMgr.advanceStop(internalLbVm.getUuid(), forced, _accountMgr.getActiveUser(callerUserId), caller);
+ _itMgr.advanceStop(internalLbVm.getUuid(), forced);
return _internalLbVmDao.findById(internalLbVm.getId());
} catch (OperationTimedoutException e) {
throw new CloudRuntimeException("Unable to stop " + internalLbVm, e);
@@ -830,7 +830,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements
ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("Starting Internal LB VM " + internalLbVm);
try {
- _itMgr.start(internalLbVm.getUuid(), params, _accountMgr.getUserIncludingRemoved(callerUserId), caller, null);
+ _itMgr.start(internalLbVm.getUuid(), params, null);
internalLbVm = _internalLbVmDao.findById(internalLbVm.getId());
if (internalLbVm.isStopPending()) {
s_logger.info("Clear the stop pending flag of Internal LB VM " + internalLbVm.getHostName() + " after start router successfully!");
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/agent/manager/AgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
index 17ffb7e..6513117 100755
--- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -1177,7 +1177,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl
@Override
public void run() {
try {
- CallContext.registerOnceOnly();
+ CallContext.registerSystemCallContextOnceOnly();
} catch (Exception e) {
s_logger.error("Unable to register context", e);
return;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
index 67ffa18..f6bddf0 100755
--- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
+++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
@@ -558,7 +558,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
}
if (proxy.getState() == VirtualMachine.State.Stopped) {
- _itMgr.start(proxy.getUuid(), null, systemUser, systemAcct);
+ _itMgr.start(proxy.getUuid(), null);
proxy = _consoleProxyDao.findById(proxyVmId);
if (proxy.getState() == State.Running) {
return null;
@@ -1036,7 +1036,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
}
try {
- _itMgr.stop(proxy.getUuid(), _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.stop(proxy.getUuid());
return true;
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to stop " + proxy, e);
@@ -1160,7 +1160,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
ConsoleProxyVO proxy = _consoleProxyDao.findById(vmId);
try {
//expunge the vm
- _itMgr.expunge(proxy.getUuid(), _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.expunge(proxy.getUuid());
HostVO host = _hostDao.findByTypeNameAndZoneId(proxy.getDataCenterId(), proxy.getHostName(),
Host.Type.ConsoleProxy);
if (host != null) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
index 1dad57d..9e8b905 100755
--- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
+++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
@@ -32,6 +32,8 @@ import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
import org.apache.log4j.NDC;
+import org.apache.cloudstack.context.CallContext;
+
import com.cloud.agent.AgentManager;
import com.cloud.alert.AlertManager;
import com.cloud.cluster.ClusterManagerListener;
@@ -283,7 +285,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
if (hostId == null) {
try {
s_logger.debug("Found a vm that is scheduled to be restarted but has no host id: " + vm);
- _itMgr.advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), true);
} catch (ResourceUnavailableException e) {
assert false : "How do we hit this when force is true?";
throw new CloudRuntimeException("Caught exception even though it should be handled.", e);
@@ -327,7 +329,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
}
try {
- _itMgr.advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), true);
} catch (ResourceUnavailableException e) {
assert false : "How do we hit this when force is true?";
throw new CloudRuntimeException("Caught exception even though it should be handled.", e);
@@ -472,7 +474,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
}
try {
- _itMgr.advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), true);
} catch (ResourceUnavailableException e) {
assert false : "How do we hit this when force is true?";
throw new CloudRuntimeException("Caught exception even though it should be handled.", e);
@@ -489,7 +491,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
} else {
s_logger.debug("How come that HA step is Investigating and the host is removed? Calling forced Stop on Vm anyways");
try {
- _itMgr.advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), true);
} catch (ResourceUnavailableException e) {
assert false : "How do we hit this when force is true?";
throw new CloudRuntimeException("Caught exception even though it should be handled.", e);
@@ -529,7 +531,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
if (_haTag != null) {
params.put(VirtualMachineProfile.Param.HaTag, _haTag);
}
- _itMgr.advanceStart(vm.getUuid(), params, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStart(vm.getUuid(), params, null);
VMInstanceVO started = _instanceDao.findById(vm.getId());
@@ -618,7 +620,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
}
if (vm.getHostId() != null) {
- _itMgr.destroy(vm.getUuid(), _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.destroy(vm.getUuid());
s_logger.info("Successfully destroy " + vm);
return null;
}
@@ -644,7 +646,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
s_logger.info("Stopping " + vm);
try {
if (work.getWorkType() == WorkType.Stop) {
- _itMgr.advanceStop(vm.getUuid(), false, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), false);
s_logger.info("Successfully stopped " + vm);
return null;
} else if (work.getWorkType() == WorkType.CheckStop) {
@@ -652,7 +654,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
s_logger.info(vm + " is different now. Scheduled Host: " + work.getHostId() + " Current Host: " + (vm.getHostId() != null ? vm.getHostId() : "none") + " State: " + vm.getState());
return null;
}
- _itMgr.advanceStop(vm.getUuid(), false, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), false);
s_logger.info("Stop for " + vm + " was successful");
return null;
} else if (work.getWorkType() == WorkType.ForceStop) {
@@ -660,7 +662,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
s_logger.info(vm + " is different now. Scheduled Host: " + work.getHostId() + " Current Host: " + (vm.getHostId() != null ? vm.getHostId() : "none") + " State: " + vm.getState());
return null;
}
- _itMgr.advanceStop(vm.getUuid(), true, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.advanceStop(vm.getUuid(), true);
s_logger.info("Stop for " + vm + " was successful");
return null;
} else {
@@ -797,6 +799,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
@Override
public void run() {
+ CallContext.registerSystemCallContextOnceOnly();
s_logger.info("Starting work");
while (!_stopped) {
HaWorkVO work = null;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 742a3c1..e8090c8 100755
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -418,7 +418,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
_accountMgr.checkAccess(caller, null, true, router);
try {
- _itMgr.expunge(router.getUuid(), _accountMgr.getActiveUser(callerUserId), _accountMgr.getAccount(router.getAccountId()));
+ _itMgr.expunge(router.getUuid());
return router;
} catch (CloudRuntimeException e) {
s_logger.warn("Unable to destroy " + router, e);
@@ -1281,7 +1281,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
@Override
public void run() {
try {
- CallContext.registerOnceOnly();
+ CallContext.registerSystemCallContextOnceOnly();
while (true) {
try {
Long networkId = _vrUpdateQueue.take();
@@ -1756,7 +1756,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
if (startIp != null && _ipAddressDao.findByIpAndSourceNetworkId(guestNetwork.getId(), startIp).getAllocatedTime() == null) {
defaultNetworkStartIp = startIp;
} else if (s_logger.isDebugEnabled()){
- s_logger.debug("First ipv4 " + startIp + " in network id=" + guestNetwork.getId() +
+ s_logger.debug("First ipv4 " + startIp + " in network id=" + guestNetwork.getId() +
" is already allocated, can't use it for domain router; will get random ip address from the range");
}
}
@@ -1765,7 +1765,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
if (guestNetwork.getIp6Cidr() != null) {
if (placeholder != null && placeholder.getIp6Address() != null) {
s_logger.debug("Requesting ipv6 address " + placeholder.getIp6Address() + " stored in placeholder nic for the network " + guestNetwork);
- defaultNetworkStartIpv6 = placeholder.getIp6Address();
+ defaultNetworkStartIpv6 = placeholder.getIp6Address();
} else {
String startIpv6 = _networkModel.getStartIpv6Address(guestNetwork.getId());
if (startIpv6 != null && _ipv6Dao.findByNetworkIdAndIp(guestNetwork.getId(), startIpv6) == null) {
@@ -2717,7 +2717,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("Starting router " + router);
try {
- _itMgr.start(router.getUuid(), params, user, caller, planToDeploy);
+ _itMgr.start(router.getUuid(), params, planToDeploy);
router = _routerDao.findById(router.getId());
if (router.isStopPending()) {
s_logger.info("Clear the stop pending flag of router " + router.getHostName() + " after start router successfully!");
@@ -2741,7 +2741,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
public DomainRouterVO stop(VirtualRouter router, boolean forced, User user, Account caller) throws ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("Stopping router " + router);
try {
- _itMgr.advanceStop(router.getUuid(), forced, user, caller);
+ _itMgr.advanceStop(router.getUuid(), forced);
return _routerDao.findById(router.getId());
} catch (OperationTimedoutException e) {
throw new CloudRuntimeException("Unable to stop " + router, e);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/resource/ResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java b/server/src/com/cloud/resource/ResourceManagerImpl.java
index 4da572e..b429e01 100755
--- a/server/src/com/cloud/resource/ResourceManagerImpl.java
+++ b/server/src/com/cloud/resource/ResourceManagerImpl.java
@@ -2343,8 +2343,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
.listByStoragePool(storagePool.getId());
for (VMInstanceVO vm : vmsOnLocalStorage) {
try {
- if (!_vmMgr.destroy(vm.getUuid(), caller,
- _accountMgr.getAccount(vm.getAccountId()))) {
+ if (!_vmMgr.destroy(vm.getUuid())) {
String errorMsg = "There was an error Destory the vm: "
+ vm
+ " as a part of hostDelete id="
@@ -2376,7 +2375,7 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
+ " as a part of deleteHost id="
+ host.getId());
try {
- _vmMgr.stop(vm.getUuid(), caller, _accountMgr.getAccount(vm.getAccountId()));
+ _vmMgr.stop(vm.getUuid());
} catch (Exception e) {
String errorMsg = "There was an error stopping the vm: "
+ vm
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index a365f7a..4ad60ea 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -2167,7 +2167,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
User caller = _userDao.findById(CallContext.current().getCallingUserId());
- _itMgr.advanceStop(systemVm.getUuid(), isForced, caller, CallContext.current().getCallingAccount());
+ _itMgr.advanceStop(systemVm.getUuid(), isForced);
return _consoleProxyDao.findById(systemVm.getId());
}
@@ -3049,7 +3049,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
User caller = _userDao.findById(CallContext.current().getCallingUserId());
- _itMgr.advanceStop(systemVm.getUuid(), isForced, caller, CallContext.current().getCallingAccount());
+ _itMgr.advanceStop(systemVm.getUuid(), isForced);
return _secStorageVmDao.findById(systemVm.getId());
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/storage/StoragePoolAutomationImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/StoragePoolAutomationImpl.java b/server/src/com/cloud/storage/StoragePoolAutomationImpl.java
index 6154a3b..0e6d53b 100644
--- a/server/src/com/cloud/storage/StoragePoolAutomationImpl.java
+++ b/server/src/com/cloud/storage/StoragePoolAutomationImpl.java
@@ -203,42 +203,42 @@ public class StoragePoolAutomationImpl implements StoragePoolAutomation {
// call the consoleproxymanager
ConsoleProxyVO consoleProxy = _consoleProxyDao
.findById(vmInstance.getId());
- vmMgr.stop(consoleProxy.getUuid(), user, account);
+ vmMgr.stop(consoleProxy.getUuid());
// update work status
work.setStoppedForMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
if (restart) {
- vmMgr.start(consoleProxy.getUuid(), null, user, account);
+ vmMgr.start(consoleProxy.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
}
} else if (vmInstance.getType().equals(VirtualMachine.Type.User)) {
UserVmVO userVm = userVmDao.findById(vmInstance.getId());
- vmMgr.stop(userVm.getUuid(), user, account);
+ vmMgr.stop(userVm.getUuid());
// update work status
work.setStoppedForMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
} else if (vmInstance.getType().equals(VirtualMachine.Type.SecondaryStorageVm)) {
SecondaryStorageVmVO secStrgVm = _secStrgDao
.findById(vmInstance.getId());
- vmMgr.stop(secStrgVm.getUuid(), user, account);
+ vmMgr.stop(secStrgVm.getUuid());
work.setStoppedForMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
if (restart) {
- vmMgr.start(secStrgVm.getUuid(), null, user, account);
+ vmMgr.start(secStrgVm.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
}
} else if (vmInstance.getType().equals(VirtualMachine.Type.DomainRouter)) {
DomainRouterVO domR = _domrDao.findById(vmInstance.getId());
- vmMgr.advanceStop(domR.getUuid(), false, user, account);
+ vmMgr.advanceStop(domR.getUuid(), false);
work.setStoppedForMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
if (restart) {
- vmMgr.start(domR.getUuid(), null, user, account);
+ vmMgr.start(domR.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
}
@@ -302,23 +302,23 @@ public class StoragePoolAutomationImpl implements StoragePoolAutomation {
if (vmInstance.getType().equals(VirtualMachine.Type.ConsoleProxy)) {
ConsoleProxyVO consoleProxy = _consoleProxyDao.findById(vmInstance.getId());
- vmMgr.start(consoleProxy.getUuid(), null, user, account);
+ vmMgr.start(consoleProxy.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
} else if (vmInstance.getType().equals(VirtualMachine.Type.SecondaryStorageVm)) {
SecondaryStorageVmVO ssVm = _secStrgDao.findById(vmInstance.getId());
- vmMgr.advanceStart(ssVm.getUuid(), null, user, account);
+ vmMgr.advanceStart(ssVm.getUuid(), null, null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
} else if (vmInstance.getType().equals(VirtualMachine.Type.DomainRouter)) {
DomainRouterVO domR = _domrDao.findById(vmInstance.getId());
- vmMgr.start(domR.getUuid(), null, user, account);
+ vmMgr.start(domR.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
} else if (vmInstance.getType().equals(VirtualMachine.Type.User)) {
UserVmVO userVm = userVmDao.findById(vmInstance.getId());
- vmMgr.start(userVm.getUuid(), null, user, account);
+ vmMgr.start(userVm.getUuid(), null);
work.setStartedAfterMaintenance(true);
_storagePoolWorkDao.update(work.getId(), work);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
index 1d85652..562db28 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
@@ -258,7 +258,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
SecondaryStorageVmVO secStorageVm = _secStorageVmDao.findById(secStorageVmId);
Account systemAcct = _accountMgr.getSystemAccount();
User systemUser = _accountMgr.getSystemUser();
- _itMgr.start(secStorageVm.getUuid(), null, systemUser, systemAcct);
+ _itMgr.start(secStorageVm.getUuid(), null);
return _secStorageVmDao.findById(secStorageVmId);
} catch (Exception e) {
s_logger.warn("Exception while trying to start secondary storage vm", e);
@@ -921,7 +921,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
try {
if (secStorageVmLock.lock(ACQUIRE_GLOBAL_LOCK_TIMEOUT_FOR_SYNC)) {
try {
- _itMgr.stop(secStorageVm.getUuid(), _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.stop(secStorageVm.getUuid());
return true;
} catch (Exception e) {
s_logger.warn("Unable to stop " + secStorageVm, e);
@@ -982,7 +982,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
SecondaryStorageVmVO ssvm = _secStorageVmDao.findById(vmId);
try {
- _itMgr.expunge(ssvm.getUuid(), _accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
+ _itMgr.expunge(ssvm.getUuid());
HostVO host = _hostDao.findByTypeNameAndZoneId(ssvm.getDataCenterId(), ssvm.getHostName(),
Host.Type.SecondaryStorageVM);
if (host != null) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java
index a8ef32b..c6dd772 100644
--- a/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java
+++ b/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java
@@ -374,7 +374,7 @@ public class SnapshotSchedulerImpl extends ManagerBase implements SnapshotSchedu
@Override
public void run() {
try {
- CallContext.registerOnceOnly();
+ CallContext.registerSystemCallContextOnceOnly();
} catch (Exception e) {
s_logger.error("Unable to register context", e);
return;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/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 b623dd2..3e4520c 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -815,7 +815,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
boolean success = true;
for (VMInstanceVO vm : vms) {
try {
- _itMgr.stop(vm.getUuid(), getSystemUser(), getSystemAccount());
+ _itMgr.stop(vm.getUuid());
} catch (CloudRuntimeException ote) {
s_logger.warn("Operation for stopping vm timed out, unable to stop vm " + vm.getHostName(), ote);
success = false;
@@ -1452,7 +1452,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override
public void run() {
try {
- CallContext.registerOnceOnly();
+ CallContext.registerSystemCallContextOnceOnly();
} catch (Exception e) {
s_logger.error("Unable to register the system user context", e);
return;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/vm/SystemVmLoadScanner.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/SystemVmLoadScanner.java b/server/src/com/cloud/vm/SystemVmLoadScanner.java
index 9eafe0f..3d7953f 100644
--- a/server/src/com/cloud/vm/SystemVmLoadScanner.java
+++ b/server/src/com/cloud/vm/SystemVmLoadScanner.java
@@ -25,7 +25,6 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.context.CallContext;
import com.cloud.async.AsyncJobExecutionContext;
-import com.cloud.exception.CloudAuthenticationException;
import com.cloud.utils.Pair;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.GlobalLock;
@@ -72,10 +71,10 @@ public class SystemVmLoadScanner<T> {
@Override
public void run() {
try {
- CallContext.registerOnceOnly();
+ CallContext.registerSystemCallContextOnceOnly();
AsyncJobExecutionContext.registerPseudoExecutionContext();
- } catch (CloudAuthenticationException e) {
- s_logger.error("Unable to start the capacity scan task", e);
+ } catch (Exception e) {
+ s_logger.fatal("Unable to start the capacity scan task", e);
System.exit(1);
}
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/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 8378fdd..e248c43 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -1512,7 +1512,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
try {
List<VolumeVO> rootVol = _volsDao.findByInstanceAndType(vm.getId(), Volume.Type.ROOT);
// expunge the vm
- _itMgr.advanceExpunge(vm.getUuid(), _accountMgr.getSystemUser(), caller);
+ _itMgr.advanceExpunge(vm.getUuid());
// Update Resource count
if (vm.getAccountId() != Account.ACCOUNT_ID_SYSTEM && !rootVol.isEmpty()) {
@@ -4554,7 +4554,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
if (needRestart) {
try {
- _itMgr.stop(vm.getUuid(), user, caller);
+ _itMgr.stop(vm.getUuid());
} catch (CloudRuntimeException e) {
s_logger.debug("Stop vm " + vm.getUuid() + " failed");
CloudRuntimeException ex = new CloudRuntimeException("Stop vm failed for specified vmId");
@@ -4614,7 +4614,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
if (needRestart) {
try {
- _itMgr.start(vm.getUuid(), null, user, caller);
+ _itMgr.start(vm.getUuid(), null);
} catch (Exception e) {
s_logger.debug("Unable to start VM " + vm.getUuid(), e);
CloudRuntimeException ex = new CloudRuntimeException(
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/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 e42427b..d1a557d 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -364,9 +364,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void expunge(String vmUuid, User caller, Account account) {
+ public void expunge(String vmUuid) {
try {
- advanceExpunge(vmUuid, caller, account);
+ advanceExpunge(vmUuid);
} catch (OperationTimedoutException e) {
throw new CloudRuntimeException("Operation timed out", e);
} catch (ConcurrentOperationException e) {
@@ -377,7 +377,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void advanceExpunge(String vmUuid, User caller, Account account) throws ResourceUnavailableException, OperationTimedoutException,
+ public void advanceExpunge(String vmUuid) throws ResourceUnavailableException, OperationTimedoutException,
ConcurrentOperationException {
VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
if (vm == null || vm.getRemoved() != null) {
@@ -387,7 +387,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return;
}
- advanceStop(vmUuid, false, caller, account);
+ advanceStop(vmUuid, false);
vm = _vmDao.findByUuid(vmUuid);
try {
@@ -493,14 +493,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, User caller, Account account) {
- start(vmUuid, params, caller, account, null);
+ public void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params) {
+ start(vmUuid, params, null);
}
@Override
- public void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, User caller, Account account, DeploymentPlan planToDeploy) {
+ public void start(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy) {
try {
- advanceStart(vmUuid, params, caller, account, planToDeploy);
+ advanceStart(vmUuid, params, planToDeploy);
} catch (ConcurrentOperationException e) {
throw new CloudRuntimeException(e).add(VirtualMachine.class, vmUuid);
} catch (InsufficientCapacityException e) {
@@ -671,18 +671,12 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, User caller, Account account) throws InsufficientCapacityException,
- ConcurrentOperationException, ResourceUnavailableException {
- advanceStart(vmUuid, params, caller, account, null);
- }
-
- @Override
@DB
- public void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, User callingUser, Account callingAccount, DeploymentPlan planToDeploy)
+ public void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy)
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException {
CallContext context = CallContext.current();
- callingUser = context.getCallingUser();
- callingAccount = context.getCallingAccount();
+ User callingUser = context.getCallingUser();
+ Account callingAccount = context.getCallingAccount();
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
@@ -1013,9 +1007,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void stop(String vmUuid, User user, Account account) {
+ public void stop(String vmUuid) {
try {
- advanceStop(vmUuid, false, user, account);
+ advanceStop(vmUuid, false);
} catch (OperationTimedoutException e) {
throw new CloudRuntimeException(e).add(VirtualMachine.class, vmUuid);
} catch (ConcurrentOperationException e) {
@@ -1114,9 +1108,12 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public void advanceStop(final String vmUuid, boolean forced, User user, Account account) throws ResourceUnavailableException,
+ public void advanceStop(final String vmUuid, boolean forced) throws ResourceUnavailableException,
OperationTimedoutException, ConcurrentOperationException {
- CallContext context = CallContext.current();
+ CallContext cc = CallContext.current();
+ Account account = cc.getCallingAccount();
+ User user = cc.getCallingUser();
+
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
VmWorkJobVO workJob = null;
Transaction txn = Transaction.currentTxn();
@@ -1132,7 +1129,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
assert(pendingWorkJobs.size() == 1);
workJob = pendingWorkJobs.get(0);
} else {
- workJob = new VmWorkJobVO(context.getContextId());
+ workJob = new VmWorkJobVO(cc.getContextId());
workJob.setDispatcher(VmWorkJobDispatcher.VM_WORK_JOB_DISPATCHER);
workJob.setCmd(VmWorkJobDispatcher.Stop);
@@ -1534,7 +1531,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
- public boolean destroy(String vmUuid, User user, Account caller) throws ResourceUnavailableException, OperationTimedoutException,
+ public boolean destroy(String vmUuid) throws ResourceUnavailableException, OperationTimedoutException,
ConcurrentOperationException {
VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
if (s_logger.isDebugEnabled()) {
@@ -1547,7 +1544,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return true;
}
- advanceStop(vmUuid, _forceStop, user, caller);
+ advanceStop(vmUuid, _forceStop);
vm = _vmDao.findById(vm.getId());
@@ -2098,7 +2095,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
return true;
}
try {
- advanceStop(vm.getUuid(), true, cc.getCallingUser(), cc.getCallingAccount());
+ advanceStop(vm.getUuid(), true);
return true;
} catch (ResourceUnavailableException e) {
s_logger.debug("Unable to stop VM due to " + e.getMessage());
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java b/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
index 41d53d3..8d1c628 100644
--- a/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
+++ b/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
@@ -673,7 +673,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
// start or stop VM first, if revert from stopped state to running state, or from running to stopped
if(userVm.getState() == VirtualMachine.State.Stopped && vmSnapshotVo.getType() == VMSnapshot.Type.DiskAndMemory){
try {
- _itMgr.start(userVm.getUuid(), new HashMap<VirtualMachineProfile.Param, Object>(), callerUser, owner);
+ _itMgr.start(userVm.getUuid(), new HashMap<VirtualMachineProfile.Param, Object>());
userVm = _userVMDao.findById(userVm.getId());
hostId = userVm.getHostId();
} catch (CloudRuntimeException e) {
@@ -683,7 +683,7 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
}else {
if(userVm.getState() == VirtualMachine.State.Running && vmSnapshotVo.getType() == VMSnapshot.Type.Disk){
try {
- _itMgr.advanceStop(userVm.getUuid(), false, callerUser, owner);
+ _itMgr.advanceStop(userVm.getUuid(), false);
} catch (Exception e) {
s_logger.error("Stop VM " + userVm.getInstanceName() + " before reverting failed due to " + e.getMessage());
throw new CloudRuntimeException(e.getMessage());
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/33dfe4f7/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
index 1d49071..80fe930 100644
--- a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
+++ b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
@@ -141,26 +141,22 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
}
@Override
- public void start(String vmUuid, Map<Param, Object> params,
- User caller, Account account) {
+ public void start(String vmUuid, Map<Param, Object> params) {
// TODO Auto-generated method stub
}
@Override
- public void start(String vmUuid, Map<Param, Object> params,
- User caller, Account account, DeploymentPlan planToDeploy) {
+ public void start(String vmUuid, Map<Param, Object> params, DeploymentPlan planToDeploy) {
// TODO Auto-generated method stub
}
@Override
- public void stop(String vmUuid, User caller,
- Account account) {
+ public void stop(String vmUuid) {
// TODO Auto-generated method stub
}
@Override
- public void expunge(String vmUuid, User caller,
- Account account) {
+ public void expunge(String vmUuid) {
// TODO Auto-generated method stub
}
@@ -190,16 +186,7 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
}
@Override
- public void advanceStart(String vmUuid,
- Map<Param, Object> params, User caller, Account account)
- throws InsufficientCapacityException, ResourceUnavailableException,
- ConcurrentOperationException, OperationTimedoutException {
- // TODO Auto-generated method stub
- }
-
- @Override
- public void advanceStart(String vmUuid,
- Map<Param, Object> params, User caller, Account account,
+ public void advanceStart(String vmUuid, Map<Param, Object> params,
DeploymentPlan planToDeploy) throws InsufficientCapacityException,
ResourceUnavailableException, ConcurrentOperationException,
OperationTimedoutException {
@@ -207,22 +194,19 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
}
@Override
- public void advanceStop(String vmUuid, boolean forced,
- User caller, Account account) throws ResourceUnavailableException,
+ public void advanceStop(String vmUuid, boolean forced) throws ResourceUnavailableException,
OperationTimedoutException, ConcurrentOperationException {
// TODO Auto-generated method stub
}
@Override
- public void advanceExpunge(String vmUuid, User caller,
- Account account) throws ResourceUnavailableException,
+ public void advanceExpunge(String vmUuid) throws ResourceUnavailableException,
OperationTimedoutException, ConcurrentOperationException {
// TODO Auto-generated method stub
}
@Override
- public boolean destroy(String vmUuid, User caller,
- Account account) throws AgentUnavailableException,
+ public boolean destroy(String vmUuid) throws AgentUnavailableException,
OperationTimedoutException, ConcurrentOperationException {
// TODO Auto-generated method stub
return false;