CLOUDSTACK-1917: Finalize componentContext.xml/nonComponentContext.xml content organization to be plugin friendly

This commit is contained in:
Kelven Yang 2013-04-04 14:16:13 -07:00
parent 42ffac3ae8
commit c062808912
4 changed files with 532 additions and 414 deletions

View File

@ -32,6 +32,12 @@
<context:annotation-config />
<!--=====================================================================================================-->
<!-- -->
<!-- core OSS/non-OSS Common components -->
<!-- -->
<!--=====================================================================================================-->
<!--
@DB support
-->
@ -640,7 +646,53 @@
<!--
Managers
-->
-->
<bean id="accountManagerImpl" class="com.cloud.user.AccountManagerImpl" >
<property name="UserAuthenticators" value="#{userAuthenticators.Adapters}" />
<property name="SecurityCheckers" value="#{securityCheckers.Adapters}" />
</bean>
<bean id="managementServerImpl" class ="com.cloud.server.ManagementServerImpl">
<property name="UserAuthenticators" value="#{userAuthenticators.Adapters}" />
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
</bean>
<bean id="storageManagerImpl" class="com.cloud.storage.StorageManagerImpl">
<property name="StoragePoolAllocators" value="#{storagePoolAllocators.Adapters}" />
</bean>
<bean id="FirstFitPlanner" class="com.cloud.deploy.FirstFitPlanner">
<property name="name" value="First Fit"/>
<property name="StoragePoolAllocators" value="#{storagePoolAllocators.Adapters}" />
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
</bean>
<bean id="resourceManagerImpl" class="com.cloud.resource.ResourceManagerImpl" >
<property name="PodAllocators" value="#{podAllocators.Adapters}" />
<property name="Discoverers" value="#{resourceDiscoverers.Adapters}" />
</bean>
<bean id="highAvailabilityManagerExtImpl" class="com.cloud.ha.HighAvailabilityManagerExtImpl" >
<property name="Investigators" value="#{haInvestigators.Adapters}" />
<property name="FenceBuilders" value="#{haFenceBuilders.Adapters}" />
</bean>
<bean id="clusteredVirtualMachineManagerImpl" class="com.cloud.vm.ClusteredVirtualMachineManagerImpl" >
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
<property name="Planners" value="#{deploymentPlanners.Adapters}" />
</bean>
<bean id="networkManagerImpl" class="com.cloud.network.NetworkManagerImpl" >
<property name="NetworkGurus" value="#{networkGurus.Adapters}" />
<property name="NetworkElements" value="#{networkElements.Adapters}" />
<property name="IpDeployers" value="#{ipDeployers.Adapters}" />
<property name="DhcpProviders" value="#{dhcpProviders.Adapters}" />
</bean>
<bean id="networkModelImpl" class="com.cloud.network.NetworkModelImpl">
<property name="NetworkElements" value="#{networkElements.Adapters}" />
</bean>
<bean id="configurationServerImpl" class="com.cloud.server.ConfigurationServerImpl" />
<bean id="clusterManagerImpl" class="com.cloud.cluster.ClusterManagerImpl" />
@ -700,9 +752,98 @@
<bean id="vpcManagerImpl" class="com.cloud.network.vpc.VpcManagerImpl" />
<bean id="vpcVirtualNetworkApplianceManagerImpl" class="com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl" />
<!--
Misc components
-->
<bean id="actionEventUtils" class="com.cloud.event.ActionEventUtils" />
<bean id="agentMonitor" class="com.cloud.agent.manager.AgentMonitor" />
<bean id="alertGenerator" class="com.cloud.event.AlertGenerator" />
<bean id="ancientDataMotionStrategy" class="org.apache.cloudstack.storage.motion.AncientDataMotionStrategy" />
<bean id="ancientImageDataStoreProvider" class="org.apache.cloudstack.storage.image.store.AncientImageDataStoreProvider" />
<bean id="ancientSnapshotStrategy" class="org.apache.cloudstack.storage.snapshot.strategy.AncientSnapshotStrategy" />
<bean id="apiDBUtils" class="com.cloud.api.ApiDBUtils" />
<bean id="apiDiscoveryServiceImpl" class="org.apache.cloudstack.discovery.ApiDiscoveryServiceImpl" />
<bean id="apiDispatcher" class="com.cloud.api.ApiDispatcher" />
<bean id="apiResponseHelper" class="com.cloud.api.ApiResponseHelper" />
<bean id="apiServer" class="com.cloud.api.ApiServer" />
<bean id="apiServlet" class="com.cloud.api.ApiServlet" />
<bean id="bAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
<bean id="cloudOrchestrator" class="org.apache.cloudstack.platform.orchestration.CloudOrchestrator" />
<bean id="clusterRestService" class="org.apache.cloudstack.engine.rest.service.api.ClusterRestService" />
<bean id="consoleProxyServlet" class="com.cloud.servlet.ConsoleProxyServlet" />
<bean id="dataCenterResourceManagerImpl" class="org.apache.cloudstack.engine.datacenter.entity.api.DataCenterResourceManagerImpl" />
<bean id="dataDisk" class="org.apache.cloudstack.engine.subsystem.api.storage.type.DataDisk" />
<bean id="dataMotionServiceImpl" class="org.apache.cloudstack.storage.motion.DataMotionServiceImpl" />
<bean id="dataObjectManagerImpl" class="org.apache.cloudstack.storage.datastore.DataObjectManagerImpl" />
<bean id="dataStoreManagerImpl" class="org.apache.cloudstack.storage.datastore.DataStoreManagerImpl" />
<bean id="defaultEndPointSelector" class="org.apache.cloudstack.storage.endpoint.DefaultEndPointSelector" />
<bean id="defaultPrimaryDataStoreProviderManagerImpl" class="org.apache.cloudstack.storage.datastore.manager.DefaultPrimaryDataStoreProviderManagerImpl" />
<bean id="eventUtils" class="com.cloud.event.EventUtils" />
<bean id="globalLoadBalancingRulesServiceImpl" class="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" />
<bean id="hypervsiorHostEndPointRpcServer" class="org.apache.cloudstack.storage.HypervsiorHostEndPointRpcServer" />
<bean id="iSCSI" class="org.apache.cloudstack.storage.datastore.type.ISCSI" />
<bean id="ISO" class="org.apache.cloudstack.storage.image.format.ISO" />
<bean id="imageDataFactoryImpl" class="org.apache.cloudstack.storage.image.ImageDataFactoryImpl" />
<bean id="imageDataManagerImpl" class="org.apache.cloudstack.storage.image.manager.ImageDataManagerImpl" />
<bean id="imageDataStoreHelper" class="org.apache.cloudstack.storage.image.datastore.ImageDataStoreHelper" />
<bean id="imageDataStoreManagerImpl" class="org.apache.cloudstack.storage.image.manager.ImageDataStoreManagerImpl" />
<bean id="imageFormatHelper" class="org.apache.cloudstack.storage.image.format.ImageFormatHelper" />
<bean id="imageServiceImpl" class="org.apache.cloudstack.storage.image.ImageServiceImpl" />
<bean id="iso" class="org.apache.cloudstack.engine.subsystem.api.storage.type.Iso" />
<bean id="networkFileSystem" class="org.apache.cloudstack.storage.datastore.type.NetworkFileSystem" />
<bean id="networkRestService" class="org.apache.cloudstack.engine.rest.service.api.NetworkRestService" />
<bean id="OVA" class="org.apache.cloudstack.storage.image.format.OVA" />
<bean id="objectInDataStoreManagerImpl" class="org.apache.cloudstack.storage.datastore.ObjectInDataStoreManagerImpl" />
<bean id="podRestService" class="org.apache.cloudstack.engine.rest.service.api.PodRestService" />
<bean id="primaryDataStoreHelper" class="org.apache.cloudstack.storage.volume.datastore.PrimaryDataStoreHelper" />
<bean id="provisioningServiceImpl" class="org.apache.cloudstack.engine.service.api.ProvisioningServiceImpl" />
<bean id="QCOW2" class="org.apache.cloudstack.storage.image.format.QCOW2" />
<bean id="registerCompleteServlet" class="com.cloud.servlet.RegisterCompleteServlet" />
<bean id="rootDisk" class="org.apache.cloudstack.engine.subsystem.api.storage.type.RootDisk" />
<bean id="snapshotDataFactoryImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotDataFactoryImpl" />
<bean id="snapshotServiceImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotServiceImpl" />
<bean id="snapshotStateMachineManagerImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotStateMachineManagerImpl" />
<bean id="statsCollector" class="com.cloud.server.StatsCollector" />
<bean id="storagePoolAutomationImpl" class="com.cloud.storage.StoragePoolAutomationImpl" />
<bean id="templateInstallStrategyImpl" class="org.apache.cloudstack.storage.volume.TemplateInstallStrategyImpl" />
<bean id="unknown" class="org.apache.cloudstack.storage.image.format.Unknown" />
<bean id="usageEventUtils" class="com.cloud.event.UsageEventUtils" />
<bean id="userContextInitializer" class="com.cloud.user.UserContextInitializer" />
<bean id="VHD" class="org.apache.cloudstack.storage.image.format.VHD" />
<bean id="vMEntityManagerImpl" class="org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl" />
<bean id="virtualMachineEntityFactory" class="org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityFactory" />
<bean id="virtualMachineEntityImpl" class="org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl" />
<bean id="virtualMachineRestService" class="org.apache.cloudstack.engine.rest.service.api.VirtualMachineRestService" />
<bean id="volumeDataFactoryImpl" class="org.apache.cloudstack.storage.volume.VolumeDataFactoryImpl" />
<bean id="volumeRestService" class="org.apache.cloudstack.engine.rest.service.api.VolumeRestService" />
<bean id="volumeServiceImpl" class="org.apache.cloudstack.storage.volume.VolumeServiceImpl" />
<bean id="volumeTypeHelper" class="org.apache.cloudstack.engine.subsystem.api.storage.type.VolumeTypeHelper" />
<bean id="zoneRestService" class="org.apache.cloudstack.engine.rest.service.api.ZoneRestService" />
<bean id="cloudZonesStartupProcessor" class="com.cloud.hypervisor.CloudZonesStartupProcessor" />
<bean id="managementServerNode" class="com.cloud.cluster.ManagementServerNode" />
<bean id="testingAllocator" class="com.cloud.agent.manager.allocator.impl.TestingAllocator" />
<bean id="domainManagerImpl" class="com.cloud.user.DomainManagerImpl" />
<bean id="downloadMonitorImpl" class="com.cloud.storage.download.DownloadMonitorImpl" />
<bean id="lBHealthCheckManagerImpl" class="com.cloud.network.lb.LBHealthCheckManagerImpl" />
<bean id="mockAgentManagerImpl" class="com.cloud.agent.manager.MockAgentManagerImpl" />
<bean id="mockStorageManagerImpl" class="com.cloud.agent.manager.MockStorageManagerImpl" />
<bean id="mockVmManagerImpl" class="com.cloud.agent.manager.MockVmManagerImpl" />
<bean id="simulatorManagerImpl" class="com.cloud.agent.manager.SimulatorManagerImpl" />
<bean id="vMSnapshotManagerImpl" class="com.cloud.vm.snapshot.VMSnapshotManagerImpl" />
<bean id="volumeManagerImpl" class="com.cloud.storage.VolumeManagerImpl" />
<bean id="ClassicalPrimaryDataStoreProvider" class="org.apache.cloudstack.storage.datastore.provider.CloudStackPrimaryDataStoreProviderImpl" />
<!--=======================================================================================================-->
<!-- -->
<!-- Module-basis OSS/non-OSS Common components -->
<!-- -->
<!--=======================================================================================================-->
<!--
Baremetal components
-->
<!--
<bean id="BareMetalDhcp" class="com.cloud.baremetal.networkservice.BaremetalDhcpElement">
<property name="name" value="BareMetalDhcp"/>
@ -738,91 +879,9 @@
<bean id="BaremetalPingPxeService" class="com.cloud.baremetal.networkservice.BareMetalPingServiceImpl" />
<bean id="BaremetalPxeManager" class="com.cloud.baremetal.networkservice.BaremetalPxeManagerImpl" />
<bean id="bAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
<bean id="BAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
<bean id="baremetalDhcpDaoImpl" class="com.cloud.baremetal.database.BaremetalDhcpDaoImpl" />
<bean id="baremetalPxeDaoImpl" class="com.cloud.baremetal.database.BaremetalPxeDaoImpl" />
-->
<!--
Misc components
-->
<bean id="actionEventUtils" class="com.cloud.event.ActionEventUtils" />
<bean id="agentMonitor" class="com.cloud.agent.manager.AgentMonitor" />
<bean id="alertGenerator" class="com.cloud.event.AlertGenerator" />
<bean id="ancientDataMotionStrategy" class="org.apache.cloudstack.storage.motion.AncientDataMotionStrategy" />
<bean id="ancientImageDataStoreProvider" class="org.apache.cloudstack.storage.image.store.AncientImageDataStoreProvider" />
<bean id="ancientSnapshotStrategy" class="org.apache.cloudstack.storage.snapshot.strategy.AncientSnapshotStrategy" />
<bean id="apiDBUtils" class="com.cloud.api.ApiDBUtils" />
<bean id="apiDiscoveryServiceImpl" class="org.apache.cloudstack.discovery.ApiDiscoveryServiceImpl" />
<bean id="apiDispatcher" class="com.cloud.api.ApiDispatcher" />
<bean id="apiResponseHelper" class="com.cloud.api.ApiResponseHelper" />
<bean id="apiServer" class="com.cloud.api.ApiServer" />
<bean id="apiServlet" class="com.cloud.api.ApiServlet" />
<bean id="bAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
<bean id="cloudOrchestrator" class="org.apache.cloudstack.platform.orchestration.CloudOrchestrator" />
<bean id="clusterRestService" class="org.apache.cloudstack.engine.rest.service.api.ClusterRestService" />
<bean id="consoleProxyServlet" class="com.cloud.servlet.ConsoleProxyServlet" />
<bean id="dataCenterResourceManagerImpl" class="org.apache.cloudstack.engine.datacenter.entity.api.DataCenterResourceManagerImpl" />
<bean id="dataDisk" class="org.apache.cloudstack.engine.subsystem.api.storage.type.DataDisk" />
<bean id="dataMotionServiceImpl" class="org.apache.cloudstack.storage.motion.DataMotionServiceImpl" />
<bean id="dataObjectManagerImpl" class="org.apache.cloudstack.storage.datastore.DataObjectManagerImpl" />
<bean id="dataStoreManagerImpl" class="org.apache.cloudstack.storage.datastore.DataStoreManagerImpl" />
<bean id="defaultEndPointSelector" class="org.apache.cloudstack.storage.endpoint.DefaultEndPointSelector" />
<bean id="defaultPrimaryDataStoreProviderManagerImpl" class="org.apache.cloudstack.storage.datastore.manager.DefaultPrimaryDataStoreProviderManagerImpl" />
<bean id="eventUtils" class="com.cloud.event.EventUtils" />
<bean id="globalLoadBalancingRulesServiceImpl" class="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" />
<bean id="hypervsiorHostEndPointRpcServer" class="org.apache.cloudstack.storage.HypervsiorHostEndPointRpcServer" />
<bean id="iSCSI" class="org.apache.cloudstack.storage.datastore.type.ISCSI" />
<bean id="iSO" class="org.apache.cloudstack.storage.image.format.ISO" />
<bean id="imageDataFactoryImpl" class="org.apache.cloudstack.storage.image.ImageDataFactoryImpl" />
<bean id="imageDataManagerImpl" class="org.apache.cloudstack.storage.image.manager.ImageDataManagerImpl" />
<bean id="imageDataStoreHelper" class="org.apache.cloudstack.storage.image.datastore.ImageDataStoreHelper" />
<bean id="imageDataStoreManagerImpl" class="org.apache.cloudstack.storage.image.manager.ImageDataStoreManagerImpl" />
<bean id="imageFormatHelper" class="org.apache.cloudstack.storage.image.format.ImageFormatHelper" />
<bean id="imageServiceImpl" class="org.apache.cloudstack.storage.image.ImageServiceImpl" />
<bean id="iso" class="org.apache.cloudstack.engine.subsystem.api.storage.type.Iso" />
<bean id="networkFileSystem" class="org.apache.cloudstack.storage.datastore.type.NetworkFileSystem" />
<bean id="networkRestService" class="org.apache.cloudstack.engine.rest.service.api.NetworkRestService" />
<bean id="oVA" class="org.apache.cloudstack.storage.image.format.OVA" />
<bean id="objectInDataStoreManagerImpl" class="org.apache.cloudstack.storage.datastore.ObjectInDataStoreManagerImpl" />
<bean id="podRestService" class="org.apache.cloudstack.engine.rest.service.api.PodRestService" />
<bean id="primaryDataStoreHelper" class="org.apache.cloudstack.storage.volume.datastore.PrimaryDataStoreHelper" />
<bean id="provisioningServiceImpl" class="org.apache.cloudstack.engine.service.api.ProvisioningServiceImpl" />
<bean id="qCOW2" class="org.apache.cloudstack.storage.image.format.QCOW2" />
<bean id="registerCompleteServlet" class="com.cloud.servlet.RegisterCompleteServlet" />
<bean id="rootDisk" class="org.apache.cloudstack.engine.subsystem.api.storage.type.RootDisk" />
<bean id="snapshotDataFactoryImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotDataFactoryImpl" />
<bean id="snapshotServiceImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotServiceImpl" />
<bean id="snapshotStateMachineManagerImpl" class="org.apache.cloudstack.storage.snapshot.SnapshotStateMachineManagerImpl" />
<bean id="statsCollector" class="com.cloud.server.StatsCollector" />
<bean id="storagePoolAutomationImpl" class="com.cloud.storage.StoragePoolAutomationImpl" />
<bean id="templateInstallStrategyImpl" class="org.apache.cloudstack.storage.volume.TemplateInstallStrategyImpl" />
<bean id="unknown" class="org.apache.cloudstack.storage.image.format.Unknown" />
<bean id="usageEventUtils" class="com.cloud.event.UsageEventUtils" />
<bean id="userContextInitializer" class="com.cloud.user.UserContextInitializer" />
<bean id="vHD" class="org.apache.cloudstack.storage.image.format.VHD" />
<bean id="vMEntityManagerImpl" class="org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl" />
<bean id="virtualMachineEntityFactory" class="org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityFactory" />
<bean id="virtualMachineEntityImpl" class="org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl" />
<bean id="virtualMachineRestService" class="org.apache.cloudstack.engine.rest.service.api.VirtualMachineRestService" />
<bean id="volumeDataFactoryImpl" class="org.apache.cloudstack.storage.volume.VolumeDataFactoryImpl" />
<bean id="volumeRestService" class="org.apache.cloudstack.engine.rest.service.api.VolumeRestService" />
<bean id="volumeServiceImpl" class="org.apache.cloudstack.storage.volume.VolumeServiceImpl" />
<bean id="volumeTypeHelper" class="org.apache.cloudstack.engine.subsystem.api.storage.type.VolumeTypeHelper" />
<bean id="zoneRestService" class="org.apache.cloudstack.engine.rest.service.api.ZoneRestService" />
<bean id="cloudZonesStartupProcessor" class="com.cloud.hypervisor.CloudZonesStartupProcessor" />
<bean id="managementServerNode" class="com.cloud.cluster.ManagementServerNode" />
<bean id="testingAllocator" class="com.cloud.agent.manager.allocator.impl.TestingAllocator" />
<bean id="domainManagerImpl" class="com.cloud.user.DomainManagerImpl" />
<bean id="downloadMonitorImpl" class="com.cloud.storage.download.DownloadMonitorImpl" />
<bean id="lBHealthCheckManagerImpl" class="com.cloud.network.lb.LBHealthCheckManagerImpl" />
<bean id="mockAgentManagerImpl" class="com.cloud.agent.manager.MockAgentManagerImpl" />
<bean id="mockStorageManagerImpl" class="com.cloud.agent.manager.MockStorageManagerImpl" />
<bean id="mockVmManagerImpl" class="com.cloud.agent.manager.MockVmManagerImpl" />
<bean id="resourceManagerImpl" class="com.cloud.resource.ResourceManagerImpl" />
<bean id="simulatorManagerImpl" class="com.cloud.agent.manager.SimulatorManagerImpl" />
<bean id="vMSnapshotManagerImpl" class="com.cloud.vm.snapshot.VMSnapshotManagerImpl" />
<bean id="volumeManagerImpl" class="com.cloud.storage.VolumeManagerImpl" />
<bean id="ClassicalPrimaryDataStoreProvider" class="org.apache.cloudstack.storage.datastore.provider.CloudStackPrimaryDataStoreProviderImpl" />
</beans>

