mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
more files changed
This commit is contained in:
parent
f922c6fc03
commit
fac2270240
@ -29,6 +29,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import java.util.regex.PatternSyntaxException;
|
import java.util.regex.PatternSyntaxException;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -43,9 +44,6 @@ import com.cloud.agent.api.GetHostStatsCommand;
|
|||||||
import com.cloud.agent.api.HostStatsEntry;
|
import com.cloud.agent.api.HostStatsEntry;
|
||||||
import com.cloud.agent.api.MaintainAnswer;
|
import com.cloud.agent.api.MaintainAnswer;
|
||||||
import com.cloud.agent.api.PingTestCommand;
|
import com.cloud.agent.api.PingTestCommand;
|
||||||
import com.cloud.agent.api.PrepareForMigrationAnswer;
|
|
||||||
import com.cloud.agent.api.PrepareForMigrationCommand;
|
|
||||||
import com.cloud.agent.api.to.VirtualMachineTO;
|
|
||||||
import com.cloud.dc.dao.HostPodDao;
|
import com.cloud.dc.dao.HostPodDao;
|
||||||
import com.cloud.host.Host;
|
import com.cloud.host.Host;
|
||||||
import com.cloud.resource.AgentResourceBase;
|
import com.cloud.resource.AgentResourceBase;
|
||||||
@ -58,7 +56,6 @@ import com.cloud.simulator.MockVMVO;
|
|||||||
import com.cloud.simulator.dao.MockHostDao;
|
import com.cloud.simulator.dao.MockHostDao;
|
||||||
import com.cloud.simulator.dao.MockVMDao;
|
import com.cloud.simulator.dao.MockVMDao;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
|
|
||||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
@ -83,7 +80,7 @@ public class MockAgentManagerImpl implements MockAgentManager {
|
|||||||
@Inject
|
@Inject
|
||||||
ResourceManager _resourceMgr;
|
ResourceManager _resourceMgr;
|
||||||
private SecureRandom random;
|
private SecureRandom random;
|
||||||
private Map<String, AgentResourceBase> _resources = new ConcurrentHashMap<String, AgentResourceBase>();
|
private final Map<String, AgentResourceBase> _resources = new ConcurrentHashMap<String, AgentResourceBase>();
|
||||||
private ThreadPoolExecutor _executor;
|
private ThreadPoolExecutor _executor;
|
||||||
|
|
||||||
private Pair<String, Long> getPodCidr(long podId, long dcId) {
|
private Pair<String, Long> getPodCidr(long podId, long dcId) {
|
||||||
@ -220,7 +217,7 @@ public class MockAgentManagerImpl implements MockAgentManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class SystemVMHandler implements Runnable {
|
private class SystemVMHandler implements Runnable {
|
||||||
private long vmId;
|
private final long vmId;
|
||||||
private String privateIpAddress;
|
private String privateIpAddress;
|
||||||
private String privateMacAddress;
|
private String privateMacAddress;
|
||||||
private String privateNetMask;
|
private String privateNetMask;
|
||||||
@ -230,7 +227,7 @@ public class MockAgentManagerImpl implements MockAgentManager {
|
|||||||
private String name;
|
private String name;
|
||||||
private String vmType;
|
private String vmType;
|
||||||
private SimulatorManager mgr;
|
private SimulatorManager mgr;
|
||||||
private String mode;
|
private final String mode;
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
public SystemVMHandler(long vmId, String privateIpAddress, String privateMacAddress, String privateNetMask,
|
public SystemVMHandler(long vmId, String privateIpAddress, String privateMacAddress, String privateNetMask,
|
||||||
|
|||||||
@ -28,9 +28,9 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import com.cloud.agent.api.storage.*;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
@ -57,6 +57,22 @@ import com.cloud.agent.api.SecStorageSetupAnswer;
|
|||||||
import com.cloud.agent.api.SecStorageSetupCommand;
|
import com.cloud.agent.api.SecStorageSetupCommand;
|
||||||
import com.cloud.agent.api.SecStorageVMSetupCommand;
|
import com.cloud.agent.api.SecStorageVMSetupCommand;
|
||||||
import com.cloud.agent.api.StoragePoolInfo;
|
import com.cloud.agent.api.StoragePoolInfo;
|
||||||
|
import com.cloud.agent.api.storage.CopyVolumeAnswer;
|
||||||
|
import com.cloud.agent.api.storage.CopyVolumeCommand;
|
||||||
|
import com.cloud.agent.api.storage.CreateAnswer;
|
||||||
|
import com.cloud.agent.api.storage.CreateCommand;
|
||||||
|
import com.cloud.agent.api.storage.CreatePrivateTemplateAnswer;
|
||||||
|
import com.cloud.agent.api.storage.DeleteTemplateCommand;
|
||||||
|
import com.cloud.agent.api.storage.DestroyCommand;
|
||||||
|
import com.cloud.agent.api.storage.DownloadAnswer;
|
||||||
|
import com.cloud.agent.api.storage.DownloadCommand;
|
||||||
|
import com.cloud.agent.api.storage.DownloadProgressCommand;
|
||||||
|
import com.cloud.agent.api.storage.ListTemplateAnswer;
|
||||||
|
import com.cloud.agent.api.storage.ListTemplateCommand;
|
||||||
|
import com.cloud.agent.api.storage.ListVolumeAnswer;
|
||||||
|
import com.cloud.agent.api.storage.ListVolumeCommand;
|
||||||
|
import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
|
||||||
|
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
|
||||||
import com.cloud.agent.api.to.StorageFilerTO;
|
import com.cloud.agent.api.to.StorageFilerTO;
|
||||||
import com.cloud.agent.api.to.VolumeTO;
|
import com.cloud.agent.api.to.VolumeTO;
|
||||||
import com.cloud.simulator.MockHost;
|
import com.cloud.simulator.MockHost;
|
||||||
@ -71,13 +87,11 @@ import com.cloud.simulator.dao.MockSecStorageDao;
|
|||||||
import com.cloud.simulator.dao.MockStoragePoolDao;
|
import com.cloud.simulator.dao.MockStoragePoolDao;
|
||||||
import com.cloud.simulator.dao.MockVMDao;
|
import com.cloud.simulator.dao.MockVMDao;
|
||||||
import com.cloud.simulator.dao.MockVolumeDao;
|
import com.cloud.simulator.dao.MockVolumeDao;
|
||||||
import com.cloud.storage.Storage;
|
|
||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc;
|
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
|
import com.cloud.storage.VMTemplateStorageResourceAssoc;
|
||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||||
import com.cloud.storage.template.TemplateInfo;
|
import com.cloud.storage.template.TemplateInfo;
|
||||||
|
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.DiskProfile;
|
import com.cloud.vm.DiskProfile;
|
||||||
|
|||||||
@ -23,20 +23,56 @@ import java.util.Map;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import com.cloud.agent.api.*;
|
|
||||||
import com.cloud.agent.api.routing.*;
|
|
||||||
import com.cloud.network.router.VirtualRouter;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.Answer;
|
||||||
|
import com.cloud.agent.api.BumpUpPriorityCommand;
|
||||||
|
import com.cloud.agent.api.CheckRouterAnswer;
|
||||||
|
import com.cloud.agent.api.CheckRouterCommand;
|
||||||
|
import com.cloud.agent.api.CheckVirtualMachineAnswer;
|
||||||
|
import com.cloud.agent.api.CheckVirtualMachineCommand;
|
||||||
|
import com.cloud.agent.api.CleanupNetworkRulesCmd;
|
||||||
|
import com.cloud.agent.api.GetDomRVersionAnswer;
|
||||||
|
import com.cloud.agent.api.GetDomRVersionCmd;
|
||||||
|
import com.cloud.agent.api.GetVmStatsAnswer;
|
||||||
|
import com.cloud.agent.api.GetVmStatsCommand;
|
||||||
|
import com.cloud.agent.api.GetVncPortAnswer;
|
||||||
|
import com.cloud.agent.api.GetVncPortCommand;
|
||||||
|
import com.cloud.agent.api.MigrateAnswer;
|
||||||
|
import com.cloud.agent.api.MigrateCommand;
|
||||||
|
import com.cloud.agent.api.NetworkUsageAnswer;
|
||||||
|
import com.cloud.agent.api.NetworkUsageCommand;
|
||||||
|
import com.cloud.agent.api.PrepareForMigrationAnswer;
|
||||||
|
import com.cloud.agent.api.PrepareForMigrationCommand;
|
||||||
|
import com.cloud.agent.api.RebootAnswer;
|
||||||
|
import com.cloud.agent.api.RebootCommand;
|
||||||
|
import com.cloud.agent.api.SecurityGroupRuleAnswer;
|
||||||
|
import com.cloud.agent.api.SecurityGroupRulesCmd;
|
||||||
|
import com.cloud.agent.api.StartAnswer;
|
||||||
|
import com.cloud.agent.api.StartCommand;
|
||||||
|
import com.cloud.agent.api.StopAnswer;
|
||||||
|
import com.cloud.agent.api.StopCommand;
|
||||||
|
import com.cloud.agent.api.VmStatsEntry;
|
||||||
import com.cloud.agent.api.check.CheckSshAnswer;
|
import com.cloud.agent.api.check.CheckSshAnswer;
|
||||||
import com.cloud.agent.api.check.CheckSshCommand;
|
import com.cloud.agent.api.check.CheckSshCommand;
|
||||||
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
|
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
|
||||||
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
|
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
|
||||||
|
import com.cloud.agent.api.routing.DhcpEntryCommand;
|
||||||
|
import com.cloud.agent.api.routing.IpAssocCommand;
|
||||||
|
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
|
||||||
|
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||||
|
import com.cloud.agent.api.routing.SavePasswordCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetFirewallRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.VmDataCommand;
|
||||||
import com.cloud.agent.api.to.NicTO;
|
import com.cloud.agent.api.to.NicTO;
|
||||||
import com.cloud.agent.api.to.VirtualMachineTO;
|
import com.cloud.agent.api.to.VirtualMachineTO;
|
||||||
import com.cloud.network.Networks.TrafficType;
|
import com.cloud.network.Networks.TrafficType;
|
||||||
|
import com.cloud.network.router.VirtualRouter;
|
||||||
import com.cloud.simulator.MockHost;
|
import com.cloud.simulator.MockHost;
|
||||||
import com.cloud.simulator.MockSecurityRulesVO;
|
import com.cloud.simulator.MockSecurityRulesVO;
|
||||||
import com.cloud.simulator.MockVMVO;
|
import com.cloud.simulator.MockVMVO;
|
||||||
@ -46,7 +82,6 @@ import com.cloud.simulator.dao.MockSecurityRulesDao;
|
|||||||
import com.cloud.simulator.dao.MockVMDao;
|
import com.cloud.simulator.dao.MockVMDao;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachine.State;
|
import com.cloud.vm.VirtualMachine.State;
|
||||||
@ -59,7 +94,7 @@ public class MockVmManagerImpl implements MockVmManager {
|
|||||||
@Inject MockAgentManager _mockAgentMgr = null;
|
@Inject MockAgentManager _mockAgentMgr = null;
|
||||||
@Inject MockHostDao _mockHostDao = null;
|
@Inject MockHostDao _mockHostDao = null;
|
||||||
@Inject MockSecurityRulesDao _mockSecurityDao = null;
|
@Inject MockSecurityRulesDao _mockSecurityDao = null;
|
||||||
private Map<String, Map<String, Ternary<String, Long, Long>>> _securityRules = new ConcurrentHashMap<String, Map<String, Ternary<String, Long, Long>>>();
|
private final Map<String, Map<String, Ternary<String, Long, Long>>> _securityRules = new ConcurrentHashMap<String, Map<String, Ternary<String, Long, Long>>>();
|
||||||
|
|
||||||
public MockVmManagerImpl() {
|
public MockVmManagerImpl() {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,30 +16,84 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.agent.manager;
|
package com.cloud.agent.manager;
|
||||||
|
|
||||||
import com.cloud.agent.api.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.Answer;
|
||||||
|
import com.cloud.agent.api.AttachIsoCommand;
|
||||||
|
import com.cloud.agent.api.AttachVolumeCommand;
|
||||||
|
import com.cloud.agent.api.BackupSnapshotCommand;
|
||||||
|
import com.cloud.agent.api.BumpUpPriorityCommand;
|
||||||
|
import com.cloud.agent.api.CheckHealthCommand;
|
||||||
|
import com.cloud.agent.api.CheckNetworkCommand;
|
||||||
|
import com.cloud.agent.api.CheckRouterCommand;
|
||||||
|
import com.cloud.agent.api.CheckVirtualMachineCommand;
|
||||||
|
import com.cloud.agent.api.CleanupNetworkRulesCmd;
|
||||||
|
import com.cloud.agent.api.ClusterSyncCommand;
|
||||||
|
import com.cloud.agent.api.Command;
|
||||||
|
import com.cloud.agent.api.ComputeChecksumCommand;
|
||||||
|
import com.cloud.agent.api.CreatePrivateTemplateFromSnapshotCommand;
|
||||||
|
import com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand;
|
||||||
|
import com.cloud.agent.api.CreateStoragePoolCommand;
|
||||||
|
import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
|
||||||
|
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
||||||
|
import com.cloud.agent.api.DeleteStoragePoolCommand;
|
||||||
|
import com.cloud.agent.api.GetDomRVersionCmd;
|
||||||
|
import com.cloud.agent.api.GetHostStatsCommand;
|
||||||
|
import com.cloud.agent.api.GetStorageStatsCommand;
|
||||||
|
import com.cloud.agent.api.GetVmStatsCommand;
|
||||||
|
import com.cloud.agent.api.GetVncPortCommand;
|
||||||
|
import com.cloud.agent.api.MaintainCommand;
|
||||||
|
import com.cloud.agent.api.ManageSnapshotCommand;
|
||||||
|
import com.cloud.agent.api.MigrateCommand;
|
||||||
|
import com.cloud.agent.api.ModifyStoragePoolCommand;
|
||||||
|
import com.cloud.agent.api.NetworkUsageCommand;
|
||||||
|
import com.cloud.agent.api.PingTestCommand;
|
||||||
|
import com.cloud.agent.api.PrepareForMigrationCommand;
|
||||||
|
import com.cloud.agent.api.RebootCommand;
|
||||||
|
import com.cloud.agent.api.SecStorageSetupCommand;
|
||||||
|
import com.cloud.agent.api.SecStorageVMSetupCommand;
|
||||||
|
import com.cloud.agent.api.SecurityGroupRulesCmd;
|
||||||
|
import com.cloud.agent.api.StartCommand;
|
||||||
|
import com.cloud.agent.api.StopCommand;
|
||||||
|
import com.cloud.agent.api.StoragePoolInfo;
|
||||||
import com.cloud.agent.api.check.CheckSshCommand;
|
import com.cloud.agent.api.check.CheckSshCommand;
|
||||||
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
|
import com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand;
|
||||||
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
|
import com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand;
|
||||||
import com.cloud.agent.api.routing.*;
|
import com.cloud.agent.api.routing.DhcpEntryCommand;
|
||||||
import com.cloud.agent.api.storage.*;
|
import com.cloud.agent.api.routing.IpAssocCommand;
|
||||||
|
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
|
||||||
|
import com.cloud.agent.api.routing.SavePasswordCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetFirewallRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
|
||||||
|
import com.cloud.agent.api.routing.VmDataCommand;
|
||||||
|
import com.cloud.agent.api.storage.CopyVolumeCommand;
|
||||||
|
import com.cloud.agent.api.storage.CreateCommand;
|
||||||
|
import com.cloud.agent.api.storage.DeleteTemplateCommand;
|
||||||
|
import com.cloud.agent.api.storage.DestroyCommand;
|
||||||
|
import com.cloud.agent.api.storage.DownloadCommand;
|
||||||
|
import com.cloud.agent.api.storage.DownloadProgressCommand;
|
||||||
|
import com.cloud.agent.api.storage.ListTemplateCommand;
|
||||||
|
import com.cloud.agent.api.storage.ListVolumeCommand;
|
||||||
|
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
|
||||||
import com.cloud.simulator.MockConfigurationVO;
|
import com.cloud.simulator.MockConfigurationVO;
|
||||||
import com.cloud.simulator.MockHost;
|
import com.cloud.simulator.MockHost;
|
||||||
import com.cloud.simulator.MockVMVO;
|
import com.cloud.simulator.MockVMVO;
|
||||||
import com.cloud.simulator.dao.MockConfigurationDao;
|
import com.cloud.simulator.dao.MockConfigurationDao;
|
||||||
import com.cloud.simulator.dao.MockHostDao;
|
import com.cloud.simulator.dao.MockHostDao;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
|
|
||||||
import com.cloud.utils.db.ConnectionConcierge;
|
import com.cloud.utils.db.ConnectionConcierge;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.vm.VirtualMachine.State;
|
import com.cloud.vm.VirtualMachine.State;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
import javax.ejb.Local;
|
|
||||||
import javax.naming.ConfigurationException;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Local(value = { SimulatorManager.class })
|
@Local(value = { SimulatorManager.class })
|
||||||
public class SimulatorManagerImpl implements SimulatorManager {
|
public class SimulatorManagerImpl implements SimulatorManager {
|
||||||
|
|||||||
@ -16,20 +16,21 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.api.commands;
|
package com.cloud.api.commands;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import com.cloud.agent.manager.SimulatorManager;
|
import org.apache.cloudstack.api.APICommand;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.BaseCmd;
|
import org.apache.cloudstack.api.BaseCmd;
|
||||||
import org.apache.cloudstack.api.APICommand;
|
|
||||||
import org.apache.cloudstack.api.Parameter;
|
import org.apache.cloudstack.api.Parameter;
|
||||||
import org.apache.cloudstack.api.ServerApiException;
|
import org.apache.cloudstack.api.ServerApiException;
|
||||||
import org.apache.cloudstack.api.response.SuccessResponse;
|
import org.apache.cloudstack.api.response.SuccessResponse;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.cloud.agent.manager.SimulatorManager;
|
||||||
import com.cloud.exception.ConcurrentOperationException;
|
import com.cloud.exception.ConcurrentOperationException;
|
||||||
import com.cloud.exception.InsufficientCapacityException;
|
import com.cloud.exception.InsufficientCapacityException;
|
||||||
import com.cloud.exception.ResourceAllocationException;
|
import com.cloud.exception.ResourceAllocationException;
|
||||||
import com.cloud.exception.ResourceUnavailableException;
|
import com.cloud.exception.ResourceUnavailableException;
|
||||||
import com.cloud.server.ManagementService;
|
|
||||||
import com.cloud.user.Account;
|
import com.cloud.user.Account;
|
||||||
|
|
||||||
|
|
||||||
@ -38,6 +39,8 @@ public class ConfigureSimulator extends BaseCmd {
|
|||||||
public static final Logger s_logger = Logger.getLogger(ConfigureSimulator.class.getName());
|
public static final Logger s_logger = Logger.getLogger(ConfigureSimulator.class.getName());
|
||||||
private static final String s_name = "configuresimulatorresponse";
|
private static final String s_name = "configuresimulatorresponse";
|
||||||
|
|
||||||
|
@Inject SimulatorManager _simMgr;
|
||||||
|
|
||||||
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="configure range: in a zone")
|
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="configure range: in a zone")
|
||||||
private Long zoneId;
|
private Long zoneId;
|
||||||
|
|
||||||
@ -58,8 +61,6 @@ public class ConfigureSimulator extends BaseCmd {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException {
|
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException {
|
||||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
|
|
||||||
SimulatorManager _simMgr = locator.getManager(SimulatorManager.class);
|
|
||||||
boolean result = _simMgr.configureSimulator(zoneId, podId, clusterId, hostId, command, values);
|
boolean result = _simMgr.configureSimulator(zoneId, podId, clusterId, hostId, command, values);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to configure simulator");
|
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to configure simulator");
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import java.util.LinkedList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -46,8 +47,7 @@ import com.cloud.simulator.MockHost;
|
|||||||
|
|
||||||
|
|
||||||
public class AgentResourceBase implements ServerResource {
|
public class AgentResourceBase implements ServerResource {
|
||||||
private static final Logger s_logger = Logger
|
private static final Logger s_logger = Logger.getLogger(AgentResourceBase.class);
|
||||||
.getLogger(AgentResourceBase.class);
|
|
||||||
|
|
||||||
protected String _name;
|
protected String _name;
|
||||||
private List<String> _warnings = new LinkedList<String>();
|
private List<String> _warnings = new LinkedList<String>();
|
||||||
@ -59,8 +59,7 @@ public class AgentResourceBase implements ServerResource {
|
|||||||
|
|
||||||
private Type _type;
|
private Type _type;
|
||||||
|
|
||||||
private transient ComponentLocator _locator = null;
|
@Inject protected SimulatorManager _simMgr;
|
||||||
protected transient SimulatorManager _simMgr;
|
|
||||||
protected MockHost agentHost = null;
|
protected MockHost agentHost = null;
|
||||||
protected boolean stopped = false;
|
protected boolean stopped = false;
|
||||||
protected String hostGuid = null;
|
protected String hostGuid = null;
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -43,12 +44,10 @@ import com.cloud.dc.ClusterVO;
|
|||||||
import com.cloud.dc.dao.ClusterDao;
|
import com.cloud.dc.dao.ClusterDao;
|
||||||
import com.cloud.exception.ConnectionException;
|
import com.cloud.exception.ConnectionException;
|
||||||
import com.cloud.exception.DiscoveryException;
|
import com.cloud.exception.DiscoveryException;
|
||||||
import com.cloud.host.Host;
|
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.host.Status;
|
import com.cloud.host.Status;
|
||||||
import com.cloud.host.dao.HostDao;
|
import com.cloud.host.dao.HostDao;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.storage.VMTemplateHostVO;
|
|
||||||
import com.cloud.storage.VMTemplateVO;
|
import com.cloud.storage.VMTemplateVO;
|
||||||
import com.cloud.storage.VMTemplateZoneVO;
|
import com.cloud.storage.VMTemplateZoneVO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
|
|||||||
@ -21,8 +21,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
import com.cloud.agent.AgentManager;
|
||||||
import com.cloud.agent.Listener;
|
import com.cloud.agent.Listener;
|
||||||
import com.cloud.agent.api.AgentControlAnswer;
|
import com.cloud.agent.api.AgentControlAnswer;
|
||||||
@ -38,9 +41,7 @@ import com.cloud.host.Status;
|
|||||||
import com.cloud.storage.SnapshotVO;
|
import com.cloud.storage.SnapshotVO;
|
||||||
import com.cloud.storage.dao.SnapshotDao;
|
import com.cloud.storage.dao.SnapshotDao;
|
||||||
import com.cloud.storage.secondary.SecondaryStorageDiscoverer;
|
import com.cloud.storage.secondary.SecondaryStorageDiscoverer;
|
||||||
|
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
@Local(value=Discoverer.class)
|
@Local(value=Discoverer.class)
|
||||||
public class SimulatorSecondaryDiscoverer extends SecondaryStorageDiscoverer implements ResourceStateAdapter, Listener {
|
public class SimulatorSecondaryDiscoverer extends SecondaryStorageDiscoverer implements ResourceStateAdapter, Listener {
|
||||||
|
|||||||
@ -17,14 +17,14 @@
|
|||||||
package com.cloud.simulator;
|
package com.cloud.simulator;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import com.cloud.agent.api.to.VirtualMachineTO;
|
import com.cloud.agent.api.to.VirtualMachineTO;
|
||||||
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.hypervisor.HypervisorGuru;
|
import com.cloud.hypervisor.HypervisorGuru;
|
||||||
import com.cloud.hypervisor.HypervisorGuruBase;
|
import com.cloud.hypervisor.HypervisorGuruBase;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
|
||||||
import com.cloud.storage.GuestOSVO;
|
import com.cloud.storage.GuestOSVO;
|
||||||
import com.cloud.storage.dao.GuestOSDao;
|
import com.cloud.storage.dao.GuestOSDao;
|
||||||
|
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
import com.cloud.vm.VirtualMachineProfile;
|
import com.cloud.vm.VirtualMachineProfile;
|
||||||
|
|
||||||
|
|||||||
@ -21,11 +21,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import com.cloud.simulator.MockHostVO;
|
import com.cloud.simulator.MockHostVO;
|
||||||
import com.cloud.simulator.MockVMVO;
|
import com.cloud.simulator.MockVMVO;
|
||||||
|
|
||||||
import com.cloud.utils.db.GenericDaoBase;
|
import com.cloud.utils.db.GenericDaoBase;
|
||||||
import com.cloud.utils.db.JoinBuilder;
|
import com.cloud.utils.db.JoinBuilder;
|
||||||
import com.cloud.utils.db.SearchBuilder;
|
import com.cloud.utils.db.SearchBuilder;
|
||||||
|
|||||||
@ -23,17 +23,14 @@ import java.security.SecureRandom;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.bouncycastle.util.encoders.Base64;
|
import org.bouncycastle.util.encoders.Base64;
|
||||||
|
|
||||||
import com.cloud.server.ManagementServer;
|
|
||||||
import com.cloud.servlet.CloudStartupServlet;
|
|
||||||
import com.cloud.user.UserAccount;
|
import com.cloud.user.UserAccount;
|
||||||
import com.cloud.user.dao.UserAccountDao;
|
import com.cloud.user.dao.UserAccountDao;
|
||||||
|
|
||||||
|
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
|
|
||||||
@Local(value={UserAuthenticator.class})
|
@Local(value={UserAuthenticator.class})
|
||||||
@ -44,6 +41,7 @@ public class SHA256SaltedUserAuthenticator extends DefaultUserAuthenticator {
|
|||||||
private UserAccountDao _userAccountDao;
|
private UserAccountDao _userAccountDao;
|
||||||
private static int s_saltlen = 20;
|
private static int s_saltlen = 20;
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean configure(String name, Map<String, Object> params)
|
public boolean configure(String name, Map<String, Object> params)
|
||||||
throws ConfigurationException {
|
throws ConfigurationException {
|
||||||
super.configure(name, params);
|
super.configure(name, params);
|
||||||
|
|||||||
@ -20,7 +20,6 @@ import java.net.URI;
|
|||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.net.URLDecoder;
|
import java.net.URLDecoder;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -32,16 +31,20 @@ import javax.ejb.Local;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
|
import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.cluster.DeleteClusterCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.AddHostCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.AddSecondaryStorageCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.CancelMaintenanceCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.PrepareForMaintenanceCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.ReconnectHostCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.UpdateHostCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.host.UpdateHostPasswordCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.storage.AddS3Cmd;
|
||||||
import org.apache.cloudstack.api.command.admin.storage.ListS3sCmd;
|
import org.apache.cloudstack.api.command.admin.storage.ListS3sCmd;
|
||||||
import org.apache.cloudstack.api.command.admin.swift.AddSwiftCmd;
|
import org.apache.cloudstack.api.command.admin.swift.AddSwiftCmd;
|
||||||
import org.apache.cloudstack.api.command.admin.cluster.DeleteClusterCmd;
|
|
||||||
import org.apache.cloudstack.api.command.admin.host.*;
|
|
||||||
import org.apache.cloudstack.api.command.admin.swift.ListSwiftsCmd;
|
import org.apache.cloudstack.api.command.admin.swift.ListSwiftsCmd;
|
||||||
import org.apache.cloudstack.api.command.admin.storage.AddS3Cmd;
|
|
||||||
import com.cloud.storage.S3;
|
|
||||||
import com.cloud.storage.S3VO;
|
|
||||||
import com.cloud.storage.s3.S3Manager;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -59,12 +62,7 @@ import com.cloud.agent.api.UpdateHostPasswordCommand;
|
|||||||
import com.cloud.agent.manager.AgentAttache;
|
import com.cloud.agent.manager.AgentAttache;
|
||||||
import com.cloud.agent.manager.allocator.PodAllocator;
|
import com.cloud.agent.manager.allocator.PodAllocator;
|
||||||
import com.cloud.agent.transport.Request;
|
import com.cloud.agent.transport.Request;
|
||||||
import org.apache.cloudstack.api.ApiConstants;
|
|
||||||
import com.cloud.api.ApiDBUtils;
|
import com.cloud.api.ApiDBUtils;
|
||||||
import org.apache.cloudstack.api.command.admin.host.AddHostCmd;
|
|
||||||
import org.apache.cloudstack.api.command.admin.host.CancelMaintenanceCmd;
|
|
||||||
import org.apache.cloudstack.api.command.admin.host.PrepareForMaintenanceCmd;
|
|
||||||
import org.apache.cloudstack.api.command.admin.host.UpdateHostCmd;
|
|
||||||
import com.cloud.capacity.Capacity;
|
import com.cloud.capacity.Capacity;
|
||||||
import com.cloud.capacity.CapacityVO;
|
import com.cloud.capacity.CapacityVO;
|
||||||
import com.cloud.capacity.dao.CapacityDao;
|
import com.cloud.capacity.dao.CapacityDao;
|
||||||
@ -112,6 +110,8 @@ import com.cloud.org.Grouping.AllocationState;
|
|||||||
import com.cloud.org.Managed;
|
import com.cloud.org.Managed;
|
||||||
import com.cloud.service.ServiceOfferingVO;
|
import com.cloud.service.ServiceOfferingVO;
|
||||||
import com.cloud.storage.GuestOSCategoryVO;
|
import com.cloud.storage.GuestOSCategoryVO;
|
||||||
|
import com.cloud.storage.S3;
|
||||||
|
import com.cloud.storage.S3VO;
|
||||||
import com.cloud.storage.StorageManager;
|
import com.cloud.storage.StorageManager;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
import com.cloud.storage.StoragePoolHostVO;
|
import com.cloud.storage.StoragePoolHostVO;
|
||||||
@ -125,6 +125,7 @@ import com.cloud.storage.dao.GuestOSCategoryDao;
|
|||||||
import com.cloud.storage.dao.StoragePoolDao;
|
import com.cloud.storage.dao.StoragePoolDao;
|
||||||
import com.cloud.storage.dao.StoragePoolHostDao;
|
import com.cloud.storage.dao.StoragePoolHostDao;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
|
import com.cloud.storage.s3.S3Manager;
|
||||||
import com.cloud.storage.secondary.SecondaryStorageVmManager;
|
import com.cloud.storage.secondary.SecondaryStorageVmManager;
|
||||||
import com.cloud.storage.swift.SwiftManager;
|
import com.cloud.storage.swift.SwiftManager;
|
||||||
import com.cloud.template.VirtualMachineTemplate;
|
import com.cloud.template.VirtualMachineTemplate;
|
||||||
@ -135,7 +136,6 @@ import com.cloud.user.UserContext;
|
|||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.StringUtils;
|
import com.cloud.utils.StringUtils;
|
||||||
import com.cloud.utils.UriUtils;
|
import com.cloud.utils.UriUtils;
|
||||||
import com.cloud.utils.component.Adapters;
|
|
||||||
import com.cloud.utils.component.Manager;
|
import com.cloud.utils.component.Manager;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.SearchCriteria;
|
import com.cloud.utils.db.SearchCriteria;
|
||||||
|
|||||||
@ -27,15 +27,16 @@ import java.util.Map;
|
|||||||
|
|
||||||
import javax.crypto.Mac;
|
import javax.crypto.Mac;
|
||||||
import javax.crypto.spec.SecretKeySpec;
|
import javax.crypto.spec.SecretKeySpec;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.servlet.http.HttpServlet;
|
import javax.servlet.http.HttpServlet;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.apache.cloudstack.api.IdentityService;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import org.apache.cloudstack.api.IdentityService;
|
|
||||||
import com.cloud.exception.PermissionDeniedException;
|
import com.cloud.exception.PermissionDeniedException;
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.server.ManagementServer;
|
import com.cloud.server.ManagementServer;
|
||||||
@ -46,7 +47,6 @@ import com.cloud.user.User;
|
|||||||
import com.cloud.uservm.UserVm;
|
import com.cloud.uservm.UserVm;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.Ternary;
|
import com.cloud.utils.Ternary;
|
||||||
|
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.vm.VMInstanceVO;
|
import com.cloud.vm.VMInstanceVO;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
@ -63,10 +63,10 @@ public class ConsoleProxyServlet extends HttpServlet {
|
|||||||
private static final int DEFAULT_THUMBNAIL_WIDTH = 144;
|
private static final int DEFAULT_THUMBNAIL_WIDTH = 144;
|
||||||
private static final int DEFAULT_THUMBNAIL_HEIGHT = 110;
|
private static final int DEFAULT_THUMBNAIL_HEIGHT = 110;
|
||||||
|
|
||||||
private final static AccountManager _accountMgr = ComponentLocator.getLocator(ManagementServer.Name).getManager(AccountManager.class);
|
@Inject AccountManager _accountMgr;
|
||||||
private final static VirtualMachineManager _vmMgr = ComponentLocator.getLocator(ManagementServer.Name).getManager(VirtualMachineManager.class);
|
@Inject VirtualMachineManager _vmMgr;
|
||||||
private final static ManagementServer _ms = (ManagementServer)ComponentLocator.getComponent(ManagementServer.Name);
|
@Inject ManagementServer _ms;
|
||||||
private final static IdentityService _identityService = ComponentLocator.getLocator(ManagementServer.Name).getManager(IdentityService.class);
|
@Inject IdentityService _identityService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
|
||||||
|
|||||||
@ -19,9 +19,9 @@ package com.cloud.servlet;
|
|||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.servlet.ServletContextEvent;
|
import javax.servlet.ServletContextEvent;
|
||||||
import javax.servlet.ServletContextListener;
|
import javax.servlet.ServletContextListener;
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.http.HttpServlet;
|
import javax.servlet.http.HttpServlet;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@ -30,7 +30,6 @@ import org.apache.log4j.Logger;
|
|||||||
|
|
||||||
import com.cloud.configuration.Configuration;
|
import com.cloud.configuration.Configuration;
|
||||||
import com.cloud.configuration.dao.ConfigurationDao;
|
import com.cloud.configuration.dao.ConfigurationDao;
|
||||||
import com.cloud.server.ManagementServer;
|
|
||||||
import com.cloud.user.Account;
|
import com.cloud.user.Account;
|
||||||
import com.cloud.user.AccountService;
|
import com.cloud.user.AccountService;
|
||||||
import com.cloud.user.User;
|
import com.cloud.user.User;
|
||||||
@ -44,26 +43,12 @@ public class RegisterCompleteServlet extends HttpServlet implements ServletConte
|
|||||||
|
|
||||||
static final long serialVersionUID = SerialVersionUID.CloudStartupServlet;
|
static final long serialVersionUID = SerialVersionUID.CloudStartupServlet;
|
||||||
|
|
||||||
protected static AccountService _accountSvc = null;
|
@Inject AccountService _accountSvc = null;
|
||||||
protected static ConfigurationDao _configDao = null;
|
@Inject ConfigurationDao _configDao = null;
|
||||||
protected static UserDao _userDao = null;
|
@Inject UserDao _userDao = null;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init() throws ServletException {
|
|
||||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementServer.Name);
|
|
||||||
_accountSvc = locator.getManager(AccountService.class);
|
|
||||||
_configDao = locator.getDao(ConfigurationDao.class);
|
|
||||||
_userDao = locator.getDao(UserDao.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void contextInitialized(ServletContextEvent sce) {
|
public void contextInitialized(ServletContextEvent sce) {
|
||||||
try {
|
|
||||||
init();
|
|
||||||
} catch (ServletException e) {
|
|
||||||
s_logger.error("Exception starting management server ", e);
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@ -45,7 +44,10 @@ import javax.ejb.Local;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.cloudstack.api.command.admin.storage.*;
|
import org.apache.cloudstack.api.command.admin.storage.CancelPrimaryStorageMaintenanceCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.storage.CreateStoragePoolCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.storage.DeletePoolCmd;
|
||||||
|
import org.apache.cloudstack.api.command.admin.storage.UpdateStoragePoolCmd;
|
||||||
import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd;
|
import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd;
|
||||||
import org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd;
|
import org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -76,14 +78,12 @@ import com.cloud.agent.api.to.VolumeTO;
|
|||||||
import com.cloud.agent.manager.Commands;
|
import com.cloud.agent.manager.Commands;
|
||||||
import com.cloud.alert.AlertManager;
|
import com.cloud.alert.AlertManager;
|
||||||
import com.cloud.api.ApiDBUtils;
|
import com.cloud.api.ApiDBUtils;
|
||||||
import org.apache.cloudstack.api.command.admin.storage.CreateStoragePoolCmd;
|
|
||||||
import com.cloud.async.AsyncJobManager;
|
import com.cloud.async.AsyncJobManager;
|
||||||
import com.cloud.capacity.Capacity;
|
import com.cloud.capacity.Capacity;
|
||||||
import com.cloud.capacity.CapacityManager;
|
import com.cloud.capacity.CapacityManager;
|
||||||
import com.cloud.capacity.CapacityState;
|
import com.cloud.capacity.CapacityState;
|
||||||
import com.cloud.capacity.CapacityVO;
|
import com.cloud.capacity.CapacityVO;
|
||||||
import com.cloud.capacity.dao.CapacityDao;
|
import com.cloud.capacity.dao.CapacityDao;
|
||||||
import com.cloud.cluster.CheckPointManager;
|
|
||||||
import com.cloud.cluster.ClusterManagerListener;
|
import com.cloud.cluster.ClusterManagerListener;
|
||||||
import com.cloud.cluster.ManagementServerHostVO;
|
import com.cloud.cluster.ManagementServerHostVO;
|
||||||
import com.cloud.configuration.Config;
|
import com.cloud.configuration.Config;
|
||||||
@ -172,8 +172,7 @@ import com.cloud.utils.EnumUtils;
|
|||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.UriUtils;
|
import com.cloud.utils.UriUtils;
|
||||||
import com.cloud.utils.component.Adapters;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
|
|
||||||
import com.cloud.utils.component.Manager;
|
import com.cloud.utils.component.Manager;
|
||||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
@ -322,8 +321,6 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
@Inject
|
@Inject
|
||||||
protected ResourceManager _resourceMgr;
|
protected ResourceManager _resourceMgr;
|
||||||
@Inject
|
@Inject
|
||||||
protected CheckPointManager _checkPointMgr;
|
|
||||||
@Inject
|
|
||||||
protected DownloadMonitor _downloadMonitor;
|
protected DownloadMonitor _downloadMonitor;
|
||||||
@Inject
|
@Inject
|
||||||
protected ResourceTagDao _resourceTagDao;
|
protected ResourceTagDao _resourceTagDao;
|
||||||
@ -355,7 +352,7 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
protected BigDecimal _overProvisioningFactor = new BigDecimal(1);
|
protected BigDecimal _overProvisioningFactor = new BigDecimal(1);
|
||||||
private long _maxVolumeSizeInGb;
|
private long _maxVolumeSizeInGb;
|
||||||
private long _serverId;
|
private long _serverId;
|
||||||
private StateMachine2<Volume.State, Volume.Event, Volume> _volStateMachine;
|
private final StateMachine2<Volume.State, Volume.Event, Volume> _volStateMachine;
|
||||||
private int _customDiskOfferingMinSize = 1;
|
private int _customDiskOfferingMinSize = 1;
|
||||||
private int _customDiskOfferingMaxSize = 1024;
|
private int _customDiskOfferingMaxSize = 1024;
|
||||||
private double _storageUsedThreshold = 1.0d;
|
private double _storageUsedThreshold = 1.0d;
|
||||||
@ -995,7 +992,7 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
int wrks = NumbersUtil.parseInt(workers, 10);
|
int wrks = NumbersUtil.parseInt(workers, 10);
|
||||||
_executor = Executors.newScheduledThreadPool(wrks, new NamedThreadFactory("StorageManager-Scavenger"));
|
_executor = Executors.newScheduledThreadPool(wrks, new NamedThreadFactory("StorageManager-Scavenger"));
|
||||||
|
|
||||||
_agentMgr.registerForHostEvents(ComponentLocator.inject(LocalStoragePoolListener.class), true, false, false);
|
_agentMgr.registerForHostEvents(ComponentContext.inject(LocalStoragePoolListener.class), true, false, false);
|
||||||
|
|
||||||
String maxVolumeSizeInGbString = _configDao.getValue("storage.max.volume.size");
|
String maxVolumeSizeInGbString = _configDao.getValue("storage.max.volume.size");
|
||||||
_maxVolumeSizeInGb = NumbersUtil.parseLong(maxVolumeSizeInGbString, 2000);
|
_maxVolumeSizeInGb = NumbersUtil.parseLong(maxVolumeSizeInGbString, 2000);
|
||||||
@ -3109,7 +3106,6 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
volIds.add(volume.getId());
|
volIds.add(volume.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
checkPointTaskId = _checkPointMgr.pushCheckPoint(new StorageMigrationCleanupMaid(StorageMigrationCleanupMaid.StorageMigrationState.MIGRATING, volIds));
|
|
||||||
transitResult = true;
|
transitResult = true;
|
||||||
} finally {
|
} finally {
|
||||||
if (!transitResult) {
|
if (!transitResult) {
|
||||||
@ -3166,7 +3162,6 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
s_logger.debug("Failed to change volume state: " + e.toString());
|
s_logger.debug("Failed to change volume state: " + e.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_checkPointMgr.popCheckPoint(checkPointTaskId);
|
|
||||||
} else {
|
} else {
|
||||||
// Need a transaction, make sure all the volumes get migrated to new storage pool
|
// Need a transaction, make sure all the volumes get migrated to new storage pool
|
||||||
txn = Transaction.currentTxn();
|
txn = Transaction.currentTxn();
|
||||||
@ -3192,11 +3187,6 @@ public class StorageManagerImpl implements StorageManager, Manager, ClusterManag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
transitResult = true;
|
transitResult = true;
|
||||||
try {
|
|
||||||
_checkPointMgr.popCheckPoint(checkPointTaskId);
|
|
||||||
} catch (Exception e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
if (!transitResult) {
|
if (!transitResult) {
|
||||||
txn.rollback();
|
txn.rollback();
|
||||||
|
|||||||
@ -1,121 +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.storage;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
import com.cloud.cluster.CheckPointManager;
|
|
||||||
import com.cloud.cluster.CleanupMaid;
|
|
||||||
import com.cloud.server.ManagementServer;
|
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
|
||||||
|
|
||||||
import com.cloud.utils.db.Transaction;
|
|
||||||
import com.cloud.utils.fsm.NoTransitionException;
|
|
||||||
import com.cloud.utils.fsm.StateMachine2;
|
|
||||||
import com.cloud.vm.VMInstanceVO;
|
|
||||||
import com.cloud.vm.VirtualMachine;
|
|
||||||
import com.cloud.vm.VirtualMachineManager;
|
|
||||||
import com.cloud.vm.dao.VMInstanceDao;
|
|
||||||
|
|
||||||
public class StorageMigrationCleanupMaid implements CleanupMaid {
|
|
||||||
private static final Logger s_logger = Logger.getLogger(StorageMigrationCleanupMaid.class);
|
|
||||||
public static enum StorageMigrationState {
|
|
||||||
MIGRATING,
|
|
||||||
MIGRATINGFAILED,
|
|
||||||
MIGRATINGSUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<Long> _volumesIds = new ArrayList<Long>();
|
|
||||||
private StorageMigrationState _migrateState;
|
|
||||||
|
|
||||||
public StorageMigrationCleanupMaid() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public StorageMigrationCleanupMaid(StorageMigrationState state, List<Long> volumes) {
|
|
||||||
_migrateState = state;
|
|
||||||
_volumesIds = volumes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateStaste(StorageMigrationState state) {
|
|
||||||
_migrateState = state;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int cleanup(CheckPointManager checkPointMgr) {
|
|
||||||
StateMachine2<Volume.State, Volume.Event, Volume> _stateMachine = Volume.State.getStateMachine();
|
|
||||||
|
|
||||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementServer.Name);
|
|
||||||
VolumeDao volDao = locator.getDao(VolumeDao.class);
|
|
||||||
VMInstanceDao vmDao = locator.getDao(VMInstanceDao.class);
|
|
||||||
VirtualMachineManager vmMgr = locator.getManager(VirtualMachineManager.class);
|
|
||||||
Long vmInstanceId = null;
|
|
||||||
boolean success = true;
|
|
||||||
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
|
|
||||||
|
|
||||||
try {
|
|
||||||
txn.start();
|
|
||||||
for (Long volumeId : _volumesIds) {
|
|
||||||
VolumeVO volume = volDao.findById(volumeId);
|
|
||||||
if (volume == null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
vmInstanceId = volume.getInstanceId();
|
|
||||||
if (_migrateState == StorageMigrationState.MIGRATING && volume.getState() == Volume.State.Migrating) {
|
|
||||||
try {
|
|
||||||
_stateMachine.transitTo(volume, Volume.Event.OperationFailed, null, volDao);
|
|
||||||
} catch (NoTransitionException e) {
|
|
||||||
s_logger.debug("Failed to transit volume state: " + e.toString());
|
|
||||||
success = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (vmInstanceId != null) {
|
|
||||||
VMInstanceVO vm = vmDao.findById(vmInstanceId);
|
|
||||||
if (vm != null && vm.getState() == VirtualMachine.State.Migrating) {
|
|
||||||
try {
|
|
||||||
vmMgr.stateTransitTo(vm, VirtualMachine.Event.AgentReportStopped, null);
|
|
||||||
} catch (NoTransitionException e) {
|
|
||||||
s_logger.debug("Failed to transit vm state");
|
|
||||||
success = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (success) {
|
|
||||||
txn.commit();
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
s_logger.debug("storage migration cleanup failed:" + e.toString());
|
|
||||||
txn.rollback();
|
|
||||||
}finally {
|
|
||||||
txn.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getCleanupProcedure() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -31,7 +31,7 @@ import com.cloud.deploy.DeploymentPlan;
|
|||||||
import com.cloud.deploy.DeploymentPlanner.ExcludeList;
|
import com.cloud.deploy.DeploymentPlanner.ExcludeList;
|
||||||
import com.cloud.storage.StorageManager;
|
import com.cloud.storage.StorageManager;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.vm.DiskProfile;
|
import com.cloud.vm.DiskProfile;
|
||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
import com.cloud.vm.VirtualMachineProfile;
|
import com.cloud.vm.VirtualMachineProfile;
|
||||||
@ -88,11 +88,9 @@ public class GarbageCollectingStoragePoolAllocator extends AbstractStoragePoolAl
|
|||||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||||
super.configure(name, params);
|
super.configure(name, params);
|
||||||
|
|
||||||
ComponentLocator locator = ComponentLocator.getCurrentLocator();
|
_firstFitStoragePoolAllocator = ComponentContext.inject(FirstFitStoragePoolAllocator.class);
|
||||||
|
|
||||||
_firstFitStoragePoolAllocator = ComponentLocator.inject(FirstFitStoragePoolAllocator.class);
|
|
||||||
_firstFitStoragePoolAllocator.configure("GCFirstFitStoragePoolAllocator", params);
|
_firstFitStoragePoolAllocator.configure("GCFirstFitStoragePoolAllocator", params);
|
||||||
_localStoragePoolAllocator = ComponentLocator.inject(LocalStoragePoolAllocator.class);
|
_localStoragePoolAllocator = ComponentContext.inject(LocalStoragePoolAllocator.class);
|
||||||
_localStoragePoolAllocator.configure("GCLocalStoragePoolAllocator", params);
|
_localStoragePoolAllocator.configure("GCLocalStoragePoolAllocator", params);
|
||||||
|
|
||||||
String storagePoolCleanupEnabled = _configDao.getValue("storage.pool.cleanup.enabled");
|
String storagePoolCleanupEnabled = _configDao.getValue("storage.pool.cleanup.enabled");
|
||||||
|
|||||||
@ -18,6 +18,8 @@ package com.cloud.storage.listener;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.Listener;
|
import com.cloud.agent.Listener;
|
||||||
@ -31,12 +33,11 @@ import com.cloud.exception.ConnectionException;
|
|||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.host.Status;
|
import com.cloud.host.Status;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.server.ManagementService;
|
|
||||||
import com.cloud.storage.OCFS2Manager;
|
import com.cloud.storage.OCFS2Manager;
|
||||||
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
import com.cloud.storage.StorageManagerImpl;
|
import com.cloud.storage.StorageManagerImpl;
|
||||||
import com.cloud.storage.StoragePoolStatus;
|
import com.cloud.storage.StoragePoolStatus;
|
||||||
import com.cloud.storage.StoragePoolVO;
|
import com.cloud.storage.StoragePoolVO;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
|
||||||
import com.cloud.storage.dao.StoragePoolDao;
|
import com.cloud.storage.dao.StoragePoolDao;
|
||||||
|
|
||||||
|
|
||||||
@ -44,14 +45,12 @@ public class StoragePoolMonitor implements Listener {
|
|||||||
private static final Logger s_logger = Logger.getLogger(StoragePoolMonitor.class);
|
private static final Logger s_logger = Logger.getLogger(StoragePoolMonitor.class);
|
||||||
private final StorageManagerImpl _storageManager;
|
private final StorageManagerImpl _storageManager;
|
||||||
private final StoragePoolDao _poolDao;
|
private final StoragePoolDao _poolDao;
|
||||||
OCFS2Manager _ocfs2Mgr;
|
@Inject OCFS2Manager _ocfs2Mgr;
|
||||||
|
|
||||||
public StoragePoolMonitor(StorageManagerImpl mgr, StoragePoolDao poolDao) {
|
public StoragePoolMonitor(StorageManagerImpl mgr, StoragePoolDao poolDao) {
|
||||||
this._storageManager = mgr;
|
this._storageManager = mgr;
|
||||||
this._poolDao = poolDao;
|
this._poolDao = poolDao;
|
||||||
|
|
||||||
ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
|
|
||||||
this._ocfs2Mgr = locator.getManager(OCFS2Manager.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -59,7 +60,7 @@ public class DummySecondaryStorageResource extends ServerResourceBase implements
|
|||||||
String _pod;
|
String _pod;
|
||||||
String _guid;
|
String _guid;
|
||||||
String _dummyPath;
|
String _dummyPath;
|
||||||
VMTemplateDao _tmpltDao;
|
@Inject VMTemplateDao _tmpltDao;
|
||||||
private boolean _useServiceVm;
|
private boolean _useServiceVm;
|
||||||
|
|
||||||
|
|
||||||
@ -158,11 +159,6 @@ public class DummySecondaryStorageResource extends ServerResourceBase implements
|
|||||||
throw new ConfigurationException("Unable to find mount.path");
|
throw new ConfigurationException("Unable to find mount.path");
|
||||||
}
|
}
|
||||||
|
|
||||||
ComponentLocator locator = ComponentLocator.getLocator("management-server");
|
|
||||||
_tmpltDao = locator.getDao(VMTemplateDao.class);
|
|
||||||
if (_tmpltDao == null) {
|
|
||||||
throw new ConfigurationException("Unable to find VMTemplate dao");
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ import com.cloud.service.dao.ServiceOfferingDaoImpl;
|
|||||||
import com.cloud.storage.DiskOfferingVO;
|
import com.cloud.storage.DiskOfferingVO;
|
||||||
import com.cloud.storage.dao.DiskOfferingDaoImpl;
|
import com.cloud.storage.dao.DiskOfferingDaoImpl;
|
||||||
import com.cloud.utils.PropertiesUtil;
|
import com.cloud.utils.PropertiesUtil;
|
||||||
import com.cloud.utils.component.LegacyComponentLocator;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.net.NfsUtils;
|
import com.cloud.utils.net.NfsUtils;
|
||||||
@ -76,10 +76,10 @@ public class DatabaseConfig {
|
|||||||
private static HashSet<String> fieldNames = new HashSet<String>();
|
private static HashSet<String> fieldNames = new HashSet<String>();
|
||||||
|
|
||||||
// Maintain an IPRangeConfig object to handle IP related logic
|
// Maintain an IPRangeConfig object to handle IP related logic
|
||||||
private final IPRangeConfig iprc = LegacyComponentLocator.inject(IPRangeConfig.class);
|
private final IPRangeConfig iprc = ComponentContext.inject(IPRangeConfig.class);
|
||||||
|
|
||||||
// Maintain a PodZoneConfig object to handle Pod/Zone related logic
|
// Maintain a PodZoneConfig object to handle Pod/Zone related logic
|
||||||
private final PodZoneConfig pzc = LegacyComponentLocator.inject(PodZoneConfig.class);
|
private final PodZoneConfig pzc = ComponentContext.inject(PodZoneConfig.class);
|
||||||
|
|
||||||
// Global variables to store network.throttling.rate and multicast.throttling.rate from the configuration table
|
// Global variables to store network.throttling.rate and multicast.throttling.rate from the configuration table
|
||||||
// Will be changed from null to a non-null value if the value existed in the configuration table
|
// Will be changed from null to a non-null value if the value existed in the configuration table
|
||||||
@ -359,7 +359,7 @@ public class DatabaseConfig {
|
|||||||
s_logger.error("error starting database config, missing initial data file");
|
s_logger.error("error starting database config, missing initial data file");
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
DatabaseConfig config = LegacyComponentLocator.inject(DatabaseConfig.class, args[0]);
|
DatabaseConfig config = ComponentContext.inject(DatabaseConfig.class, args[0]);
|
||||||
config.doVersionCheck();
|
config.doVersionCheck();
|
||||||
config.doConfig();
|
config.doConfig();
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
@ -918,7 +918,7 @@ public class DatabaseConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ServiceOfferingVO serviceOffering = new ServiceOfferingVO(name, cpu, ramSize, speed, null, null, ha, displayText, useLocalStorage, false, null, false, null, false);
|
ServiceOfferingVO serviceOffering = new ServiceOfferingVO(name, cpu, ramSize, speed, null, null, ha, displayText, useLocalStorage, false, null, false, null, false);
|
||||||
ServiceOfferingDaoImpl dao = LegacyComponentLocator.inject(ServiceOfferingDaoImpl.class);
|
ServiceOfferingDaoImpl dao = ComponentContext.inject(ServiceOfferingDaoImpl.class);
|
||||||
try {
|
try {
|
||||||
dao.persist(serviceOffering);
|
dao.persist(serviceOffering);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -967,7 +967,7 @@ public class DatabaseConfig {
|
|||||||
}
|
}
|
||||||
DiskOfferingVO diskOffering = new DiskOfferingVO(domainId, name, displayText, diskSpace , tags, false);
|
DiskOfferingVO diskOffering = new DiskOfferingVO(domainId, name, displayText, diskSpace , tags, false);
|
||||||
diskOffering.setUseLocalStorage(local);
|
diskOffering.setUseLocalStorage(local);
|
||||||
DiskOfferingDaoImpl offering = LegacyComponentLocator.inject(DiskOfferingDaoImpl.class);
|
DiskOfferingDaoImpl offering = ComponentContext.inject(DiskOfferingDaoImpl.class);
|
||||||
try {
|
try {
|
||||||
offering.persist(diskOffering);
|
offering.persist(diskOffering);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.net.NetUtils;
|
import com.cloud.utils.net.NetUtils;
|
||||||
@ -35,7 +35,7 @@ import com.cloud.utils.net.NetUtils;
|
|||||||
public class IPRangeConfig {
|
public class IPRangeConfig {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
IPRangeConfig config = ComponentLocator.inject(IPRangeConfig.class);
|
IPRangeConfig config = ComponentContext.inject(IPRangeConfig.class);
|
||||||
config.run(args);
|
config.run(args);
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,7 @@ import java.util.List;
|
|||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import com.cloud.network.Networks.TrafficType;
|
import com.cloud.network.Networks.TrafficType;
|
||||||
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.net.NetUtils;
|
import com.cloud.utils.net.NetUtils;
|
||||||
@ -33,7 +33,7 @@ import com.cloud.utils.net.NetUtils;
|
|||||||
public class PodZoneConfig {
|
public class PodZoneConfig {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
PodZoneConfig config = ComponentLocator.inject(PodZoneConfig.class);
|
PodZoneConfig config = ComponentContext.inject(PodZoneConfig.class);
|
||||||
//config.run(args);
|
//config.run(args);
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.cluster.StackMaid;
|
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||||
import com.cloud.utils.db.GlobalLock;
|
import com.cloud.utils.db.GlobalLock;
|
||||||
@ -74,7 +73,6 @@ public class SystemVmLoadScanner<T> {
|
|||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
s_logger.warn("Unexpected exception " + e.getMessage(), e);
|
s_logger.warn("Unexpected exception " + e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
StackMaid.current().exitCleanup();
|
|
||||||
txn.close();
|
txn.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,7 +214,6 @@ import com.cloud.uservm.UserVm;
|
|||||||
import com.cloud.utils.NumbersUtil;
|
import com.cloud.utils.NumbersUtil;
|
||||||
import com.cloud.utils.Pair;
|
import com.cloud.utils.Pair;
|
||||||
import com.cloud.utils.PasswordGenerator;
|
import com.cloud.utils.PasswordGenerator;
|
||||||
|
|
||||||
import com.cloud.utils.component.Manager;
|
import com.cloud.utils.component.Manager;
|
||||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||||
import com.cloud.utils.crypt.RSAHelper;
|
import com.cloud.utils.crypt.RSAHelper;
|
||||||
@ -381,7 +380,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
|
|||||||
protected String _instance;
|
protected String _instance;
|
||||||
protected String _zone;
|
protected String _zone;
|
||||||
|
|
||||||
private ConfigurationDao _configDao;
|
@Inject ConfigurationDao _configDao;
|
||||||
private int _createprivatetemplatefromvolumewait;
|
private int _createprivatetemplatefromvolumewait;
|
||||||
private int _createprivatetemplatefromsnapshotwait;
|
private int _createprivatetemplatefromsnapshotwait;
|
||||||
|
|
||||||
@ -1333,8 +1332,6 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
|
|||||||
throws ConfigurationException {
|
throws ConfigurationException {
|
||||||
_name = name;
|
_name = name;
|
||||||
|
|
||||||
ComponentLocator locator = ComponentLocator.getCurrentLocator();
|
|
||||||
_configDao = locator.getDao(ConfigurationDao.class);
|
|
||||||
if (_configDao == null) {
|
if (_configDao == null) {
|
||||||
throw new ConfigurationException(
|
throw new ConfigurationException(
|
||||||
"Unable to get the configuration dao.");
|
"Unable to get the configuration dao.");
|
||||||
|
|||||||
@ -71,7 +71,6 @@ import com.cloud.agent.manager.allocator.HostAllocator;
|
|||||||
import com.cloud.alert.AlertManager;
|
import com.cloud.alert.AlertManager;
|
||||||
import com.cloud.capacity.CapacityManager;
|
import com.cloud.capacity.CapacityManager;
|
||||||
import com.cloud.cluster.ClusterManager;
|
import com.cloud.cluster.ClusterManager;
|
||||||
import com.cloud.cluster.StackMaid;
|
|
||||||
import com.cloud.configuration.Config;
|
import com.cloud.configuration.Config;
|
||||||
import com.cloud.configuration.ConfigurationManager;
|
import com.cloud.configuration.ConfigurationManager;
|
||||||
import com.cloud.configuration.dao.ConfigurationDao;
|
import com.cloud.configuration.dao.ConfigurationDao;
|
||||||
@ -2340,7 +2339,6 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager, Listene
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
s_logger.warn("Caught the following exception on transition checking", e);
|
s_logger.warn("Caught the following exception on transition checking", e);
|
||||||
} finally {
|
} finally {
|
||||||
StackMaid.current().exitCleanup();
|
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,18 +19,13 @@ package com.cloud.async;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import com.cloud.async.AsyncJobVO;
|
import org.apache.log4j.Logger;
|
||||||
import com.cloud.cluster.StackMaid;
|
|
||||||
import com.cloud.cluster.CheckPointVO;
|
import com.cloud.cluster.CheckPointVO;
|
||||||
import com.cloud.cluster.dao.StackMaidDao;
|
import com.cloud.cluster.dao.StackMaidDao;
|
||||||
import com.cloud.cluster.dao.StackMaidDaoImpl;
|
import com.cloud.cluster.dao.StackMaidDaoImpl;
|
||||||
import com.cloud.serializer.Param;
|
|
||||||
import com.cloud.utils.ActionDelegate;
|
|
||||||
import com.cloud.utils.Pair;
|
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
import com.cloud.utils.testcase.Log4jEnabledTestCase;
|
import com.cloud.utils.testcase.Log4jEnabledTestCase;
|
||||||
|
|
||||||
@ -242,12 +237,6 @@ public class TestAsync extends Log4jEnabledTestCase {
|
|||||||
txn.close();
|
txn.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testMaidExitCleanup() {
|
|
||||||
StackMaid.current().push(1L, "com.cloud.async.CleanupDelegate", "Hello, world1");
|
|
||||||
StackMaid.current().push(1L, "com.cloud.async.CleanupDelegate", "Hello, world2");
|
|
||||||
|
|
||||||
StackMaid.current().exitCleanup(1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testMaidLeftovers() {
|
public void testMaidLeftovers() {
|
||||||
|
|
||||||
@ -255,6 +244,7 @@ public class TestAsync extends Log4jEnabledTestCase {
|
|||||||
for(int i = 0; i < 3; i++) {
|
for(int i = 0; i < 3; i++) {
|
||||||
final int threadNum = i+1;
|
final int threadNum = i+1;
|
||||||
threads[i] = new Thread(new Runnable() {
|
threads[i] = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
|
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user