mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			185 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.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.
 | 
						|
-->
 | 
						|
<!--
 | 
						|
  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>
 | 
						|
    <interceptor library="com.cloud.configuration.DefaultInterceptorLibrary"/>
 | 
						|
    <management-server class="com.cloud.network.NetworkManagerImpl" library="com.cloud.network.NetworkManagerTestComponentLibrary">
 | 
						|
        <dao name="Configuration configuration server" class="com.cloud.configuration.dao.ConfigurationDaoImpl">
 | 
						|
             <param name="premium">true</param>
 | 
						|
        </dao>
 | 
						|
        <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"/> -->
 | 
						|
            <adapter name="PrivateNetworkGuru" class="com.cloud.network.guru.PrivateNetworkGuru"/>
 | 
						|
            <!--<adapter name="NiciraNvpGuestNetworkGuru" class="com.cloud.network.guru.NiciraNvpGuestNetworkGuru"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.IpAddrAllocator">
 | 
						|
            <adapter name="Basic" class="com.cloud.network.ExternalIpAddressAllocator"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.NetworkElement">
 | 
						|
            <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="SecurityGroupProvider" class="com.cloud.network.element.SecurityGroupElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <!--<adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.FirewallServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.DhcpServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <adapter name="ExternalDhcpElement" class="com.cloud.network.element.ExternalDhcpElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.UserDataServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.SourceNatServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <!--<adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/>   -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.StaticNatServiceProvider">
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <!-- <adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.PortForwardingServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <!-- <adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.LoadBalancingServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.RemoteAccessVPNServiceProvider">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.Site2SiteVpnServiceProvider">
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.IpDeployer">
 | 
						|
            <adapter name="VirtualRouter" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
            <!-- <adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.ConnectivityProvider">
 | 
						|
            <!-- <adapter name="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.NetworkACLServiceProvider">
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
        <adapters key="com.cloud.network.element.VpcProvider">
 | 
						|
            <adapter name="VpcVirtualRouter" class="com.cloud.network.element.VpcVirtualRouterElement"/>
 | 
						|
        </adapters>
 | 
						|
 | 
						|
        <!--<manager name="OvsTunnelManager" key="com.cloud.network.ovs.OvsTunnelManager" class="com.cloud.network.ovs.OvsTunnelManagerImpl"/>-->
 | 
						|
        <!--<manager name="ElasticLoadBalancerManager" key="com.cloud.network.lb.ElasticLoadBalancerManager" class="com.cloud.network.lb.ElasticLoadBalancerManagerImpl"/>-->
 | 
						|
        <pluggableservice name="VirtualRouterElementService" key="com.cloud.network.element.VirtualRouterElementService" class="com.cloud.network.element.VirtualRouterElement"/>
 | 
						|
        <!-- <pluggableservice name="NiciraNvpElementService" key="com.cloud.network.element.NiciraNvpElementService" class="com.cloud.network.element.NiciraNvpElement"/> -->
 | 
						|
        <!--<dao name="OvsTunnelInterfaceDao" class="com.cloud.network.ovs.dao.OvsTunnelInterfaceDaoImpl" singleton="false"/> -->
 | 
						|
        <!--<dao name="OvsTunnelAccountDao" class="com.cloud.network.ovs.dao.OvsTunnelNetworkDaoImpl" singleton="false"/> -->
 | 
						|
        <!--<dao name="NiciraNvpDao" class="com.cloud.network.dao.NiciraNvpDaoImpl" singleton="false"/> -->
 | 
						|
        <!--<dao name="NiciraNvpNicMappingDao" class="com.cloud.network.dao.NiciraNvpNicMappingDaoImpl" singleton="false"/> -->
 | 
						|
        <!--<dao name="NiciraNvpRouterMappingDao" class="com.cloud.network.dao.NiciraNvpRouterMappingDaoImpl" singleton="false"/> -->
 | 
						|
        <!--<dao name="ElasticLbVmMapDao" class="com.cloud.network.lb.dao.ElasticLbVmMapDaoImpl" singleton="false"/> -->
 | 
						|
    </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"/>
 | 
						|
        <dao name="Site2SiteCustomerGatewayDao" class="com.cloud.network.dao.Site2SiteCustomerGatewayDaoImpl" singleton="false"/>
 | 
						|
        <dao name="Site2SiteVpnGatewayDao" class="com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl" singleton="false"/>
 | 
						|
        <dao name="Site2SiteVpnConnectionDao" class="com.cloud.network.dao.Site2SiteVpnConnectionDaoImpl" singleton="false"/>
 | 
						|
    </configuration-server>
 | 
						|
    
 | 
						|
    
 | 
						|
</components.xml>
 |