View File

@ -31,170 +31,20 @@
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--
OSS deployment component configuration
-->
<!--
OSS deployment configuration
OSS/non-OSS counter-exclusive components and related configurations should be put here
for example, configurationDaoImpl component, it has exclusive configuration settings in OSS and non-OSS deployment,
its component declaration should be put in both componentContext.xml.in and nonossComponentContext.xml.in, each with
independent configuration
-->
<bean id="databaseUpgradeChecker" class="com.cloud.upgrade.DatabaseUpgradeChecker" />
<bean id="configurationDaoImpl" class="com.cloud.configuration.dao.ConfigurationDaoImpl" />
<!--
Managers & pluggable adapters configuration under OSS deployment
-->
<bean id="storageManagerImpl" class="com.cloud.storage.StorageManagerImpl">
<property name="StoragePoolAllocators">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
</bean>
<bean id="FirstFitPlanner" class="com.cloud.deploy.FirstFitPlanner">
<property name="name" value="First Fit"/>
<property name="StoragePoolAllocators">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
<property name="HostAllocators">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
</bean>
<bean id="resourceManagerImpl" class="com.cloud.resource.ResourceManagerImpl" >
<property name="PodAllocators">
<list>
<ref bean="UserConcentratedAllocator"/>
</list>
</property>
<property name="Discoverers">
<list>
<ref bean="XcpServerDiscoverer"/>
<ref bean="SecondaryStorageDiscoverer"/>
<ref bean="KvmServerDiscoverer"/>
<ref bean="LxcServerDiscoverer"/>
<!--
<ref bean="BareMetalDiscoverer"/>
-->
<ref bean="OvmDiscoverer"/>
</list>
</property>
</bean>
<bean id="highAvailabilityManagerExtImpl" class="com.cloud.ha.HighAvailabilityManagerExtImpl" >
<property name="Investigators">
<list>
<ref bean="CheckOnAgentInvestigator"/>
<ref bean="XenServerInvestigator"/>
<ref bean="UserVmDomRInvestigator"/>
<ref bean="ManagementIPSystemVMInvestigator"/>
</list>
</property>
<property name="FenceBuilders">
<list>
<ref bean="XenServerFencer"/>
<ref bean="KVMFencer"/>
<ref bean="OvmFencer"/>
</list>
</property>
</bean>
<bean id="clusteredVirtualMachineManagerImpl" class="com.cloud.vm.ClusteredVirtualMachineManagerImpl" >
<property name="HostAllocators">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
<property name="Planners">
<list>
<ref bean="FirstFitPlanner" />
<ref bean="UserDispersingPlanner" />
<ref bean="UserConcentratedPodPlanner" />
<!--
<ref bean="BareMetalPlanner" />
-->
</list>
</property>
</bean>
<bean id="networkManagerImpl" class="com.cloud.network.NetworkManagerImpl" >
<property name="NetworkGurus">
<list>
<ref bean="StorageNetworkGuru"/>
<ref bean="ExternalGuestNetworkGuru"/>
<ref bean="PublicNetworkGuru"/>
<ref bean="PodBasedNetworkGuru"/>
<ref bean="DirectPodBasedNetworkGuru"/>
<ref bean="ControlNetworkGuru"/>
<ref bean="DirectNetworkGuru"/>
<ref bean="OvsGuestNetworkGuru"/>
<ref bean="PrivateNetworkGuru"/>
<ref bean="NiciraNvpGuestNetworkGuru"/>
<ref bean="MidoNetGuestNetworkGuru"/>
</list>
</property>
<property name="NetworkElements">
<list>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<ref bean="NiciraNvp"/>
<ref bean="MidoNetElement"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
<property name="IpDeployers">
<list>
<ref bean="elasticLoadBalancerElement"/>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
</list>
</property>
<property name="DhcpProviders">
<list>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
-->
</list>
</property>
</bean>
<bean id="networkModelImpl" class="com.cloud.network.NetworkModelImpl">
<property name="NetworkElements">
<list>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<ref bean="NiciraNvp" />
<ref bean="MidoNetElement"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
</bean>
<bean id="GlobalLoadBalancingRulesServiceImpl" class ="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" />
<!--
@ -220,5 +70,170 @@
<property name="name" value="MidoNetElement"/>
</bean>
<!--
Deployment configurations of various adapters
It determines whether or not a adapter is activated or how it is loaded in order in its managing provider,
-->
<!-- Security adapters -->
<bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="MD5UserAuthenticator"/>
<ref bean="LDAPUserAuthenticator"/>
</list>
</property>
</bean>
<bean id="securityCheckers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="domainChecker"/>
</list>
</property>
</bean>
<!-- Resource discoverers -->
<bean id="resourceDiscoverers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="XcpServerDiscoverer"/>
<ref bean="SecondaryStorageDiscoverer"/>
<ref bean="KvmServerDiscoverer"/>
<ref bean="LxcServerDiscoverer"/>
<!--
<ref bean="BareMetalDiscoverer"/>
-->
<ref bean="OvmDiscoverer"/>
</list>
</property>
</bean>
<!-- HA adapters -->
<bean id="haInvestigators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="CheckOnAgentInvestigator"/>
<ref bean="XenServerInvestigator"/>
<ref bean="UserVmDomRInvestigator"/>
<ref bean="ManagementIPSystemVMInvestigator"/>
</list>
</property>
</bean>
<bean id="haFenceBuilders" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="XenServerFencer"/>
<ref bean="KVMFencer"/>
<ref bean="OvmFencer"/>
</list>
</property>
</bean>
<!-- Deployment/allocation adapters -->
<bean id="deploymentPlanners" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="FirstFitPlanner" />
<ref bean="UserDispersingPlanner" />
<ref bean="UserConcentratedPodPlanner" />
<!--
<ref bean="BareMetalPlanner" />
-->
</list>
</property>
</bean>
<bean id="podAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="UserConcentratedAllocator"/>
</list>
</property>
</bean>
<bean id="hostAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
</bean>
<bean id="storagePoolAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
</bean>
<!-- Networking adapters -->
<bean id="ipDeployers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="elasticLoadBalancerElement"/>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
</list>
</property>
</bean>
<bean id="dhcpProviders" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
-->
</list>
</property>
</bean>
<bean id="networkGurus" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="StorageNetworkGuru"/>
<ref bean="ExternalGuestNetworkGuru"/>
<ref bean="PublicNetworkGuru"/>
<ref bean="PodBasedNetworkGuru"/>
<ref bean="DirectPodBasedNetworkGuru"/>
<ref bean="ControlNetworkGuru"/>
<ref bean="DirectNetworkGuru"/>
<ref bean="OvsGuestNetworkGuru"/>
<ref bean="PrivateNetworkGuru"/>
</list>
</property>
</bean>
<bean id="networkElements" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<ref bean="NiciraNvp" />
<ref bean="MidoNetElement"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
</bean>
</beans>

