diff --git a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java index 69d60c26943..3af7df7ecfc 100644 --- a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java +++ b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java @@ -79,7 +79,6 @@ import com.cloud.storage.dao.VMTemplateZoneDaoImpl; import com.cloud.storage.dao.VolumeDaoImpl; import com.cloud.storage.dao.VolumeHostDaoImpl; import com.cloud.storage.download.DownloadMonitorImpl; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.tags.dao.ResourceTagsDaoImpl; import com.cloud.template.TemplateManager; import com.cloud.user.AccountManager; @@ -110,11 +109,6 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl; useDefaultFilters = false) public class ChildTestConfiguration extends TestConfiguration { - @Bean - public SecondaryStorageVmManager secondaryStoreageMgr() { - return Mockito.mock(SecondaryStorageVmManager.class); - } - @Bean public HostDao hostDao() { return Mockito.spy(new HostDaoImpl()); diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index d72787ca86e..9a30f189062 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -27,8 +27,6 @@ import java.util.UUID; import javax.ejb.Local; import javax.inject.Inject; -import com.cloud.dc.dao.ClusterDao; -import com.cloud.vm.dao.VMInstanceDao; import org.apache.log4j.Logger; import org.apache.cloudstack.framework.config.ConfigKey; @@ -71,7 +69,6 @@ import com.cloud.network.Networks.BroadcastDomainType; import com.cloud.network.Networks.TrafficType; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.NetworkVO; -import com.cloud.network.dao.PhysicalNetworkDao; import com.cloud.network.dao.PhysicalNetworkTrafficTypeDao; import com.cloud.network.dao.PhysicalNetworkTrafficTypeVO; import com.cloud.secstorage.CommandExecLogDao; @@ -95,41 +92,38 @@ import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.NicDao; +import com.cloud.vm.dao.VMInstanceDao; @Local(value = HypervisorGuru.class) public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Configurable { private static final Logger s_logger = Logger.getLogger(VMwareGuru.class); @Inject - NetworkDao _networkDao; + private NetworkDao _networkDao; @Inject - GuestOSDao _guestOsDao; + private GuestOSDao _guestOsDao; @Inject - HostDao _hostDao; + private HostDao _hostDao; @Inject - HostDetailsDao _hostDetailsDao; + private HostDetailsDao _hostDetailsDao; @Inject - CommandExecLogDao _cmdExecLogDao; + private CommandExecLogDao _cmdExecLogDao; @Inject - VmwareManager _vmwareMgr; + private VmwareManager _vmwareMgr; @Inject - SecondaryStorageVmManager _secStorageMgr; + private SecondaryStorageVmManager _secStorageMgr; @Inject - NetworkModel _networkMgr; + private NetworkModel _networkMgr; @Inject - ConfigurationDao _configDao; + private ConfigurationDao _configDao; @Inject - NicDao _nicDao; + private NicDao _nicDao; @Inject - PhysicalNetworkDao _physicalNetworkDao; + private PhysicalNetworkTrafficTypeDao _physicalNetworkTrafficTypeDao; @Inject - PhysicalNetworkTrafficTypeDao _physicalNetworkTrafficTypeDao; + private VMInstanceDao _vmDao; @Inject - VMInstanceDao _vmDao; - @Inject - ClusterDao _clusterDao; - @Inject - ClusterManager _clusterMgr; + private ClusterManager _clusterMgr; protected VMwareGuru() { super(); @@ -204,7 +198,7 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co } } - long clusterId = this.getClusterId(vm.getId()); + long clusterId = getClusterId(vm.getId()); details.put(Config.VmwareReserveCpu.key(), VmwareReserveCpu.valueIn(clusterId).toString()); details.put(Config.VmwareReserveMem.key(), VmwareReserveMemory.valueIn(clusterId).toString()); to.setDetails(details); diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java index 482e8a626aa..4f443bbb4a7 100755 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java @@ -38,7 +38,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import com.google.gson.Gson; import com.vmware.vim25.AboutInfo; import com.vmware.vim25.ManagedObjectReference; @@ -75,7 +74,6 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.ResourceInUseException; import com.cloud.host.Host; import com.cloud.host.Status; -import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.dao.HypervisorCapabilitiesDao; import com.cloud.hypervisor.vmware.LegacyZoneVO; @@ -104,11 +102,9 @@ import com.cloud.network.Networks.BroadcastDomainType; import com.cloud.network.dao.CiscoNexusVSMDeviceDao; import com.cloud.org.Cluster.ClusterType; import com.cloud.secstorage.CommandExecLogDao; -import com.cloud.serializer.GsonHelper; import com.cloud.server.ConfigurationServer; import com.cloud.storage.JavaStorageLayer; import com.cloud.storage.StorageLayer; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.utils.FileUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; @@ -132,85 +128,77 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw private static final long DEFAULT_HOST_SCAN_INTERVAL = 600000; // every 10 minutes private long _hostScanInterval = DEFAULT_HOST_SCAN_INTERVAL; - int _timeout; + private int _timeout; private String _instance; @Inject - AgentManager _agentMgr; + private AgentManager _agentMgr; @Inject - protected NetworkModel _netMgr; + private NetworkModel _netMgr; @Inject - HostDao _hostDao; + private ClusterDao _clusterDao; @Inject - ClusterDao _clusterDao; + private ClusterDetailsDao _clusterDetailsDao; @Inject - ClusterDetailsDao _clusterDetailsDao; + private CommandExecLogDao _cmdExecLogDao; @Inject - CommandExecLogDao _cmdExecLogDao; + private DataStoreManager _dataStoreMgr; @Inject - SecondaryStorageVmManager _ssvmMgr; + private CiscoNexusVSMDeviceDao _nexusDao; @Inject - DataStoreManager _dataStoreMgr; + private ClusterVSMMapDao _vsmMapDao; @Inject - CiscoNexusVSMDeviceDao _nexusDao; + private ConfigurationDao _configDao; @Inject - ClusterVSMMapDao _vsmMapDao; + private ConfigurationServer _configServer; @Inject - ConfigurationDao _configDao; + private HypervisorCapabilitiesDao _hvCapabilitiesDao; @Inject - ConfigurationServer _configServer; + private DataCenterDao _dcDao; @Inject - HypervisorCapabilitiesDao _hvCapabilitiesDao; + private VmwareDatacenterDao _vmwareDcDao; @Inject - DataCenterDao _dcDao; + private VmwareDatacenterZoneMapDao _vmwareDcZoneMapDao; @Inject - VmwareDatacenterDao _vmwareDcDao; + private LegacyZoneDao _legacyZoneDao; @Inject - VmwareDatacenterZoneMapDao _vmwareDcZoneMapDao; + private ManagementServerHostPeerDao _mshostPeerDao; @Inject - LegacyZoneDao _legacyZoneDao; - @Inject - ManagementServerHostPeerDao _mshostPeerDao; - @Inject - ClusterManager _clusterMgr; + private ClusterManager _clusterMgr; - String _mountParent; - StorageLayer _storage; - String _privateNetworkVSwitchName = "vSwitch0"; + private String _mountParent; + private StorageLayer _storage; + private final String _privateNetworkVSwitchName = "vSwitch0"; - int _portsPerDvPortGroup = 256; - boolean _nexusVSwitchActive; - boolean _fullCloneFlag; - boolean _instanceNameFlag; - String _serviceConsoleName; - String _managemetPortGroupName; - String _defaultSystemVmNicAdapterType = VirtualEthernetCardType.E1000.toString(); - String _recycleHungWorker = "false"; - long _hungWorkerTimeout = 7200000; // 2 hour - int _additionalPortRangeStart; - int _additionalPortRangeSize; - int _routerExtraPublicNics = 2; - int _vCenterSessionTimeout = 1200000; // Timeout in milliseconds + private int _portsPerDvPortGroup = 256; + private boolean _fullCloneFlag; + private boolean _instanceNameFlag; + private String _serviceConsoleName; + private String _managemetPortGroupName; + private String _defaultSystemVmNicAdapterType = VirtualEthernetCardType.E1000.toString(); + private String _recycleHungWorker = "false"; + private int _additionalPortRangeStart; + private int _additionalPortRangeSize; + private int _routerExtraPublicNics = 2; + private int _vCenterSessionTimeout = 1200000; // Timeout in milliseconds - String _reserveCpu = "false"; + private String _reserveCpu = "false"; - String _reserveMem = "false"; + private String _reserveMem = "false"; - String _rootDiskController = DiskControllerType.ide.toString(); + private String _rootDiskController = DiskControllerType.ide.toString(); - Map _storageMounts = new HashMap(); + private final Map _storageMounts = new HashMap(); - Random _rand = new Random(System.currentTimeMillis()); - Gson _gson; + private final Random _rand = new Random(System.currentTimeMillis()); - VmwareStorageManager _storageMgr; - GlobalLock _exclusiveOpLock = GlobalLock.getInternLock("vmware.exclusive.op"); + private final VmwareStorageManager _storageMgr; + private final GlobalLock _exclusiveOpLock = GlobalLock.getInternLock("vmware.exclusive.op"); private final ScheduledExecutorService _hostScanScheduler = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Vmware-Host-Scan")); public VmwareManagerImpl() { - _gson = GsonHelper.getGsonLogger(); _storageMgr = new VmwareStorageManagerImpl(this); } @@ -310,10 +298,6 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw _recycleHungWorker = "false"; } - value = _configDao.getValue(Config.VmwareHungWorkerTimeout.key()); - if (value != null) - _hungWorkerTimeout = Long.parseLong(value) * 1000; - _rootDiskController = _configDao.getValue(Config.VmwareRootDiskControllerType.key()); if (_rootDiskController == null || _rootDiskController.isEmpty()) { _rootDiskController = DiskControllerType.ide.toString(); diff --git a/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java index 4a0048905d1..c2002ff5038 100644 --- a/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java +++ b/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java @@ -85,7 +85,6 @@ import com.cloud.org.Cluster.ClusterType; import com.cloud.org.Managed.ManagedState; import com.cloud.secstorage.CommandExecLogDao; import com.cloud.server.ConfigurationServer; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.AccountService; @@ -363,11 +362,6 @@ public class VmwareDatacenterApiUnitTest { return Mockito.mock(ClusterManager.class); } - @Bean - public SecondaryStorageVmManager secondaryStorageVmManager() { - return Mockito.mock(SecondaryStorageVmManager.class); - } - @Bean public CommandExecLogDao commandExecLogDao() { return Mockito.mock(CommandExecLogDao.class); diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java index 1a53c173d9f..954a37e1fe6 100644 --- a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java +++ b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java @@ -259,7 +259,6 @@ import com.cloud.storage.dao.VMTemplateHostDaoImpl; import com.cloud.storage.dao.VMTemplateZoneDaoImpl; import com.cloud.storage.dao.VolumeDaoImpl; import com.cloud.storage.dao.VolumeHostDaoImpl; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.storage.snapshot.SnapshotApiService; import com.cloud.storage.snapshot.SnapshotManager; import com.cloud.tags.dao.ResourceTagDao; @@ -623,11 +622,6 @@ public class IntegrationTestConfiguration { return Mockito.mock(ResourceMetaDataService.class); } - @Bean - public SecondaryStorageVmManager secondaryStorageVmManager() { - return Mockito.mock(SecondaryStorageVmManager.class); - } - @Bean public Site2SiteVpnManager site2SiteVpnManager() { return Mockito.mock(Site2SiteVpnManager.class); diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java b/server/src/com/cloud/resource/ResourceManagerImpl.java index c9e2e7ace56..79eb1cbee0b 100755 --- a/server/src/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/com/cloud/resource/ResourceManagerImpl.java @@ -47,7 +47,6 @@ import org.apache.cloudstack.api.command.admin.host.UpdateHostCmd; import org.apache.cloudstack.api.command.admin.host.UpdateHostPasswordCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.region.dao.RegionDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.utils.identity.ManagementServerNode; @@ -129,7 +128,6 @@ import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.GuestOSCategoryDao; import com.cloud.storage.dao.StoragePoolHostDao; import com.cloud.storage.dao.VMTemplateDao; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.User; @@ -168,55 +166,51 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, Gson _gson; @Inject - AccountManager _accountMgr; + private AccountManager _accountMgr; @Inject - AgentManager _agentMgr; + private AgentManager _agentMgr; @Inject - StorageManager _storageMgr; + private StorageManager _storageMgr; @Inject - protected SecondaryStorageVmManager _secondaryStorageMgr; + private DataCenterDao _dcDao; @Inject - protected RegionDao _regionDao; + private HostPodDao _podDao; @Inject - protected DataCenterDao _dcDao; + private ClusterDetailsDao _clusterDetailsDao; @Inject - protected HostPodDao _podDao; + private ClusterDao _clusterDao; @Inject - protected ClusterDetailsDao _clusterDetailsDao; + private CapacityDao _capacityDao; @Inject - protected ClusterDao _clusterDao; + private HostDao _hostDao; @Inject - protected CapacityDao _capacityDao; + private HostDetailsDao _hostDetailsDao; @Inject - protected HostDao _hostDao; + private ConfigurationDao _configDao; @Inject - protected HostDetailsDao _hostDetailsDao; + private HostTagsDao _hostTagsDao; @Inject - protected ConfigurationDao _configDao; + private GuestOSCategoryDao _guestOSCategoryDao; @Inject - protected HostTagsDao _hostTagsDao; + private PrimaryDataStoreDao _storagePoolDao; @Inject - protected GuestOSCategoryDao _guestOSCategoryDao; + private DataCenterIpAddressDao _privateIPAddressDao; @Inject - protected PrimaryDataStoreDao _storagePoolDao; + private IPAddressDao _publicIPAddressDao; @Inject - protected DataCenterIpAddressDao _privateIPAddressDao; + private VirtualMachineManager _vmMgr; @Inject - protected IPAddressDao _publicIPAddressDao; + private VMInstanceDao _vmDao; @Inject - protected VirtualMachineManager _vmMgr; + private HighAvailabilityManager _haMgr; @Inject - protected VMInstanceDao _vmDao; - @Inject - protected HighAvailabilityManager _haMgr; - @Inject - protected StorageService _storageSvr; + private StorageService _storageSvr; @Inject PlannerHostReservationDao _plannerHostReserveDao; @Inject - protected DedicatedResourceDao _dedicatedDao; + private DedicatedResourceDao _dedicatedDao; - protected List _discoverers; + private List _discoverers; public List getDiscoverers() { return _discoverers; @@ -227,22 +221,22 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager, } @Inject - protected ClusterManager _clusterMgr; + private ClusterManager _clusterMgr; @Inject - protected StoragePoolHostDao _storagePoolHostDao; + private StoragePoolHostDao _storagePoolHostDao; @Inject - protected VMTemplateDao _templateDao; + private VMTemplateDao _templateDao; @Inject - protected ConfigurationManager _configMgr; + private ConfigurationManager _configMgr; @Inject - protected ClusterVSMMapDao _clusterVSMMapDao; + private ClusterVSMMapDao _clusterVSMMapDao; - protected long _nodeId = ManagementServerNode.getManagementServerId(); + private final long _nodeId = ManagementServerNode.getManagementServerId(); - protected HashMap _resourceStateAdapters = new HashMap(); + private final HashMap _resourceStateAdapters = new HashMap(); - protected HashMap> _lifeCycleListeners = new HashMap>(); + private final HashMap> _lifeCycleListeners = new HashMap>(); private HypervisorType _defaultSystemVMHypervisor; private static final int ACQUIRE_GLOBAL_LOCK_TIMEOUT_FOR_COOPERATION = 30; // seconds diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 9dc9dda66af..ec404115ab4 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -40,6 +40,9 @@ import javax.crypto.spec.SecretKeySpec; import javax.inject.Inject; import javax.naming.ConfigurationException; +import org.apache.commons.codec.binary.Base64; +import org.apache.log4j.Logger; + import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.SecurityChecker.AccessType; import org.apache.cloudstack.affinity.AffinityGroupProcessor; @@ -438,7 +441,6 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationService; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; import org.apache.cloudstack.framework.config.ConfigDepot; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -450,8 +452,6 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.utils.identity.ManagementServerNode; -import org.apache.commons.codec.binary.Base64; -import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; import com.cloud.agent.api.GetVncPortAnswer; @@ -468,7 +468,6 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; -import com.cloud.configuration.ConfigurationManager; import com.cloud.consoleproxy.ConsoleProxyManagementState; import com.cloud.consoleproxy.ConsoleProxyManager; import com.cloud.dc.AccountVlanMapVO; @@ -553,7 +552,6 @@ import com.cloud.storage.dao.GuestOSDao; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.storage.secondary.SecondaryStorageVmManager; -import com.cloud.storage.snapshot.SnapshotManager; import com.cloud.tags.ResourceTagVO; import com.cloud.tags.dao.ResourceTagDao; import com.cloud.template.TemplateManager; @@ -699,38 +697,28 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe private ImageStoreDao _imgStoreDao; @Inject - ProjectManager _projectMgr; + private ProjectManager _projectMgr; @Inject - ResourceManager _resourceMgr; + private ResourceManager _resourceMgr; @Inject - SnapshotManager _snapshotMgr; + private HighAvailabilityManager _haMgr; @Inject - HighAvailabilityManager _haMgr; + private DataStoreManager dataStoreMgr; @Inject - TemplateManager templateMgr; + private HostTagsDao _hostTagsDao; @Inject - DataStoreManager dataStoreMgr; + private ConfigDepot _configDepot; @Inject - HostTagsDao _hostTagsDao; + private UserVmManager _userVmMgr; @Inject - ConfigurationServer _configServer; + private AccountService _accountService; @Inject - ConfigDepot _configDepot; - @Inject - UserVmManager _userVmMgr; - @Inject - VolumeDataFactory _volFactory; - @Inject - AccountService _accountService; - @Inject - ConfigurationManager _configMgr; - @Inject - ServiceOfferingDao _offeringDao; + private ServiceOfferingDao _offeringDao; @Inject - DeploymentPlanningManager _dpMgr; + private DeploymentPlanningManager _dpMgr; - LockMasterListener _lockMasterListener; + private LockMasterListener _lockMasterListener; private final ScheduledExecutorService _eventExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("EventChecker")); private final ScheduledExecutorService _alertExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("AlertChecker")); diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/com/cloud/storage/VolumeApiServiceImpl.java index d4fa8c125e6..252d9252cda 100644 --- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java @@ -26,6 +26,8 @@ import java.util.concurrent.ExecutionException; import javax.inject.Inject; +import org.apache.log4j.Logger; + import org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd; import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd; import org.apache.cloudstack.api.command.user.volume.DetachVolumeCmd; @@ -38,14 +40,10 @@ import org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationSer import org.apache.cloudstack.engine.subsystem.api.storage.ChapInfo; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager; import org.apache.cloudstack.engine.subsystem.api.storage.HostScope; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo; import org.apache.cloudstack.engine.subsystem.api.storage.Scope; -import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory; -import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotService; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService; @@ -68,37 +66,27 @@ import org.apache.cloudstack.storage.command.DettachCommand; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; -import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; import org.apache.cloudstack.utils.identity.ManagementServerNode; -import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.api.to.DataTO; import com.cloud.agent.api.to.DiskTO; -import com.cloud.alert.AlertManager; import com.cloud.api.ApiDBUtils; -import com.cloud.capacity.CapacityManager; -import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; -import com.cloud.consoleproxy.ConsoleProxyManager; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; -import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; -import com.cloud.dc.dao.HostPodDao; import com.cloud.domain.Domain; -import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; -import com.cloud.event.dao.EventDao; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; @@ -108,29 +96,15 @@ import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.HypervisorCapabilitiesVO; -import com.cloud.hypervisor.HypervisorGuruManager; import com.cloud.hypervisor.dao.HypervisorCapabilitiesDao; -import com.cloud.network.NetworkModel; import com.cloud.org.Grouping; -import com.cloud.resource.ResourceManager; -import com.cloud.server.ManagementServer; -import com.cloud.service.dao.ServiceOfferingDao; import com.cloud.storage.Storage.ImageFormat; import com.cloud.storage.dao.DiskOfferingDao; import com.cloud.storage.dao.SnapshotDao; -import com.cloud.storage.dao.SnapshotPolicyDao; -import com.cloud.storage.dao.StoragePoolHostDao; -import com.cloud.storage.dao.StoragePoolWorkDao; import com.cloud.storage.dao.VMTemplateDao; -import com.cloud.storage.dao.VMTemplatePoolDao; import com.cloud.storage.dao.VolumeDao; -import com.cloud.storage.dao.VolumeDetailsDao; -import com.cloud.storage.download.DownloadMonitor; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.storage.snapshot.SnapshotApiService; import com.cloud.storage.snapshot.SnapshotManager; -import com.cloud.storage.snapshot.SnapshotScheduler; -import com.cloud.tags.dao.ResourceTagDao; import com.cloud.template.TemplateManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; @@ -138,7 +112,6 @@ import com.cloud.user.ResourceLimitService; import com.cloud.user.User; import com.cloud.user.VmDiskStatisticsVO; import com.cloud.user.dao.AccountDao; -import com.cloud.user.dao.UserDao; import com.cloud.user.dao.VmDiskStatisticsDao; import com.cloud.utils.EnumUtils; import com.cloud.utils.NumbersUtil; @@ -155,20 +128,15 @@ import com.cloud.utils.db.UUIDManager; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateMachine2; -import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; -import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VmWork; import com.cloud.vm.VmWorkConstants; import com.cloud.vm.VmWorkJobHandler; import com.cloud.vm.VmWorkJobHandlerProxy; import com.cloud.vm.VmWorkSerializer; -import com.cloud.vm.dao.ConsoleProxyDao; -import com.cloud.vm.dao.DomainRouterDao; -import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; @@ -180,153 +148,73 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic public static final String VM_WORK_JOB_HANDLER = VolumeApiServiceImpl.class.getSimpleName(); @Inject - VolumeOrchestrationService _volumeMgr; + private VolumeOrchestrationService _volumeMgr; @Inject - EntityManager _entityMgr; + private EntityManager _entityMgr; @Inject - protected UserVmManager _userVmMgr; + private AgentManager _agentMgr; @Inject - protected AgentManager _agentMgr; + private TemplateManager _tmpltMgr; @Inject - protected TemplateManager _tmpltMgr; + private AsyncJobManager _asyncMgr; @Inject - protected AsyncJobManager _asyncMgr; + private SnapshotManager _snapshotMgr; @Inject - protected SnapshotManager _snapshotMgr; + private AccountManager _accountMgr; @Inject - protected SnapshotScheduler _snapshotScheduler; + private ConfigurationManager _configMgr; @Inject - protected AccountManager _accountMgr; + private VolumeDao _volsDao; @Inject - protected ConfigurationManager _configMgr; + private HostDao _hostDao; @Inject - protected ConsoleProxyManager _consoleProxyMgr; - @Inject - protected SecondaryStorageVmManager _secStorageMgr; - @Inject - protected NetworkModel _networkMgr; - @Inject - protected ServiceOfferingDao _serviceOfferingDao; - @Inject - protected VolumeDao _volsDao; - @Inject - protected HostDao _hostDao; - @Inject - protected ConsoleProxyDao _consoleProxyDao; - @Inject - protected SnapshotDao _snapshotDao; - @Inject - protected SnapshotManager _snapMgr; - @Inject - protected SnapshotPolicyDao _snapshotPolicyDao; - @Inject - protected StoragePoolHostDao _storagePoolHostDao; + private SnapshotDao _snapshotDao; @Inject StoragePoolDetailsDao storagePoolDetailsDao; @Inject - protected AlertManager _alertMgr; - @Inject - protected TemplateDataStoreDao _vmTemplateStoreDao = null; - @Inject - protected VMTemplatePoolDao _vmTemplatePoolDao = null; - @Inject - protected VMTemplateDao _vmTemplateDao = null; - @Inject - protected StoragePoolHostDao _poolHostDao = null; - @Inject - protected UserVmDao _userVmDao; + private UserVmDao _userVmDao; @Inject VolumeDataStoreDao _volumeStoreDao; @Inject - protected VMInstanceDao _vmInstanceDao; + private VMInstanceDao _vmInstanceDao; @Inject - protected PrimaryDataStoreDao _storagePoolDao = null; + private final PrimaryDataStoreDao _storagePoolDao = null; @Inject - protected CapacityDao _capacityDao; + private DiskOfferingDao _diskOfferingDao; @Inject - protected CapacityManager _capacityMgr; + private AccountDao _accountDao; @Inject - protected DiskOfferingDao _diskOfferingDao; + private final DataCenterDao _dcDao = null; @Inject - protected AccountDao _accountDao; + private VMTemplateDao _templateDao; @Inject - protected EventDao _eventDao = null; + private VolumeDao _volumeDao; @Inject - protected DataCenterDao _dcDao = null; + private ResourceLimitService _resourceLimitMgr; @Inject - protected HostPodDao _podDao = null; + private VmDiskStatisticsDao _vmDiskStatsDao; @Inject - protected VMTemplateDao _templateDao; + private VMSnapshotDao _vmSnapshotDao; + private List _storagePoolAllocators; @Inject - protected ServiceOfferingDao _offeringDao; + private ConfigurationDao _configDao; @Inject - protected DomainDao _domainDao; + private DataStoreManager dataStoreMgr; @Inject - protected UserDao _userDao; + private VolumeService volService; @Inject - protected ClusterDao _clusterDao; + private VolumeDataFactory volFactory; @Inject - protected VirtualMachineManager _vmMgr; + private SnapshotApiService snapshotMgr; @Inject - protected DomainRouterDao _domrDao; - @Inject - protected SecondaryStorageVmDao _secStrgDao; - @Inject - protected StoragePoolWorkDao _storagePoolWorkDao; - @Inject - protected HypervisorGuruManager _hvGuruMgr; - @Inject - protected VolumeDao _volumeDao; - @Inject - protected OCFS2Manager _ocfs2Mgr; - @Inject - protected ResourceLimitService _resourceLimitMgr; - @Inject - protected SecondaryStorageVmManager _ssvmMgr; - @Inject - protected ResourceManager _resourceMgr; - @Inject - protected DownloadMonitor _downloadMonitor; - @Inject - protected ResourceTagDao _resourceTagDao; - @Inject - protected VmDiskStatisticsDao _vmDiskStatsDao; - @Inject - protected VMSnapshotDao _vmSnapshotDao; - protected List _storagePoolAllocators; - @Inject - ConfigurationDao _configDao; - @Inject - VolumeDetailsDao _volDetailDao; - @Inject - ManagementServer _msServer; - @Inject - DataStoreManager dataStoreMgr; - @Inject - DataStoreProviderManager dataStoreProviderMgr; - @Inject - VolumeService volService; - @Inject - VolumeDataFactory volFactory; - @Inject - TemplateDataFactory tmplFactory; - @Inject - SnapshotDataFactory snapshotFactory; - @Inject - SnapshotApiService snapshotMgr; - @Inject - SnapshotService snapshotSrv; - @Inject - UUIDManager _uuidMgr; + private UUIDManager _uuidMgr; @Inject - protected HypervisorCapabilitiesDao _hypervisorCapabilitiesDao; - @Inject - StorageManager storageMgr; + private HypervisorCapabilitiesDao _hypervisorCapabilitiesDao; @Inject - protected AsyncJobManager _jobMgr; + private AsyncJobManager _jobMgr; @Inject protected VmWorkJobDao _workJobDao; diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index 33278afafb5..1b44a12a14c 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -31,10 +31,8 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; -import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -42,7 +40,6 @@ import org.apache.cloudstack.storage.command.DownloadCommand; import org.apache.cloudstack.storage.command.DownloadCommand.ResourceType; import org.apache.cloudstack.storage.command.DownloadProgressCommand; import org.apache.cloudstack.storage.command.DownloadProgressCommand.RequestType; -import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; @@ -60,7 +57,6 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.Volume; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.storage.dao.VolumeDao; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.storage.template.TemplateConstants; import com.cloud.storage.upload.UploadListener; import com.cloud.template.VirtualMachineTemplate; @@ -74,39 +70,28 @@ public class DownloadMonitorImpl extends ManagerBase implements DownloadMonitor static final Logger s_logger = Logger.getLogger(DownloadMonitorImpl.class); @Inject - TemplateDataStoreDao _vmTemplateStoreDao; + private TemplateDataStoreDao _vmTemplateStoreDao; @Inject - ImageStoreDao _imageStoreDao; + private VolumeDao _volumeDao; @Inject - VolumeDao _volumeDao; + private VolumeDataStoreDao _volumeStoreDao; @Inject - VolumeDataStoreDao _volumeStoreDao; - @Inject - VMTemplateDao _templateDao = null; + private final VMTemplateDao _templateDao = null; @Inject private AgentManager _agentMgr; @Inject - SecondaryStorageVmManager _secMgr; + private ConfigurationDao _configDao; @Inject - ConfigurationDao _configDao; - @Inject - EndPointSelector _epSelector; - @Inject - TemplateDataFactory tmplFactory; + private EndPointSelector _epSelector; - private Boolean _sslCopy = new Boolean(false); private String _copyAuthPasswd; private String _proxy = null; - Timer _timer; - - @Inject - DataStoreManager storeMgr; + private Timer _timer; @Override public boolean configure(String name, Map params) { final Map configs = _configDao.getConfiguration("management-server", params); - _sslCopy = Boolean.parseBoolean(configs.get("secstorage.encrypt.copy")); _proxy = configs.get(Config.SecStorageProxy.key()); String cert = configs.get("secstorage.ssl.cert.domain"); diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageListener.java b/server/src/com/cloud/storage/secondary/SecondaryStorageListener.java index 4215fa698b5..43613e7f9ca 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageListener.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageListener.java @@ -18,7 +18,6 @@ package com.cloud.storage.secondary; import org.apache.log4j.Logger; -import com.cloud.agent.AgentManager; import com.cloud.agent.Listener; import com.cloud.agent.api.AgentControlAnswer; import com.cloud.agent.api.AgentControlCommand; @@ -35,11 +34,9 @@ public class SecondaryStorageListener implements Listener { private final static Logger s_logger = Logger.getLogger(SecondaryStorageListener.class); SecondaryStorageVmManager _ssVmMgr = null; - AgentManager _agentMgr = null; - public SecondaryStorageListener(SecondaryStorageVmManager ssVmMgr, AgentManager agentMgr) { + public SecondaryStorageListener(SecondaryStorageVmManager ssVmMgr) { _ssVmMgr = ssVmMgr; - _agentMgr = agentMgr; } @Override diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index a5d3d4c2dcf..484dfbd4d2e 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -211,8 +211,6 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar UserVmDetailsDao _vmDetailsDao; @Inject protected ResourceManager _resourceMgr; - //@Inject // TODO this is a very strange usage, a singleton class need to inject itself? - protected SecondaryStorageVmManager _ssvmMgr; @Inject NetworkDao _networkDao; @Inject @@ -250,7 +248,6 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar private final GlobalLock _allocLock = GlobalLock.getInternLock(getAllocLockName()); public SecondaryStorageManagerImpl() { - _ssvmMgr = this; } @Override @@ -825,7 +822,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar value = agentMgrConfigs.get("port"); _mgmtPort = NumbersUtil.parseInt(value, 8250); - _listener = new SecondaryStorageListener(this, _agentMgr); + _listener = new SecondaryStorageListener(this); _agentMgr.registerForHostEvents(_listener, true, false, true); _itMgr.registerGuru(VirtualMachine.Type.SecondaryStorageVm, this); diff --git a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java index a9eae7db1d5..821f43a0e9b 100755 --- a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -34,7 +34,6 @@ import org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotPoliciesCmd import org.apache.cloudstack.api.command.user.snapshot.ListSnapshotPoliciesCmd; import org.apache.cloudstack.api.command.user.snapshot.ListSnapshotsCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationService; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; @@ -54,7 +53,6 @@ import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; -import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.agent.api.DeleteSnapshotsDirCommand; @@ -64,7 +62,6 @@ import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; -import com.cloud.dc.dao.DataCenterDao; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; import com.cloud.event.ActionEventUtils; @@ -94,17 +91,14 @@ import com.cloud.storage.StoragePool; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.Volume; import com.cloud.storage.VolumeVO; -import com.cloud.storage.dao.DiskOfferingDao; import com.cloud.storage.dao.SnapshotDao; import com.cloud.storage.dao.SnapshotPolicyDao; import com.cloud.storage.dao.SnapshotScheduleDao; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.storage.dao.VolumeDao; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.storage.template.TemplateConstants; import com.cloud.tags.ResourceTagVO; import com.cloud.tags.dao.ResourceTagDao; -import com.cloud.template.TemplateManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; @@ -138,46 +132,38 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDao; public class SnapshotManagerImpl extends ManagerBase implements SnapshotManager, SnapshotApiService { private static final Logger s_logger = Logger.getLogger(SnapshotManagerImpl.class); @Inject - protected VMTemplateDao _templateDao; + private VMTemplateDao _templateDao; @Inject - protected UserVmDao _vmDao; + private UserVmDao _vmDao; @Inject - protected VolumeDao _volsDao; + private VolumeDao _volsDao; @Inject - protected AccountDao _accountDao; + private AccountDao _accountDao; @Inject - protected DataCenterDao _dcDao; + private SnapshotDao _snapshotDao; @Inject - protected DiskOfferingDao _diskOfferingDao; + private SnapshotDataStoreDao _snapshotStoreDao; @Inject - protected SnapshotDao _snapshotDao; + private PrimaryDataStoreDao _storagePoolDao; @Inject - protected SnapshotDataStoreDao _snapshotStoreDao; + private final SnapshotPolicyDao _snapshotPolicyDao = null; @Inject - protected PrimaryDataStoreDao _storagePoolDao; + private SnapshotScheduleDao _snapshotScheduleDao; @Inject - protected SnapshotPolicyDao _snapshotPolicyDao = null; + private DomainDao _domainDao; @Inject - protected SnapshotScheduleDao _snapshotScheduleDao; + private StorageManager _storageMgr; @Inject - protected DomainDao _domainDao; + private SnapshotScheduler _snapSchedMgr; @Inject - protected StorageManager _storageMgr; - @Inject - protected AgentManager _agentMgr; - @Inject - protected SnapshotScheduler _snapSchedMgr; - @Inject - protected AccountManager _accountMgr; + private AccountManager _accountMgr; @Inject private AlertManager _alertMgr; @Inject - protected ClusterDao _clusterDao; + private ClusterDao _clusterDao; @Inject private ResourceLimitService _resourceLimitMgr; @Inject - private SecondaryStorageVmManager _ssvmMgr; - @Inject private DomainManager _domainMgr; @Inject private ResourceTagDao _resourceTagDao; @@ -185,33 +171,23 @@ public class SnapshotManagerImpl extends ManagerBase implements SnapshotManager, private ConfigurationDao _configDao; @Inject private VMSnapshotDao _vmSnapshotDao; - String _name; @Inject - TemplateManager templateMgr; + private DataStoreManager dataStoreMgr; @Inject - VolumeOrchestrationService volumeMgr; + private SnapshotService snapshotSrv; @Inject - DataStoreManager dataStoreMgr; + private VolumeDataFactory volFactory; @Inject - SnapshotService snapshotSrv; + private SnapshotDataFactory snapshotFactory; @Inject - VolumeDataFactory volFactory; - @Inject - SnapshotDataFactory snapshotFactory; - @Inject - EndPointSelector _epSelector; + private EndPointSelector _epSelector; @Inject private ResourceManager _resourceMgr; @Inject - StorageStrategyFactory _storageStrategyFactory; + private StorageStrategyFactory _storageStrategyFactory; private int _totalRetries; private int _pauseInterval; - private int _backupsnapshotwait; - Boolean backup; - - protected SearchBuilder PolicySnapshotSearch; - protected SearchBuilder PoliciesForSnapSearch; @Override public Answer sendToPool(Volume vol, Command cmd) { @@ -970,8 +946,6 @@ public class SnapshotManagerImpl extends ManagerBase implements SnapshotManager, public boolean configure(String name, Map params) throws ConfigurationException { String value = _configDao.getValue(Config.BackupSnapshotWait.toString()); - _backupsnapshotwait = NumbersUtil.parseInt(value, Integer.parseInt(Config.BackupSnapshotWait.getDefaultValue())); - backup = Boolean.parseBoolean(_configDao.getValue(Config.BackupSnapshotAfterTakingSnapshot.toString())); Type.HOURLY.setMax(NumbersUtil.parseInt(_configDao.getValue("snapshot.max.hourly"), HOURLYMAX)); Type.DAILY.setMax(NumbersUtil.parseInt(_configDao.getValue("snapshot.max.daily"), DAILYMAX)); diff --git a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java index 6f1f5e90c4e..8a997b2afec 100755 --- a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java +++ b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java @@ -67,8 +67,6 @@ import com.cloud.storage.UploadVO; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.UploadDao; -import com.cloud.storage.dao.VMTemplateDao; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.utils.NumbersUtil; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; @@ -89,35 +87,30 @@ public class UploadMonitorImpl extends ManagerBase implements UploadMonitor { static final Logger s_logger = Logger.getLogger(UploadMonitorImpl.class); @Inject - UploadDao _uploadDao; + private UploadDao _uploadDao; @Inject - SecondaryStorageVmDao _secStorageVmDao; + private SecondaryStorageVmDao _secStorageVmDao; @Inject - HostDao _serverDao = null; - @Inject - VMTemplateDao _templateDao = null; + private final HostDao _serverDao = null; @Inject private AgentManager _agentMgr; @Inject - ConfigurationDao _configDao; + private ConfigurationDao _configDao; @Inject - ResourceManager _resourceMgr; + private ResourceManager _resourceMgr; @Inject - SecondaryStorageVmManager _ssvmMgr; + private EndPointSelector _epSelector; @Inject - EndPointSelector _epSelector; - @Inject - DataStoreManager storeMgr; + private DataStoreManager storeMgr; - private String _name; private Boolean _sslCopy = new Boolean(false); private String _ssvmUrlDomain; private ScheduledExecutorService _executor = null; - Timer _timer; - int _cleanupInterval; - int _urlExpirationInterval; + private Timer _timer; + private int _cleanupInterval; + private int _urlExpirationInterval; final Map _listenerMap = new ConcurrentHashMap(); diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 93e3c59a10d..70e4a49437b 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -72,12 +72,10 @@ import org.apache.cloudstack.framework.async.AsyncCallFuture; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.managed.context.ManagedContextRunnable; import org.apache.cloudstack.storage.command.AttachCommand; import org.apache.cloudstack.storage.command.CommandResult; import org.apache.cloudstack.storage.command.DettachCommand; -import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; @@ -99,7 +97,6 @@ import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; -import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.domain.Domain; import com.cloud.domain.dao.DomainDao; @@ -107,7 +104,6 @@ import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; import com.cloud.event.UsageEventVO; -import com.cloud.event.dao.EventDao; import com.cloud.event.dao.UsageEventDao; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; @@ -117,11 +113,8 @@ import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor; import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.hypervisor.HypervisorGuruManager; import com.cloud.projects.Project; import com.cloud.projects.ProjectManager; -import com.cloud.resource.ResourceManager; -import com.cloud.server.ConfigurationServer; import com.cloud.storage.DataStoreRole; import com.cloud.storage.GuestOSVO; import com.cloud.storage.LaunchPermissionVO; @@ -148,16 +141,10 @@ import com.cloud.storage.dao.GuestOSDao; import com.cloud.storage.dao.LaunchPermissionDao; import com.cloud.storage.dao.SnapshotDao; import com.cloud.storage.dao.StoragePoolHostDao; -import com.cloud.storage.dao.UploadDao; import com.cloud.storage.dao.VMTemplateDao; -import com.cloud.storage.dao.VMTemplateDetailsDao; -import com.cloud.storage.dao.VMTemplateHostDao; import com.cloud.storage.dao.VMTemplatePoolDao; import com.cloud.storage.dao.VMTemplateZoneDao; import com.cloud.storage.dao.VolumeDao; -import com.cloud.storage.download.DownloadMonitor; -import com.cloud.storage.secondary.SecondaryStorageVmManager; -import com.cloud.storage.upload.UploadMonitor; import com.cloud.template.TemplateAdapter.TemplateAdapterType; import com.cloud.user.Account; import com.cloud.user.AccountManager; @@ -166,11 +153,8 @@ import com.cloud.user.AccountVO; import com.cloud.user.ResourceLimitService; import com.cloud.user.User; import com.cloud.user.dao.AccountDao; -import com.cloud.user.dao.UserAccountDao; -import com.cloud.user.dao.UserDao; import com.cloud.uservm.UserVm; import com.cloud.utils.EnumUtils; -import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.component.AdapterBase; import com.cloud.utils.component.ManagerBase; @@ -180,12 +164,10 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallbackNoReturn; import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; @Local(value = {TemplateManager.class, TemplateApiService.class}) @@ -193,116 +175,78 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, private final static Logger s_logger = Logger.getLogger(TemplateManagerImpl.class); @Inject - VMTemplateDao _tmpltDao; + private VMTemplateDao _tmpltDao; @Inject - TemplateDataStoreDao _tmplStoreDao; + private TemplateDataStoreDao _tmplStoreDao; @Inject - VMTemplatePoolDao _tmpltPoolDao; + private VMTemplatePoolDao _tmpltPoolDao; @Inject - VMTemplateZoneDao _tmpltZoneDao; + private VMTemplateZoneDao _tmpltZoneDao; @Inject - protected UserVmDetailsDao _vmDetailsDao; + private VMInstanceDao _vmInstanceDao; @Inject - protected VMTemplateDetailsDao _templateDetailsDao; + private PrimaryDataStoreDao _poolDao; @Inject - VMInstanceDao _vmInstanceDao; + private StoragePoolHostDao _poolHostDao; @Inject - PrimaryDataStoreDao _poolDao; + private AccountDao _accountDao; @Inject - StoragePoolHostDao _poolHostDao; + private AgentManager _agentMgr; @Inject - EventDao _eventDao; + private AccountManager _accountMgr; @Inject - DownloadMonitor _downloadMonitor; + private HostDao _hostDao; @Inject - UploadMonitor _uploadMonitor; + private DataCenterDao _dcDao; @Inject - UserAccountDao _userAccountDao; + private UserVmDao _userVmDao; @Inject - AccountDao _accountDao; + private VolumeDao _volumeDao; @Inject - UserDao _userDao; + private SnapshotDao _snapshotDao; @Inject - AgentManager _agentMgr; + private ConfigurationDao _configDao; @Inject - AccountManager _accountMgr; + private DomainDao _domainDao; @Inject - HostDao _hostDao; + private GuestOSDao _guestOSDao; @Inject - DataCenterDao _dcDao; + private StorageManager _storageMgr; @Inject - UserVmDao _userVmDao; + private UsageEventDao _usageEventDao; @Inject - VolumeDao _volumeDao; + private AccountService _accountService; @Inject - SnapshotDao _snapshotDao; + private ResourceLimitService _resourceLimitMgr; @Inject - ConfigurationDao _configDao; + private LaunchPermissionDao _launchPermissionDao; @Inject - ClusterDao _clusterDao; + private ProjectManager _projectMgr; @Inject - DomainDao _domainDao; + private VolumeDataFactory _volFactory; @Inject - UploadDao _uploadDao; + private TemplateDataFactory _tmplFactory; @Inject - protected GuestOSDao _guestOSDao; + private SnapshotDataFactory _snapshotFactory; @Inject - StorageManager _storageMgr; + private TemplateService _tmpltSvr; @Inject - AsyncJobManager _asyncMgr; + private DataStoreManager _dataStoreMgr; @Inject - UserVmManager _vmMgr; + private VolumeOrchestrationService _volumeMgr; @Inject - UsageEventDao _usageEventDao; + private EndPointSelector _epSelector; @Inject - HypervisorGuruManager _hvGuruMgr; - @Inject - AccountService _accountService; - @Inject - ResourceLimitService _resourceLimitMgr; - @Inject - SecondaryStorageVmManager _ssvmMgr; - @Inject - LaunchPermissionDao _launchPermissionDao; - @Inject - ProjectManager _projectMgr; - @Inject - VolumeDataFactory _volFactory; - @Inject - TemplateDataFactory _tmplFactory; - @Inject - SnapshotDataFactory _snapshotFactory; - @Inject - TemplateService _tmpltSvr; - @Inject - DataStoreManager _dataStoreMgr; - @Inject - protected ResourceManager _resourceMgr; - @Inject - VolumeOrchestrationService _volumeMgr; - @Inject - ImageStoreDao _imageStoreDao; - @Inject - EndPointSelector _epSelector; - @Inject - UserVmJoinDao _userVmJoinDao; - @Inject - VMTemplateHostDao _vmTemplateHostDao; + private UserVmJoinDao _userVmJoinDao; + private boolean _disableExtraction = false; + private ExecutorService _preloadExecutor; + + private List _adapters; @Inject - ConfigurationServer _configServer; - - int _primaryStorageDownloadWait; - int _storagePoolMaxWaitSeconds = 3600; - boolean _disableExtraction = false; - ExecutorService _preloadExecutor; - - protected List _adapters; - + private StorageCacheManager cacheMgr; @Inject - StorageCacheManager cacheMgr; - @Inject - EndPointSelector selector; + private EndPointSelector selector; private TemplateAdapter getAdapter(HypervisorType type) { TemplateAdapter adapter = null; @@ -842,13 +786,10 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, @Override public boolean configure(String name, Map params) throws ConfigurationException { - String value = _configDao.getValue(Config.PrimaryStorageDownloadWait.toString()); - _primaryStorageDownloadWait = NumbersUtil.parseInt(value, Integer.parseInt(Config.PrimaryStorageDownloadWait.getDefaultValue())); String disableExtraction = _configDao.getValue(Config.DisableExtraction.toString()); _disableExtraction = (disableExtraction == null) ? false : Boolean.parseBoolean(disableExtraction); - _storagePoolMaxWaitSeconds = NumbersUtil.parseInt(_configDao.getValue(Config.StoragePoolMaxWaitSeconds.key()), 3600); _preloadExecutor = Executors.newFixedThreadPool(8, new NamedThreadFactory("Template-Preloader")); return true; diff --git a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java index 58d02fa1c1d..22516c03a45 100644 --- a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java +++ b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java @@ -106,7 +106,6 @@ import com.cloud.storage.dao.DiskOfferingDaoImpl; import com.cloud.storage.dao.SnapshotDaoImpl; import com.cloud.storage.dao.StoragePoolDetailsDaoImpl; import com.cloud.storage.dao.VolumeDaoImpl; -import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.tags.dao.ResourceTagsDaoImpl; import com.cloud.user.AccountDetailsDao; import com.cloud.user.AccountManager; @@ -180,11 +179,6 @@ public class ChildTestConfiguration { return Mockito.mock(ProjectManager.class); } - @Bean - public SecondaryStorageVmManager ssvmMgr() { - return Mockito.mock(SecondaryStorageVmManager.class); - } - @Bean public VpcManager vpcMgr() { return Mockito.mock(VpcManager.class);