mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			186 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			186 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
<?xml version="1.0"?>
 | 
						|
<!--
 | 
						|
  components.xml is the configuration file for the VM Ops
 | 
						|
  insertion servers.  Someone can quickly pull together an
 | 
						|
  insertion server by selecting the correct adapters to use.
 | 
						|
 | 
						|
  Here are some places to look for information.
 | 
						|
    - To find out the general functionality that each Manager 
 | 
						|
      or Adapter provide, look at the javadoc for the interface
 | 
						|
      that it implements.  The interface is usually the
 | 
						|
      "key" attribute in the declaration.
 | 
						|
    - To find specific implementation of each Manager or
 | 
						|
      Adapter, look at the javadoc for the actual class.  The 
 | 
						|
      class can be found in the <class> element.
 | 
						|
    - To find out the configuration parameters for each Manager 
 | 
						|
      or Adapter, look at the javadoc for the actual implementation
 | 
						|
      class.  It should be documented in the description of the 
 | 
						|
      class.
 | 
						|
    - To know more about the components.xml in general, look for
 | 
						|
      the javadoc for ComponentLocator.java.
 | 
						|
 | 
						|
  If you found that the Manager or Adapter are not properly 
 | 
						|
  documented, please contact the author.
 | 
						|
-->
 | 
						|