View File

@ -32,9 +32,16 @@
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--
Non-OSS deployment component configuration
-->
<!--
non-OSS deployment configuration
OSS/non-OSS counter-exclusive components and related configurations should be put here
for example, configurationDaoImpl component, it has exclusive configuration settings in OSS and non-OSS deployment,
its component declaration should be put in both componentContext.xml.in and nonossComponentContext.xml.in, each with
independent configuration
-->
<bean id="premiumDatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
<!--
@ -132,172 +139,6 @@
<property name="name" value="BigSwitchVnsElement"/>
</bean>
<!--
Managers & pluggable adapters configuration under non-OSS deployment
-->
<bean id="storageManagerImpl" class="com.cloud.storage.StorageManagerImpl">
<property name="StoragePoolAllocators">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
</bean>
<bean id="FirstFitPlanner" class="com.cloud.deploy.FirstFitPlanner">
<property name="name" value="First Fit"/>
<property name="StoragePoolAllocators">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
<property name="HostAllocators">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
</bean>
<bean id="resourceManagerImpl" class="com.cloud.resource.ResourceManagerImpl" >
<property name="PodAllocators">
<list>
<ref bean="UserConcentratedAllocator"/>
</list>
</property>
<property name="Discoverers">
<list>
<ref bean="XcpServerDiscoverer"/>
<ref bean="SecondaryStorageDiscoverer"/>
<ref bean="KvmServerDiscoverer"/>
<!--
<ref bean="BareMetalDiscoverer"/>
-->
<ref bean="OvmDiscoverer"/>
<ref bean="vmwareServerDiscoverer"/>
</list>
</property>
</bean>
<bean id="highAvailabilityManagerExtImpl" class="com.cloud.ha.HighAvailabilityManagerExtImpl" >
<property name="Investigators">
<list>
<ref bean="CheckOnAgentInvestigator"/>
<ref bean="XenServerInvestigator"/>
<ref bean="VmwareInvestigator"/>
<ref bean="UserVmDomRInvestigator"/>
<ref bean="ManagementIPSystemVMInvestigator"/>
</list>
</property>
<property name="FenceBuilders">
<list>
<ref bean="XenServerFencer"/>
<ref bean="KVMFencer"/>
<ref bean="OvmFencer"/>
<ref bean="VmwareFencer"/>
</list>
</property>
</bean>
<bean id="clusteredVirtualMachineManagerImpl" class="com.cloud.vm.ClusteredVirtualMachineManagerImpl" >
<property name="HostAllocators">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
<property name="Planners">
<list>
<ref bean="FirstFitPlanner" />
<ref bean="UserDispersingPlanner" />
<ref bean="UserConcentratedPodPlanner" />
<!--
<ref bean="BareMetalPlanner" />
-->
</list>
</property>
</bean>
<bean id="networkManagerImpl" class="com.cloud.network.NetworkManagerImpl" >
<property name="NetworkGurus">
<list>
<ref bean="StorageNetworkGuru"/>
<ref bean="ExternalGuestNetworkGuru"/>
<ref bean="PublicNetworkGuru"/>
<ref bean="PodBasedNetworkGuru"/>
<ref bean="DirectPodBasedNetworkGuru"/>
<ref bean="ControlNetworkGuru"/>
<ref bean="DirectNetworkGuru"/>
<ref bean="OvsGuestNetworkGuru"/>
<ref bean="PrivateNetworkGuru"/>
<ref bean="NiciraNvpGuestNetworkGuru" />
<ref bean="MidoNetGuestNetworkGuru" />
</list>
</property>
<property name="NetworkElements">
<list>
<ref bean="JuniperSRX"/>
<ref bean="Netscaler"/>
<ref bean="F5BigIP"/>
<ref bean="CiscoNexus1000vVSM"/>
<ref bean="NiciraNvp" />
<ref bean="MidoNetElement" />
<ref bean="bigSwitchVnsElement"/>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
<property name="IpDeployers">
<list>
<ref bean="elasticLoadBalancerElement"/>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
</list>
</property>
<property name="DhcpProviders">
<list>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
-->
</list>
</property>
</bean>
<bean id="networkModelImpl" class="com.cloud.network.NetworkModelImpl">
<property name="NetworkElements">
<list>
<ref bean="JuniperSRX"/>
<ref bean="Netscaler"/>
<ref bean="F5BigIP"/>
<ref bean="CiscoNexus1000vVSM"/>
<ref bean="NiciraNvp" />
<ref bean="MidoNetElement" />
<ref bean="bigSwitchVnsElement"/>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
</bean>
<!--
Midonet support components
@ -310,5 +151,174 @@
</bean>
<!--
Deployment configurations of various adapters
It determines whether or not a adapter is activated or how it is loaded in order in its managing provider,
-->
<!-- Security adapters -->
<bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="MD5UserAuthenticator"/>
<ref bean="LDAPUserAuthenticator"/>
</list>
</property>
</bean>
<bean id="securityCheckers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="domainChecker"/>
</list>
</property>
</bean>
<!-- Resource discoverers -->
<bean id="resourceDiscoverers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="XcpServerDiscoverer"/>
<ref bean="SecondaryStorageDiscoverer"/>
<ref bean="KvmServerDiscoverer"/>
<!--
<ref bean="BareMetalDiscoverer"/>
-->
<ref bean="OvmDiscoverer"/>
<ref bean="vmwareServerDiscoverer"/>
</list>
</property>
</bean>
<!-- HA adapters -->
<bean id="haInvestigators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="CheckOnAgentInvestigator"/>
<ref bean="XenServerInvestigator"/>
<ref bean="VmwareInvestigator"/>
<ref bean="UserVmDomRInvestigator"/>
<ref bean="ManagementIPSystemVMInvestigator"/>
</list>
</property>
</bean>
<bean id="haFenceBuilders" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="XenServerFencer"/>
<ref bean="KVMFencer"/>
<ref bean="OvmFencer"/>
<ref bean="VmwareFencer"/>
</list>
</property>
</bean>
<!-- Deployment/allocation adapters -->
<bean id="deploymentPlanners" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="FirstFitPlanner" />
<ref bean="UserDispersingPlanner" />
<ref bean="UserConcentratedPodPlanner" />
<!--
<ref bean="BareMetalPlanner" />
-->
</list>
</property>
</bean>
<bean id="podAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="UserConcentratedAllocator"/>
</list>
</property>
</bean>
<bean id="hostAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="FirstFitRouting"/>
</list>
</property>
</bean>
<bean id="storagePoolAllocators" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="LocalStoragePoolAllocator"/>
<ref bean="clusterScopeStoragePoolAllocator"/>
<ref bean="zoneWideStoragePoolAllocator"/>
<ref bean="garbageCollectingStoragePoolAllocator"/>
</list>
</property>
</bean>
<!-- Networking adapters -->
<bean id="ipDeployers" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="elasticLoadBalancerElement"/>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
</list>
</property>
</bean>
<bean id="dhcpProviders" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="VirtualRouter"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
-->
</list>
</property>
</bean>
<bean id="networkGurus" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="StorageNetworkGuru"/>
<ref bean="ExternalGuestNetworkGuru"/>
<ref bean="PublicNetworkGuru"/>
<ref bean="PodBasedNetworkGuru"/>
<ref bean="DirectPodBasedNetworkGuru"/>
<ref bean="ControlNetworkGuru"/>
<ref bean="DirectNetworkGuru"/>
<ref bean="OvsGuestNetworkGuru"/>
<ref bean="PrivateNetworkGuru"/>
</list>
</property>
</bean>
<bean id="networkElements" class="com.cloud.utils.component.AdapterList">
<property name="Adapters">
<list>
<ref bean="JuniperSRX"/>
<ref bean="Netscaler"/>
<ref bean="F5BigIP"/>
<ref bean="CiscoNexus1000vVSM"/>
<ref bean="NiciraNvp" />
<ref bean="MidoNetElement" />
<ref bean="bigSwitchVnsElement"/>
<ref bean="VirtualRouter"/>
<ref bean="Ovs"/>
<ref bean="SecurityGroupProvider"/>
<ref bean="VpcVirtualRouter"/>
<!--
<ref bean="BareMetalDhcp"/>
<ref bean="BareMetalPxe"/>
<ref bean="BareMetalUserdata"/>
-->
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,34 @@
// 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
// 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.utils.component;
import java.util.List;
public class AdapterList<T extends Adapter> {
protected List<T> adapters;
public AdapterList() {
}
public List<T> getAdapters() {
return adapters;
}
public void setAdapters(List<T> adapters) {
this.adapters = adapters;
}
}