mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Bring javelin back to the status of being able to start System VMs after another round of master branch merge
This commit is contained in:
parent
d056cd5cab
commit
2c5859dbd4
@ -32,11 +32,24 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Configurable components
|
Compose a CloudStack deployment with selected components here
|
||||||
-->
|
-->
|
||||||
|
<bean id="databaseUpgradeChecker" class="com.cloud.upgrade.DatabaseUpgradeChecker" />
|
||||||
|
|
||||||
<bean id="management-server" class ="com.cloud.server.ManagementServerExtImpl" />
|
<bean id="management-server" class ="com.cloud.server.ManagementServerExtImpl" />
|
||||||
<bean id="configuration-server" class="com.cloud.server.ConfigurationServerImpl" />
|
<bean id="configuration-server" class="com.cloud.server.ConfigurationServerImpl" />
|
||||||
|
|
||||||
|
<bean id="clusterManagerImpl" class="com.cloud.cluster.ClusterManagerImpl" />
|
||||||
|
<bean id="clusteredAgentManagerImpl" class="com.cloud.agent.manager.ClusteredAgentManagerImpl" />
|
||||||
|
<bean id="clusteredVirtualMachineManagerImpl" class="com.cloud.vm.ClusteredVirtualMachineManagerImpl" />
|
||||||
|
<bean id="highAvailabilityManagerExtImpl" class="com.cloud.ha.HighAvailabilityManagerExtImpl" />
|
||||||
|
<bean id="bareMetalVmManagerImpl" class="com.cloud.baremetal.BareMetalVmManagerImpl" />
|
||||||
|
<bean id="consoleProxyManagerImpl" class="com.cloud.consoleproxy.ConsoleProxyManagerImpl" />
|
||||||
|
<bean id="securityGroupManagerImpl2" class="com.cloud.network.security.SecurityGroupManagerImpl2" />
|
||||||
|
<bean id="premiumSecondaryStorageManagerImpl" class="com.cloud.secstorage.PremiumSecondaryStorageManagerImpl" />
|
||||||
|
<bean id="randomlyIncreasingVMInstanceDaoImpl" class="com.cloud.vm.dao.RandomlyIncreasingVMInstanceDaoImpl" />
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Network Elements
|
Network Elements
|
||||||
-->
|
-->
|
||||||
|
|||||||
@ -56,8 +56,10 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean configure(String name, Map<String, Object> params)
|
public boolean configure(String name, Map<String, Object> params)
|
||||||
throws ConfigurationException {
|
throws ConfigurationException {
|
||||||
//TODO: hold global lock
|
|
||||||
|
/*
|
||||||
|
//TODO: hold global lock
|
||||||
List<DataStoreProviderVO> providerVos = providerDao.listAll();
|
List<DataStoreProviderVO> providerVos = providerDao.listAll();
|
||||||
for (DataStoreProvider provider : providers) {
|
for (DataStoreProvider provider : providers) {
|
||||||
boolean existingProvider = false;
|
boolean existingProvider = false;
|
||||||
@ -82,6 +84,7 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager {
|
|||||||
provider.configure(params);
|
provider.configure(params);
|
||||||
providerMap.put(uuid, provider);
|
providerMap.put(uuid, provider);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -140,7 +140,6 @@ import edu.emory.mathcs.backport.java.util.Collections;
|
|||||||
* ping.interval before announcing an agent has timed out | float | 2.0x || || router.stats.interval | interval to
|
* ping.interval before announcing an agent has timed out | float | 2.0x || || router.stats.interval | interval to
|
||||||
* report router statistics | seconds | 300s || * }
|
* report router statistics | seconds | 300s || * }
|
||||||
**/
|
**/
|
||||||
@Component
|
|
||||||
@Local(value = { AgentManager.class })
|
@Local(value = { AgentManager.class })
|
||||||
public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
|
public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
|
||||||
private static final Logger s_logger = Logger.getLogger(AgentManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(AgentManagerImpl.class);
|
||||||
|
|||||||
@ -88,8 +88,6 @@ import com.cloud.utils.exception.CloudRuntimeException;
|
|||||||
import com.cloud.utils.nio.Link;
|
import com.cloud.utils.nio.Link;
|
||||||
import com.cloud.utils.nio.Task;
|
import com.cloud.utils.nio.Task;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { AgentManager.class, ClusteredAgentRebalanceService.class })
|
@Local(value = { AgentManager.class, ClusteredAgentRebalanceService.class })
|
||||||
public class ClusteredAgentManagerImpl extends AgentManagerImpl implements ClusterManagerListener, ClusteredAgentRebalanceService {
|
public class ClusteredAgentManagerImpl extends AgentManagerImpl implements ClusterManagerListener, ClusteredAgentRebalanceService {
|
||||||
final static Logger s_logger = Logger.getLogger(ClusteredAgentManagerImpl.class);
|
final static Logger s_logger = Logger.getLogger(ClusteredAgentManagerImpl.class);
|
||||||
@ -117,8 +115,6 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust
|
|||||||
// @com.cloud.utils.component.Inject(adapter = AgentLoadBalancerPlanner.class)
|
// @com.cloud.utils.component.Inject(adapter = AgentLoadBalancerPlanner.class)
|
||||||
@Inject protected List<AgentLoadBalancerPlanner> _lbPlanners;
|
@Inject protected List<AgentLoadBalancerPlanner> _lbPlanners;
|
||||||
|
|
||||||
@Inject
|
|
||||||
protected AgentManager _agentMgr;
|
|
||||||
@Inject ConfigurationDao _configDao;
|
@Inject ConfigurationDao _configDao;
|
||||||
|
|
||||||
protected ClusteredAgentManagerImpl() {
|
protected ClusteredAgentManagerImpl() {
|
||||||
|
|||||||
@ -105,8 +105,6 @@ import com.cloud.vm.VirtualMachineName;
|
|||||||
import com.cloud.vm.VirtualMachineProfile;
|
import com.cloud.vm.VirtualMachineProfile;
|
||||||
import com.cloud.vm.VirtualMachineProfile.Param;
|
import com.cloud.vm.VirtualMachineProfile.Param;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value={BareMetalVmManager.class, BareMetalVmService.class})
|
@Local(value={BareMetalVmManager.class, BareMetalVmService.class})
|
||||||
public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMetalVmManager, BareMetalVmService, Manager,
|
public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMetalVmManager, BareMetalVmService, Manager,
|
||||||
StateListener<State, VirtualMachine.Event, VirtualMachine> {
|
StateListener<State, VirtualMachine.Event, VirtualMachine> {
|
||||||
|
|||||||
@ -88,8 +88,6 @@ import com.cloud.utils.mgmt.JmxUtil;
|
|||||||
import com.cloud.utils.net.NetUtils;
|
import com.cloud.utils.net.NetUtils;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { ClusterManager.class })
|
@Local(value = { ClusterManager.class })
|
||||||
public class ClusterManagerImpl implements ClusterManager {
|
public class ClusterManagerImpl implements ClusterManager {
|
||||||
private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class);
|
||||||
|
|||||||
@ -32,7 +32,6 @@ import com.cloud.host.Status.Event;
|
|||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.net.MacAddress;
|
import com.cloud.utils.net.MacAddress;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value={ClusterManager.class})
|
@Local(value={ClusterManager.class})
|
||||||
public class DummyClusterManagerImpl implements ClusterManager {
|
public class DummyClusterManagerImpl implements ClusterManager {
|
||||||
private static final Logger s_logger = Logger.getLogger(DummyClusterManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(DummyClusterManagerImpl.class);
|
||||||
|
|||||||
@ -62,7 +62,6 @@ import com.cloud.vm.dao.ConsoleProxyDao;
|
|||||||
import com.cloud.vm.dao.UserVmDao;
|
import com.cloud.vm.dao.UserVmDao;
|
||||||
import com.cloud.vm.dao.VMInstanceDao;
|
import com.cloud.vm.dao.VMInstanceDao;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value = { ConsoleProxyManager.class })
|
@Local(value = { ConsoleProxyManager.class })
|
||||||
public class AgentBasedConsoleProxyManager implements ConsoleProxyManager, VirtualMachineGuru<ConsoleProxyVO>, AgentHook {
|
public class AgentBasedConsoleProxyManager implements ConsoleProxyManager, VirtualMachineGuru<ConsoleProxyVO>, AgentHook {
|
||||||
private static final Logger s_logger = Logger.getLogger(AgentBasedConsoleProxyManager.class);
|
private static final Logger s_logger = Logger.getLogger(AgentBasedConsoleProxyManager.class);
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import com.cloud.host.HostVO;
|
|||||||
import com.cloud.info.ConsoleProxyInfo;
|
import com.cloud.info.ConsoleProxyInfo;
|
||||||
import com.cloud.vm.UserVmVO;
|
import com.cloud.vm.UserVmVO;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value={ConsoleProxyManager.class})
|
@Local(value={ConsoleProxyManager.class})
|
||||||
public class AgentBasedStandaloneConsoleProxyManager extends
|
public class AgentBasedStandaloneConsoleProxyManager extends
|
||||||
AgentBasedConsoleProxyManager {
|
AgentBasedConsoleProxyManager {
|
||||||
|
|||||||
@ -170,8 +170,6 @@ import com.google.gson.GsonBuilder;
|
|||||||
// Starting, HA, Migrating, Running state are all counted as "Open" for available capacity calculation
|
// Starting, HA, Migrating, Running state are all counted as "Open" for available capacity calculation
|
||||||
// because sooner or later, it will be driven into Running state
|
// because sooner or later, it will be driven into Running state
|
||||||
//
|
//
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { ConsoleProxyManager.class, ConsoleProxyService.class })
|
@Local(value = { ConsoleProxyManager.class, ConsoleProxyService.class })
|
||||||
public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProxyService, Manager, AgentHook, VirtualMachineGuru<ConsoleProxyVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProxyService, Manager, AgentHook, VirtualMachineGuru<ConsoleProxyVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||||
private static final Logger s_logger = Logger.getLogger(ConsoleProxyManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(ConsoleProxyManagerImpl.class);
|
||||||
|
|||||||
@ -33,7 +33,6 @@ import com.cloud.resource.ResourceManager;
|
|||||||
import com.cloud.vm.VMInstanceVO;
|
import com.cloud.vm.VMInstanceVO;
|
||||||
import com.cloud.vm.dao.ConsoleProxyDao;
|
import com.cloud.vm.dao.ConsoleProxyDao;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value={ConsoleProxyManager.class})
|
@Local(value={ConsoleProxyManager.class})
|
||||||
public class StaticConsoleProxyManager extends AgentBasedConsoleProxyManager implements ConsoleProxyManager {
|
public class StaticConsoleProxyManager extends AgentBasedConsoleProxyManager implements ConsoleProxyManager {
|
||||||
String _ip = null;
|
String _ip = null;
|
||||||
|
|||||||
@ -32,8 +32,6 @@ import com.cloud.configuration.dao.ConfigurationDao;
|
|||||||
import com.cloud.usage.dao.UsageJobDao;
|
import com.cloud.usage.dao.UsageJobDao;
|
||||||
import com.cloud.utils.db.Transaction;
|
import com.cloud.utils.db.Transaction;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value={HighAvailabilityManager.class})
|
@Local(value={HighAvailabilityManager.class})
|
||||||
public class HighAvailabilityManagerExtImpl extends HighAvailabilityManagerImpl {
|
public class HighAvailabilityManagerExtImpl extends HighAvailabilityManagerImpl {
|
||||||
|
|
||||||
|
|||||||
@ -95,7 +95,6 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||||||
* ha.retry.wait | time to wait before retrying the work item | seconds | 120 || || stop.retry.wait | time to wait
|
* ha.retry.wait | time to wait before retrying the work item | seconds | 120 || || stop.retry.wait | time to wait
|
||||||
* before retrying the stop | seconds | 120 || * }
|
* before retrying the stop | seconds | 120 || * }
|
||||||
**/
|
**/
|
||||||
@Component
|
|
||||||
@Local(value = { HighAvailabilityManager.class })
|
@Local(value = { HighAvailabilityManager.class })
|
||||||
public class HighAvailabilityManagerImpl implements HighAvailabilityManager, ClusterManagerListener {
|
public class HighAvailabilityManagerImpl implements HighAvailabilityManager, ClusterManagerListener {
|
||||||
protected static final Logger s_logger = Logger.getLogger(HighAvailabilityManagerImpl.class);
|
protected static final Logger s_logger = Logger.getLogger(HighAvailabilityManagerImpl.class);
|
||||||
|
|||||||
@ -1778,8 +1778,9 @@ public class NetworkModelImpl implements NetworkModel, Manager{
|
|||||||
if (s_providerToNetworkElementMap.containsKey(implementedProvider.getName())) {
|
if (s_providerToNetworkElementMap.containsKey(implementedProvider.getName())) {
|
||||||
s_logger.error("Cannot start NetworkModel: Provider <-> NetworkElement must be a one-to-one map, " +
|
s_logger.error("Cannot start NetworkModel: Provider <-> NetworkElement must be a one-to-one map, " +
|
||||||
"multiple NetworkElements found for Provider: " + implementedProvider.getName());
|
"multiple NetworkElements found for Provider: " + implementedProvider.getName());
|
||||||
return false;
|
continue;
|
||||||
}
|
}
|
||||||
|
s_logger.info("Add provider <-> element map entry. " + implementedProvider.getName() + "-" + element.getName() + "-" + element.getClass().getSimpleName());
|
||||||
s_providerToNetworkElementMap.put(implementedProvider.getName(), element.getName());
|
s_providerToNetworkElementMap.put(implementedProvider.getName(), element.getName());
|
||||||
}
|
}
|
||||||
if (capabilities != null && implementedProvider != null) {
|
if (capabilities != null && implementedProvider != null) {
|
||||||
|
|||||||
@ -115,7 +115,6 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||||||
|
|
||||||
import edu.emory.mathcs.backport.java.util.Collections;
|
import edu.emory.mathcs.backport.java.util.Collections;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value = { SecurityGroupManager.class, SecurityGroupService.class })
|
@Local(value = { SecurityGroupManager.class, SecurityGroupService.class })
|
||||||
public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityGroupService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> {
|
public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityGroupService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> {
|
||||||
public static final Logger s_logger = Logger.getLogger(SecurityGroupManagerImpl.class);
|
public static final Logger s_logger = Logger.getLogger(SecurityGroupManagerImpl.class);
|
||||||
|
|||||||
@ -47,8 +47,6 @@ import com.cloud.network.security.SecurityRule.SecurityRuleType;
|
|||||||
* Same as the base class -- except it uses the abstracted security group work queue
|
* Same as the base class -- except it uses the abstracted security group work queue
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value={ SecurityGroupManager.class, SecurityGroupService.class })
|
@Local(value={ SecurityGroupManager.class, SecurityGroupService.class })
|
||||||
public class SecurityGroupManagerImpl2 extends SecurityGroupManagerImpl{
|
public class SecurityGroupManagerImpl2 extends SecurityGroupManagerImpl{
|
||||||
SecurityGroupWorkQueue _workQueue = new LocalSecurityGroupWorkQueue();
|
SecurityGroupWorkQueue _workQueue = new LocalSecurityGroupWorkQueue();
|
||||||
|
|||||||
@ -49,8 +49,6 @@ import com.cloud.vm.SystemVmLoadScanner.AfterScanAction;
|
|||||||
import com.cloud.vm.VirtualMachine.State;
|
import com.cloud.vm.VirtualMachine.State;
|
||||||
import com.cloud.vm.dao.SecondaryStorageVmDao;
|
import com.cloud.vm.dao.SecondaryStorageVmDao;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { SecondaryStorageVmManager.class })
|
@Local(value = { SecondaryStorageVmManager.class })
|
||||||
public class PremiumSecondaryStorageManagerImpl extends SecondaryStorageManagerImpl {
|
public class PremiumSecondaryStorageManagerImpl extends SecondaryStorageManagerImpl {
|
||||||
private static final Logger s_logger = Logger.getLogger(PremiumSecondaryStorageManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(PremiumSecondaryStorageManagerImpl.class);
|
||||||
|
|||||||
@ -1,184 +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.server;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
|
||||||
import com.cloud.alert.AlertManagerImpl;
|
|
||||||
import com.cloud.api.query.QueryManagerImpl;
|
|
||||||
import com.cloud.async.AsyncJobManager;
|
|
||||||
import com.cloud.async.SyncQueueManager;
|
|
||||||
import com.cloud.capacity.CapacityManagerImpl;
|
|
||||||
import com.cloud.cluster.ClusterFenceManagerImpl;
|
|
||||||
import com.cloud.cluster.ClusterManagerImpl;
|
|
||||||
import com.cloud.configuration.ConfigurationManager;
|
|
||||||
import com.cloud.consoleproxy.ConsoleProxyManager;
|
|
||||||
import com.cloud.dao.EntityManagerImpl;
|
|
||||||
import com.cloud.ha.HighAvailabilityManager;
|
|
||||||
import com.cloud.hypervisor.HypervisorGuruManagerImpl;
|
|
||||||
import com.cloud.keystore.KeystoreManager;
|
|
||||||
import com.cloud.maint.UpgradeManagerImpl;
|
|
||||||
import com.cloud.network.ExternalLoadBalancerUsageManager;
|
|
||||||
import com.cloud.network.NetworkManagerImpl;
|
|
||||||
import com.cloud.network.StorageNetworkManager;
|
|
||||||
import com.cloud.network.as.AutoScaleManagerImpl;
|
|
||||||
import com.cloud.network.firewall.FirewallManagerImpl;
|
|
||||||
import com.cloud.network.lb.LoadBalancingRulesManagerImpl;
|
|
||||||
import com.cloud.network.router.VpcVirtualNetworkApplianceManager;
|
|
||||||
import com.cloud.network.rules.RulesManagerImpl;
|
|
||||||
import com.cloud.network.security.SecurityGroupManagerImpl2;
|
|
||||||
import com.cloud.network.vpc.NetworkACLManagerImpl;
|
|
||||||
import com.cloud.network.vpc.VpcManagerImpl;
|
|
||||||
import com.cloud.network.vpn.RemoteAccessVpnManagerImpl;
|
|
||||||
import com.cloud.network.vpn.Site2SiteVpnManagerImpl;
|
|
||||||
import com.cloud.projects.ProjectManagerImpl;
|
|
||||||
import com.cloud.resource.ResourceManagerImpl;
|
|
||||||
import com.cloud.resourcelimit.ResourceLimitManagerImpl;
|
|
||||||
import com.cloud.storage.OCFS2Manager;
|
|
||||||
import com.cloud.storage.StorageManagerImpl;
|
|
||||||
import com.cloud.storage.download.DownloadMonitor;
|
|
||||||
import com.cloud.storage.s3.S3Manager;
|
|
||||||
import com.cloud.storage.secondary.SecondaryStorageManagerImpl;
|
|
||||||
import com.cloud.storage.snapshot.SnapshotManagerImpl;
|
|
||||||
import com.cloud.storage.snapshot.SnapshotSchedulerImpl;
|
|
||||||
import com.cloud.storage.swift.SwiftManager;
|
|
||||||
import com.cloud.storage.upload.UploadMonitor;
|
|
||||||
import com.cloud.tags.TaggedResourceManagerImpl;
|
|
||||||
import com.cloud.template.TemplateManagerImpl;
|
|
||||||
import com.cloud.user.AccountManagerImpl;
|
|
||||||
import com.cloud.user.DomainManagerImpl;
|
|
||||||
import com.cloud.utils.component.Manager;
|
|
||||||
import com.cloud.vm.UserVmManagerImpl;
|
|
||||||
import com.cloud.vm.VirtualMachineManager;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class CloudStackComponentComposer {
|
|
||||||
// @Inject CheckPointManagerImpl _checkPointMgr;
|
|
||||||
@Inject ClusterManagerImpl _clusterMgr;
|
|
||||||
@Inject ClusterFenceManagerImpl _clusterFenceMgr;
|
|
||||||
@Inject AgentManager _AgentMgr;
|
|
||||||
@Inject SyncQueueManager _sycnQueueMgr;
|
|
||||||
@Inject AsyncJobManager _jobMgr;
|
|
||||||
@Inject ConfigurationManager _confMgr;
|
|
||||||
@Inject AccountManagerImpl _accountMgr;
|
|
||||||
@Inject DomainManagerImpl _domainMgr;
|
|
||||||
@Inject ResourceLimitManagerImpl _resLimitMgr;
|
|
||||||
@Inject NetworkManagerImpl _networkMgr;
|
|
||||||
@Inject DownloadMonitor _downloadMonitor;
|
|
||||||
@Inject UploadMonitor _uploadMonitor;
|
|
||||||
@Inject KeystoreManager _ksMgr;
|
|
||||||
@Inject SecondaryStorageManagerImpl _ssMgr;
|
|
||||||
@Inject UserVmManagerImpl _userVmMgr;
|
|
||||||
@Inject UpgradeManagerImpl _upgradeMgr;
|
|
||||||
@Inject StorageManagerImpl _storageMgr;
|
|
||||||
@Inject AlertManagerImpl _alertMgr;
|
|
||||||
@Inject TemplateManagerImpl _tmplMgr;
|
|
||||||
@Inject SnapshotManagerImpl _snpahsotMgr;
|
|
||||||
@Inject SnapshotSchedulerImpl _snapshotScheduleMgr;
|
|
||||||
@Inject SecurityGroupManagerImpl2 _sgMgr;
|
|
||||||
@Inject EntityManagerImpl _entityMgr;
|
|
||||||
@Inject LoadBalancingRulesManagerImpl _lbRuleMgr;
|
|
||||||
@Inject AutoScaleManagerImpl _asMgr;
|
|
||||||
@Inject RulesManagerImpl _rulesMgr;
|
|
||||||
@Inject RemoteAccessVpnManagerImpl _acVpnMgr;
|
|
||||||
@Inject CapacityManagerImpl _capacityMgr;
|
|
||||||
@Inject VirtualMachineManager _vmMgr;
|
|
||||||
@Inject HypervisorGuruManagerImpl _hvGuruMgr;
|
|
||||||
@Inject ResourceManagerImpl _resMgr;
|
|
||||||
@Inject OCFS2Manager _ocfsMgr;
|
|
||||||
@Inject FirewallManagerImpl _fwMgr;
|
|
||||||
@Inject ConsoleProxyManager _cpMgr;
|
|
||||||
@Inject ProjectManagerImpl _prjMgr;
|
|
||||||
@Inject SwiftManager _swiftMgr;
|
|
||||||
@Inject S3Manager _s3Mgr;
|
|
||||||
@Inject StorageNetworkManager _storageNetworkMgr;
|
|
||||||
@Inject ExternalLoadBalancerUsageManager _extlbUsageMgr;
|
|
||||||
@Inject HighAvailabilityManager _haMgr;
|
|
||||||
@Inject VpcManagerImpl _vpcMgr;
|
|
||||||
@Inject VpcVirtualNetworkApplianceManager _vpcNetApplianceMgr;
|
|
||||||
@Inject NetworkACLManagerImpl _networkAclMgr;
|
|
||||||
@Inject TaggedResourceManagerImpl _taggedResMgr;
|
|
||||||
@Inject Site2SiteVpnManagerImpl _s2sVpnMgr;
|
|
||||||
@Inject QueryManagerImpl _queryMgr;
|
|
||||||
|
|
||||||
List<Manager> _managers = new ArrayList<Manager>();
|
|
||||||
|
|
||||||
public CloudStackComponentComposer() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostConstruct
|
|
||||||
void init() {
|
|
||||||
// _managers.add(_checkPointMgr);
|
|
||||||
_managers.add(_clusterMgr);
|
|
||||||
_managers.add(_clusterFenceMgr);
|
|
||||||
_managers.add(_AgentMgr);
|
|
||||||
_managers.add(_sycnQueueMgr);
|
|
||||||
_managers.add(_jobMgr);
|
|
||||||
_managers.add(_confMgr);
|
|
||||||
_managers.add(_accountMgr);
|
|
||||||
_managers.add(_domainMgr);
|
|
||||||
_managers.add(_resLimitMgr);
|
|
||||||
_managers.add(_networkMgr);
|
|
||||||
_managers.add(_downloadMonitor);
|
|
||||||
_managers.add(_uploadMonitor);
|
|
||||||
_managers.add(_ksMgr);
|
|
||||||
_managers.add(_ssMgr);
|
|
||||||
_managers.add(_userVmMgr);
|
|
||||||
_managers.add(_upgradeMgr);
|
|
||||||
_managers.add(_storageMgr);
|
|
||||||
_managers.add(_alertMgr);
|
|
||||||
_managers.add(_tmplMgr);
|
|
||||||
_managers.add(_snpahsotMgr);
|
|
||||||
_managers.add(_snapshotScheduleMgr);
|
|
||||||
_managers.add(_sgMgr);
|
|
||||||
_managers.add(_entityMgr);
|
|
||||||
_managers.add(_lbRuleMgr);
|
|
||||||
_managers.add(_asMgr);
|
|
||||||
_managers.add(_rulesMgr);
|
|
||||||
_managers.add(_acVpnMgr);
|
|
||||||
_managers.add(_capacityMgr);
|
|
||||||
_managers.add(_vmMgr);
|
|
||||||
_managers.add(_hvGuruMgr);
|
|
||||||
_managers.add(_resMgr);
|
|
||||||
_managers.add(_ocfsMgr);
|
|
||||||
_managers.add(_fwMgr);
|
|
||||||
_managers.add(_cpMgr);
|
|
||||||
_managers.add(_prjMgr);
|
|
||||||
_managers.add(_swiftMgr);
|
|
||||||
_managers.add(_s3Mgr);
|
|
||||||
_managers.add(_storageNetworkMgr);
|
|
||||||
_managers.add(_extlbUsageMgr);
|
|
||||||
_managers.add(_haMgr);
|
|
||||||
_managers.add(_vpcMgr);
|
|
||||||
_managers.add(_vpcNetApplianceMgr);
|
|
||||||
_managers.add(_networkAclMgr);
|
|
||||||
_managers.add(_taggedResMgr);
|
|
||||||
_managers.add(_s2sVpnMgr);
|
|
||||||
_managers.add(_queryMgr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Manager> getManagers() {
|
|
||||||
return _managers;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -107,6 +107,7 @@ 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;
|
||||||
import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity;
|
import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity;
|
||||||
|
import com.cloud.cluster.ClusterManager;
|
||||||
import com.cloud.configuration.Config;
|
import com.cloud.configuration.Config;
|
||||||
import com.cloud.configuration.Configuration;
|
import com.cloud.configuration.Configuration;
|
||||||
import com.cloud.configuration.ConfigurationManager;
|
import com.cloud.configuration.ConfigurationManager;
|
||||||
@ -396,6 +397,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
|
|
||||||
@Inject List<UserAuthenticator> _userAuthenticators;
|
@Inject List<UserAuthenticator> _userAuthenticators;
|
||||||
|
|
||||||
|
@Inject ClusterManager _clusterMgr;
|
||||||
private String _hashKey = null;
|
private String _hashKey = null;
|
||||||
|
|
||||||
public ManagementServerImpl() {
|
public ManagementServerImpl() {
|
||||||
@ -429,8 +431,10 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
private void initCloudStackComponents() {
|
private void initCloudStackComponents() {
|
||||||
runCheckers();
|
runCheckers();
|
||||||
startDaos(); // daos should not be using managers and adapters.
|
startDaos(); // daos should not be using managers and adapters.
|
||||||
startManagers();
|
|
||||||
startAdapters();
|
Map<String, Object> avoidMap = new HashMap<String, Object>();
|
||||||
|
startManagers(avoidMap);
|
||||||
|
startAdapters(avoidMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void runCheckers() {
|
private void runCheckers() {
|
||||||
@ -464,12 +468,28 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startManagers() {
|
private void startManagers(Map<String, Object> avoidMap) {
|
||||||
Map<String, Object> params = new HashMap<String, Object>();
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
|
||||||
for(Manager manager : _componentRegistry.getManagers()) {
|
// make sure startup sequence is maintained
|
||||||
|
try {
|
||||||
|
_clusterMgr.configure("ClusterMgr", params);
|
||||||
|
_clusterMgr.start();
|
||||||
|
|
||||||
|
avoidMap.put(ComponentContext.getTargetClass(_clusterMgr).getName(), _clusterMgr);
|
||||||
|
} catch(Exception e) {
|
||||||
|
s_logger.error("Problems to start manager:" + ComponentContext.getTargetClass(_clusterMgr).getName(), e);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(Manager manager : ComponentContext.getComponentsOfType(Manager.class).values()) {
|
||||||
s_logger.info("Start manager: " + ComponentContext.getTargetClass(manager).getName() + "...");
|
s_logger.info("Start manager: " + ComponentContext.getTargetClass(manager).getName() + "...");
|
||||||
try {
|
try {
|
||||||
|
if(avoidMap.get(ComponentContext.getTargetClass(manager).getName()) != null) {
|
||||||
|
s_logger.info("Skip manager: " + ComponentContext.getTargetClass(manager).getName() + " as it is already started");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(!manager.configure(manager.getClass().getSimpleName(), params)) {
|
if(!manager.configure(manager.getClass().getSimpleName(), params)) {
|
||||||
throw new CloudRuntimeException("Failed to start manager: " + ComponentContext.getTargetClass(manager).getName());
|
throw new CloudRuntimeException("Failed to start manager: " + ComponentContext.getTargetClass(manager).getName());
|
||||||
}
|
}
|
||||||
@ -477,6 +497,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
if (!manager.start()) {
|
if (!manager.start()) {
|
||||||
throw new CloudRuntimeException("Failed to start manager: " + ComponentContext.getTargetClass(manager).getName());
|
throw new CloudRuntimeException("Failed to start manager: " + ComponentContext.getTargetClass(manager).getName());
|
||||||
}
|
}
|
||||||
|
avoidMap.put(ComponentContext.getTargetClass(manager).getName(), manager);
|
||||||
|
|
||||||
if (manager instanceof ManagementBean) {
|
if (manager instanceof ManagementBean) {
|
||||||
registerMBean((ManagementBean) manager);
|
registerMBean((ManagementBean) manager);
|
||||||
@ -488,7 +509,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startAdapters() {
|
private void startAdapters(Map<String, Object> avoidMap) {
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
Map<String, Adapter> adapters = ComponentContext.getApplicationContext().getBeansOfType(
|
Map<String, Adapter> adapters = ComponentContext.getApplicationContext().getBeansOfType(
|
||||||
Adapter.class);
|
Adapter.class);
|
||||||
@ -497,22 +518,27 @@ public class ManagementServerImpl implements ManagementServer {
|
|||||||
|
|
||||||
for(Adapter adapter : adapters.values()) {
|
for(Adapter adapter : adapters.values()) {
|
||||||
try {
|
try {
|
||||||
// we also skip Adapter class that is both a manager class and a adapter class
|
s_logger.info("Start adapter: " + ComponentContext.getTargetClass(adapter).getName() + "...");
|
||||||
if(Manager.class.isAssignableFrom(ComponentContext.getTargetClass(adapter)))
|
|
||||||
continue;
|
if(avoidMap.get(ComponentContext.getTargetClass(adapter).getName()) != null) {
|
||||||
|
s_logger.info("Skip adapter: " + ComponentContext.getTargetClass(adapter).getName() + " as it is already started");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(!adapter.configure(adapter.getName(), params)) {
|
if(!adapter.configure(adapter.getName(), params)) {
|
||||||
throw new CloudRuntimeException("Failed to start adapter: " + ComponentContext.getTargetClass(adapter).getName());
|
throw new CloudRuntimeException("Failed to configure adapter: " + ComponentContext.getTargetClass(adapter).getName());
|
||||||
}
|
}
|
||||||
if (!adapter.start()) {
|
if (!adapter.start()) {
|
||||||
throw new CloudRuntimeException("Failed to start adapter: " + ComponentContext.getTargetClass(adapter).getName());
|
throw new CloudRuntimeException("Failed to start adapter: " + ComponentContext.getTargetClass(adapter).getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
avoidMap.put(ComponentContext.getTargetClass(adapter).getName(), adapter);
|
||||||
|
|
||||||
if (adapter instanceof ManagementBean) {
|
if (adapter instanceof ManagementBean) {
|
||||||
registerMBean((ManagementBean) adapter);
|
registerMBean((ManagementBean) adapter);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
s_logger.error("Problems to start manager:" + ComponentContext.getTargetClass(adapter).getName(), e);
|
s_logger.error("Problems to start adapter:" + ComponentContext.getTargetClass(adapter).getName(), e);
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -157,7 +157,6 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||||||
// Starting, HA, Migrating, Creating and Running state are all counted as "Open" for available capacity calculation
|
// Starting, HA, Migrating, Creating and Running state are all counted as "Open" for available capacity calculation
|
||||||
// because sooner or later, it will be driven into Running state
|
// because sooner or later, it will be driven into Running state
|
||||||
//
|
//
|
||||||
@Component
|
|
||||||
@Local(value = { SecondaryStorageVmManager.class })
|
@Local(value = { SecondaryStorageVmManager.class })
|
||||||
public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, VirtualMachineGuru<SecondaryStorageVmVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, VirtualMachineGuru<SecondaryStorageVmVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||||
private static final Logger s_logger = Logger.getLogger(SecondaryStorageManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(SecondaryStorageManagerImpl.class);
|
||||||
|
|||||||
@ -46,8 +46,6 @@ import com.cloud.upgrade.dao.VersionDaoImpl;
|
|||||||
|
|
||||||
import com.cloud.utils.component.SystemIntegrityChecker;
|
import com.cloud.utils.component.SystemIntegrityChecker;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { SystemIntegrityChecker.class })
|
@Local(value = { SystemIntegrityChecker.class })
|
||||||
public class PremiumDatabaseUpgradeChecker extends DatabaseUpgradeChecker {
|
public class PremiumDatabaseUpgradeChecker extends DatabaseUpgradeChecker {
|
||||||
public PremiumDatabaseUpgradeChecker() {
|
public PremiumDatabaseUpgradeChecker() {
|
||||||
|
|||||||
@ -28,8 +28,6 @@ import org.springframework.stereotype.Component;
|
|||||||
import com.cloud.cluster.ClusterManagerListener;
|
import com.cloud.cluster.ClusterManagerListener;
|
||||||
import com.cloud.cluster.ManagementServerHostVO;
|
import com.cloud.cluster.ManagementServerHostVO;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value=VirtualMachineManager.class)
|
@Local(value=VirtualMachineManager.class)
|
||||||
public class ClusteredVirtualMachineManagerImpl extends VirtualMachineManagerImpl implements ClusterManagerListener {
|
public class ClusteredVirtualMachineManagerImpl extends VirtualMachineManagerImpl implements ClusterManagerListener {
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,6 @@ import org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntity;
|
|||||||
import org.apache.cloudstack.engine.service.api.OrchestrationService;
|
import org.apache.cloudstack.engine.service.api.OrchestrationService;
|
||||||
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.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import com.cloud.agent.AgentManager;
|
import com.cloud.agent.AgentManager;
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
@ -237,7 +236,6 @@ import com.cloud.vm.dao.UserVmDao;
|
|||||||
import com.cloud.vm.dao.UserVmDetailsDao;
|
import com.cloud.vm.dao.UserVmDetailsDao;
|
||||||
import com.cloud.vm.dao.VMInstanceDao;
|
import com.cloud.vm.dao.VMInstanceDao;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value = { UserVmManager.class, UserVmService.class })
|
@Local(value = { UserVmManager.class, UserVmService.class })
|
||||||
public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager {
|
public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager {
|
||||||
private static final Logger s_logger = Logger
|
private static final Logger s_logger = Logger
|
||||||
|
|||||||
@ -158,7 +158,6 @@ import com.cloud.vm.dao.SecondaryStorageVmDao;
|
|||||||
import com.cloud.vm.dao.UserVmDao;
|
import com.cloud.vm.dao.UserVmDao;
|
||||||
import com.cloud.vm.dao.VMInstanceDao;
|
import com.cloud.vm.dao.VMInstanceDao;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value = VirtualMachineManager.class)
|
@Local(value = VirtualMachineManager.class)
|
||||||
public class VirtualMachineManagerImpl implements VirtualMachineManager, Listener {
|
public class VirtualMachineManagerImpl implements VirtualMachineManager, Listener {
|
||||||
private static final Logger s_logger = Logger.getLogger(VirtualMachineManagerImpl.class);
|
private static final Logger s_logger = Logger.getLogger(VirtualMachineManagerImpl.class);
|
||||||
|
|||||||
@ -23,8 +23,6 @@ import org.apache.log4j.Logger;
|
|||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
@Local(value = { UserVmDao.class })
|
@Local(value = { UserVmDao.class })
|
||||||
public class RandomlyIncreasingVMInstanceDaoImpl extends UserVmDaoImpl {
|
public class RandomlyIncreasingVMInstanceDaoImpl extends UserVmDaoImpl {
|
||||||
|
|
||||||
|
|||||||
@ -55,7 +55,6 @@ import com.cloud.vm.dao.UserVmData.NicData;
|
|||||||
import com.cloud.vm.dao.UserVmData.SecurityGroupData;
|
import com.cloud.vm.dao.UserVmData.SecurityGroupData;
|
||||||
|
|
||||||
|
|
||||||
@Component
|
|
||||||
@Local(value={UserVmDao.class})
|
@Local(value={UserVmDao.class})
|
||||||
public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements UserVmDao {
|
public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements UserVmDao {
|
||||||
public static final Logger s_logger = Logger.getLogger(UserVmDaoImpl.class);
|
public static final Logger s_logger = Logger.getLogger(UserVmDaoImpl.class);
|
||||||
|
|||||||
@ -23,7 +23,7 @@ alter table template_spool_ref add state varchar(255);
|
|||||||
alter table template_spool_ref add update_count bigint unsigned;
|
alter table template_spool_ref add update_count bigint unsigned;
|
||||||
alter table volumes add disk_type varchar(255);
|
alter table volumes add disk_type varchar(255);
|
||||||
alter table volumes drop foreign key `fk_volumes__account_id`;
|
alter table volumes drop foreign key `fk_volumes__account_id`;
|
||||||
CREATE TABLE `cloud`.`primary_data_store_provider` (
|
CREATE TABLE `cloud`.`data_store_provider` (
|
||||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
`name` varchar(255) NOT NULL COMMENT 'name of primary data store provider',
|
`name` varchar(255) NOT NULL COMMENT 'name of primary data store provider',
|
||||||
PRIMARY KEY(`id`)
|
PRIMARY KEY(`id`)
|
||||||
|
|||||||
@ -16,11 +16,6 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.utils;
|
package com.cloud.utils;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Primary;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
@Primary
|
|
||||||
public class DummyPremiumImpl implements DummyInterface {
|
public class DummyPremiumImpl implements DummyInterface {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user