<components.xml>
 | 
						|
    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
 | 
						|
        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
 | 
						|
        <checker name="EncryptionSecretKeyChecker" class="com.cloud.utils.crypt.EncryptionSecretKeyChecker"/>
 | 
						|
        <checker name="DatabaseIntegrityChecker" class="com.cloud.upgrade.DatabaseIntegrityChecker"/>
 | 
						|
        <checker name="DatabaseUpgradeChecker" class="com.cloud.upgrade.DatabaseUpgradeChecker"/>
 | 
						|
    </system-integrity-checker>
 | 
						|
 | 
						|
    <interceptor library="com.cloud.configuration.DefaultInterceptorLibrary"/>
 | 
						|
    <management-server class="com.cloud.server.ManagementServerExtImpl" library="com.cloud.configuration.PremiumComponentLibrary">
 | 
						|
        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl">
 | 
						|
             <param name="premium">true</param>
 | 
						|
        </dao>
 | 
						|
        <adapters key="com.cloud.agent.manager.allocator.HostAllocator">
 | 
						|
            <adapter name="FirstFitRouting" class="com.cloud.agent.manager.allocator.impl.FirstFitRoutingAllocator"/>
 | 
						|
            <!--adapter name="FirstFitRouting" class="com.cloud.agent.manager.allocator.impl.RecreateHostAllocator"/-->
 | 
						|
            <!--adapter name="FirstFit" class="com.cloud.agent.manager.allocator.impl.FirstFitAllocator"/-->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.storage.allocator.StoragePoolAllocator">
 | 
						|
            <adapter name="LocalStorage" class="com.cloud.storage.allocator.LocalStoragePoolAllocator"/>
 | 
						|
            <adapter name="Storage" class="com.cloud.storage.allocator.FirstFitStoragePoolAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.agent.manager.allocator.PodAllocator">
 | 
						|
            <adapter name="User First" class="com.cloud.agent.manager.allocator.impl.UserConcentratedAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.consoleproxy.ConsoleProxyAllocator">
 | 
						|
            <adapter name="Balance" class="com.cloud.consoleproxy.ConsoleProxyBalanceAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.guru.NetworkGuru">
 | 
						|
            <!--
 | 
						|
                 NOTE: The order of those gurus implicates priority of network traffic types the guru implements.
 | 
						|
                 The upper the higher priority. It effects listTafficTypeImplementors API which returns impelmentor
 | 
						|
                 of a specific network traffic.
 | 
						|
                 A fair question is, if two gurus implement the same two network traffic types, but these traffic types
 | 
						|
                 have cross priority, how to rank them? For example:
 | 
						|
                    GuruA (TrafficTypeA, TrafficTypeB)
 | 
						|
                    GuruB (TrafficTypeA, TrafficTypeB)
 | 
						|
                 we want GuruB.TrafficTypeB > GuruA.TrafficTypeB and GuruB.TrafficTypeA < GuruA.TrafficTypeA. As the priority
 | 
						|
                 implicated by order can not map to multiple traffic type, you have to do implement GuruC which inherits GuruB
 | 
						|
                 for TrafficTypeB. Then ranking them in order of:
 | 
						|
                    GuruC (TrafficTypeB)
 | 
						|
                    GuruA (TrafficTypeA, TrafficTypeB)
 | 
						|
                    GuruB (TrafficTypeA, TrafficTypeB)
 | 
						|
                 now GuruC represents TrafficTypeB with highest priority while GuruA represents TrafficTypeA with highest pirority.
 | 
						|
 | 
						|
                 However, above case barely happens.
 | 
						|
            -->
 | 
						|
 | 
						|
            <adapter name="StorageNetworkGuru" class="com.cloud.network.guru.StorageNetworkGuru"/>
 | 
						|
            <adapter name="ExternalGuestNetworkGuru" class="com.cloud.network.guru.ExternalGuestNetworkGuru"/>
 | 
						|
            <adapter name="PublicNetworkGuru" class="com.cloud.network.guru.PublicNetworkGuru"/>
 | 
						|
            <adapter name="PodBasedNetworkGuru" class="com.cloud.network.guru.PodBasedNetworkGuru"/>
 | 
						|
            <adapter name="ControlNetworkGuru" class="com.cloud.network.guru.ControlNetworkGuru"/>
 | 
						|
            <adapter name="DirectNetworkGuru" class="com.cloud.network.guru.DirectNetworkGuru"/>
 | 
						|
            <adapter name="DirectPodBasedNetworkGuru" class="com.cloud.network.guru.DirectPodBasedNetworkGuru"/>
 | 
						|
            <adapter name="OvsGuestNetworkGuru" class="com.cloud.network.guru.OvsGuestNetworkGuru"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.cluster.ClusterServiceAdapter">
 | 
						|
            <adapter name="ClusterService" class="com.cloud.cluster.ClusterServiceServletAdapter"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.storage.secondary.SecondaryStorageVmAllocator">
 | 
						|
            <adapter name="Balance" class="com.cloud.storage.secondary.SecondaryStorageVmDefaultAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.IpAddrAllocator">
 | 
						|
            <adapter name="Basic" class="com.cloud.network.ExteralIpAddressAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.server.auth.UserAuthenticator">
 | 
						|
            <adapter name="MD5" class="com.cloud.server.auth.MD5UserAuthenticator"/>
 | 
						|
            <adapter name="LDAP" class="com.cloud.server.auth.LDAPUserAuthenticator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.ha.Investigator">
 | 
						|
            <adapter name="SimpleInvestigator" class="com.cloud.ha.CheckOnAgentInvestigator"/>
 | 
						|
            <adapter name="VmwareInvestigator" class="com.cloud.ha.VmwareInvestigator"/>
 | 
						|
            <adapter name="XenServerInvestigator" class="com.cloud.ha.XenServerInvestigator"/>
 | 
						|
            <adapter name="PingInvestigator" class="com.cloud.ha.UserVmDomRInvestigator"/>
 | 
						|
			<adapter name="ManagementIPSysVMInvestigator" class="com.cloud.ha.ManagementIPSystemVMInvestigator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.ha.FenceBuilder">
 | 
						|
            <adapter name="XenServerFenceBuilder" class="com.cloud.ha.XenServerFencer"/>
 | 
						|
            <adapter name="KVMFenceBuilder" class="com.cloud.ha.KVMFencer"/>
 | 
						|
            <adapter name="VmwareFenceBuilder" class="com.cloud.ha.VmwareFencer"/>
 | 
						|
            <adapter name="OvmFenceBuilder" class="com.cloud.ovm.hypervisor.OvmFencer"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.hypervisor.HypervisorGuru">
 | 
						|
            <adapter name="XenServerGuru" class="com.cloud.hypervisor.XenServerGuru"/>
 | 
						|
            <adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.resource.Discoverer">
 | 
						|
            <adapter name="XCP Agent" class="com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer"/>
 | 
						|
            <adapter name="SecondaryStorage" class="com.cloud.storage.secondary.SecondaryStorageDiscoverer"/>
 | 
						|
            <adapter name="KVM Agent" class="com.cloud.hypervisor.kvm.discoverer.KvmServerDiscoverer"/>
 | 
						|
            <adapter name="VShpereServer" class="com.cloud.hypervisor.vmware.VmwareServerDiscoverer"/>
 | 
						|
            <adapter name="Bare Metal Agent" class="com.cloud.baremetal.BareMetalDiscoverer"/>
 | 
						|
            <adapter name="SCVMMServer" class="com.cloud.hypervisor.hyperv.HypervServerDiscoverer"/>            
 | 
						|
			<adapter name="Ovm Discover" class="com.cloud.ovm.hypervisor.OvmDiscoverer" />
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.deploy.DeploymentPlanner">
 | 
						|
            <adapter name="First Fit" class="com.cloud.deploy.FirstFitPlanner"/>
 | 
						|
            <adapter name="UserDispersing" class="com.cloud.deploy.UserDispersingPlanner"/>
 | 
						|
            <adapter name="UserConcentratedPod" class="com.cloud.deploy.UserConcentratedPodPlanner"/>
 | 
						|
            <adapter name="BareMetal Fit" class="com.cloud.deploy.BareMetalPlanner"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.alert.AlertAdapter">
 | 
						|
            <adapter name="ClusterAlert" class="com.cloud.alert.ClusterAlertAdapter"/>
 | 
						|
            <adapter name="ConsoleProxyAlert" class="com.cloud.alert.ConsoleProxyAlertAdapter"/>
 | 
						|
            <adapter name="SecondaryStorageVmAlert" class="com.cloud.alert.SecondaryStorageVmAlertAdapter"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.acl.SecurityChecker">
 | 
						|
            <adapter name="DomainChecker" class="com.cloud.acl.DomainChecker"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.NetworkElement">
 | 
						|
        	<adapter name="JuniperSRX" class="com.cloud.network.element.JuniperSRXExternalFirewallElement"/>
 | 
						|
        	<adapter name="Netscaler" class="com.cloud.network.element.NetscalerElement"/>
 | 
						|
        	<adapter name="F5BigIp" class="com.cloud.network.element.F5ExternalLoadBalancerElement"/>
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="Ovs" class="com.cloud.network.element.OvsElement"/>
 | 
						|
            <adapter name="ExternalDhcpServer" class="com.cloud.network.element.ExternalDhcpElement"/>
 | 
						|
            <adapter name="BareMetal" class="com.cloud.network.element.BareMetalElement"/>
 | 
						|
            <adapter name="ElasticLoadBalancerVm" class="com.cloud.network.element.ElasticLoadBalancerElement"/>
 | 
						|
            <adapter name="SecurityGroupProvider" class="com.cloud.network.element.SecurityGroupElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.cluster.agentlb.AgentLoadBalancerPlanner">
 | 
						|
            <adapter name="ClusterBasedAgentLbPlanner" class="com.cloud.cluster.agentlb.ClusterBasedAgentLoadBalancerPlanner"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.hypervisor.HypervisorGuru">
 | 
						|
            <adapter name="XenServerGuru" class="com.cloud.hypervisor.XenServerGuru"/>
 | 
						|
            <adapter name="KVMGuru" class="com.cloud.hypervisor.KVMGuru"/>
 | 
						|
            <adapter name="VMwareGuru" class="com.cloud.hypervisor.guru.VMwareGuru"/>
 | 
						|
            <adapter name="BareMetalGuru" class="com.cloud.baremetal.BareMetalGuru"/>
 | 
						|
            <adapter name="HypervGuru" class="com.cloud.hypervisor.guru.HypervGuru"/>            
 | 
						|
            <adapter name="OvmGuru" class="com.cloud.ovm.hypervisor.OvmGuru" />
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.agent.StartupCommandProcessor">
 | 
						|
            <adapter name="BasicAgentAuthorizer" class="com.cloud.agent.manager.authn.impl.BasicAgentAuthManager"/>
 | 
						|
        </adapters>
 | 
						|
        <pluggableservice name="VirtualRouterElementService" key="com.cloud.network.element.VirtualRouterElementService" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
    </management-server>
 | 
						|
 | 
						|
    <configuration-server class="com.cloud.server.ConfigurationServerImpl">
 | 
						|
        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl" singleton="false">
 | 
						|
             <param name="premium">true</param>
 | 
						|
        </dao>
 | 
						|
        <dao name="Snapshot policy defaults" class="com.cloud.storage.dao.SnapshotPolicyDaoImpl" singleton="false"/>
 | 
						|
        <dao name="DiskOffering configuration server" class="com.cloud.storage.dao.DiskOfferingDaoImpl" singleton="false"/>         
 | 
						|
        <dao name="ServiceOffering configuration server" class="com.cloud.service.dao.ServiceOfferingDaoImpl" singleton="false"/>
 | 
						|
        <dao name="host zone configuration server" class="com.cloud.dc.dao.DataCenterDaoImpl" singleton="false"/>
 | 
						|
        <dao name="host pod configuration server" class="com.cloud.dc.dao.HostPodDaoImpl" singleton="false"/>
 | 
						|
        <dao name="DomainDao" class="com.cloud.domain.dao.DomainDaoImpl" singleton="false"/>
 | 
						|
        <dao name="NetworkOfferingDao" class="com.cloud.offerings.dao.NetworkOfferingDaoImpl" singleton="false"/>
 | 
						|
        <dao name="DataCenterDao" class="com.cloud.dc.dao.DataCenterDaoImpl" singleton="false"/>
 | 
						|
        <dao name="NetworkDao" class="com.cloud.network.dao.NetworkDaoImpl" singleton="false"/>
 | 
						|
        <dao name="IpAddressDao" class="com.cloud.network.dao.IPAddressDaoImpl" singleton="false"/>     
 | 
						|
        <dao name="VlanDao" class="com.cloud.dc.dao.VlanDaoImpl" singleton="false"/>
 | 
						|
        <dao name="ResouceCountDao" class="com.cloud.configuration.dao.ResourceCountDaoImpl" singleton="false"/>
 | 
						|
        <dao name="AccountDao" class="com.cloud.user.dao.AccountDaoImpl" singleton="false"/>
 | 
						|
        <dao name="UserDao" class="com.cloud.user.dao.UserDaoImpl" singleton="false"/>
 | 
						|
        <dao name="NetworkOfferingServiceDao" class="com.cloud.offerings.dao.NetworkOfferingServiceMapDaoImpl" singleton="false"/>
 | 
						|
        <dao name="VirtualRouterProviderDao" class="com.cloud.network.dao.VirtualRouterProviderDaoImpl" singleton="false"/>
 | 
						|
        <dao name="IdentityDao" class="com.cloud.uuididentity.dao.IdentityDaoImpl" singleton="false"/>
 | 
						|
    </configuration-server>
 | 
						|
</components.xml>
 |