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:43 UTC
[3/5] git commit: updated refs/heads/vmsync to d71e358
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;