| <?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="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> |