mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
At this point, the mgmt server comes up, loading the Nexus related modules without dying. Description: 1) Added a new properties file for Cisco N1kv VSM commands: cisconexusvsm_commands.properties.in 2) Added the CiscoNexusVSMElement to the components.xml file. 3) Modified CiscoNexusVSMElement to implement NetworkElement. The NetworkElement interface functions are not relevant to the N1KV VSM, so we override them with noops. 4) Added an addDao() of CiscoNexusVSMDeviceDaoImpl in populateDaos(), else we'd run into a failure to look up the VSM's dao when the mgmt server is starting up: com.cloud.utils.exception.CloudRuntimeException: Unable to find DAO com.cloud.network.dao.CiscoNexusVSMDeviceDao 5) Also added the CiscoNexusVSMElementService in populateServices(), and modified CiscoNexusVSMElement to implement Manager as well. 6) populateServices() was running into an exception that indicated that it was unable to find a commands.properties file for the cisco n1kv vsm service. Fixed it by changing getProperties() in CiscoNexusVSMElement to return the correct string "cisconexusvsm_commands.properties", and putting in an @Override for getProperties() in CiscoNexusVSMElement. Also fixed up all the other functions in CiscoNexusVSMElement that needed to have @Override. Also updated build/developers.xml with this file location. And did other small cleanup. 7) More clean up in CiscoNexusVSMDeviceManagerImpl. Conflicts: server/src/com/cloud/configuration/DefaultComponentLibrary.java
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.PremiumDatabaseUpgradeChecker"/>
|
|
</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="SecurityGroupProvider" class="com.cloud.network.element.SecurityGroupElement"/>
|
|
<adapter name="CiscoNexus1000vVSM" class="com.cloud.network.element.CiscoNexusVSMElement"/>
|
|
</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>
|