<?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>
  <management-server class="com.vmops.server.ManagementServerImpl">
    <dao name="domain router" class="com.cloud.vm.dao.DomainRouterDaoImpl" />
    <dao name="host" class="com.cloud.host.dao.HostDaoImpl" />
    <dao name="VM Instance" class="com.cloud.vm.dao.VMInstanceDaoImpl" />
    <dao name="User VM" class="com.cloud.vm.dao.UserVmDaoImpl" />
    <dao name="ServiceOffering" class="com.cloud.service.dao.ServiceOfferingDaoImpl">
      <param name="cache.size">50</param>
      <param name="cache.time.to.live">-1</param>
    </dao>
    <dao name="DiskOffering" class="com.cloud.storage.dao.DiskOfferingDaoImpl" />
    <dao name="VMDisk" class="com.cloud.storage.dao.VmDiskDaoImpl" />
    <dao name="host zone" class="com.cloud.dc.dao.DataCenterDaoImpl">
      <param name="cache.size">50</param>
      <param name="cache.time.to.live">-1</param>
    </dao>
    <dao name="host pod" class="com.cloud.dc.dao.HostPodDaoImpl">
      <param name="cache.size">50</param>
      <param name="cache.time.to.live">-1</param>
    </dao>
    <dao name="vlan" class="com.cloud.dc.dao.VlanDaoImpl">
    </dao>
    <dao name="Volume" class="com.cloud.storage.dao.VolumeDaoImpl" />
    <dao name="Events" class="com.cloud.event.dao.EventDaoImpl" />
    <dao name="VM Template" class="com.cloud.storage.dao.VMTemplateDaoImpl">
      <param name="cache.size">50</param>
      <param name="cache.time.to.live">-1</param>
      <param name="routing.uniquename">routing</param>
    </dao>
    <dao name="User" class="com.cloud.user.dao.UserDaoImpl">
      <param name="cache.size">5000</param>
      <param name="cache.time.to.live">300</param>
    </dao>
    <dao name="UserStats" class="com.cloud.user.dao.UserStatisticsDaoImpl" />
    <dao name="VmDiskStats" class="com.cloud.user.dao.VmDiskStatisticsDaoImpl" />
    <dao name="Disk Template" class="com.cloud.storage.dao.DiskTemplateDaoImpl">
      <param name="cache.size">50</param>
      <param name="cache.time.to.live">-1</param>
    </dao>
    <dao name="Firewall Rules" class="com.cloud.network.dao.FirewallRulesDaoImpl" />
    <dao name="Security Group" class="com.cloud.network.dao.SecurityGroupDaoImpl" />
    <dao name="Load Balancer" class="com.cloud.network.dao.LoadBalancerDaoImpl" />
    <dao name="Network Rule Config" class="com.cloud.network.dao.NetworkRuleConfigDaoImpl" />
    <dao name="Security Group Mapping" class="com.cloud.network.dao.SecurityGroupVMMapDaoImpl" />
    <dao name="Load Balancer Mapping" class="com.cloud.network.dao.LoadBalancerVMMapDaoImpl" />
    <dao name="IP Addresses" class="com.cloud.network.dao.IPAddressDaoImpl" />
    <dao name="Datacenter IP Addresses" class="com.cloud.dc.dao.DataCenterIpAddressDaoImpl" />
    <dao name="Pricing" class="com.cloud.pricing.dao.PricingDaoImpl" />
    <dao name="Usage" class="com.cloud.usage.dao.UsageDaoImpl" />
    <dao name="UsageJob" class="com.cloud.usage.dao.UsageJobDaoImpl" />
    <dao name="Alert" class="com.cloud.alert.dao.AlertDaoImpl" />
    <dao name="Capacity" class="com.cloud.capacity.dao.CapacityDaoImpl" />
    <dao name="Domain" class="com.cloud.domain.dao.DomainDaoImpl" />
    <dao name="Account" class="com.cloud.user.dao.AccountDaoImpl" />
    <dao name="Limit" class="com.cloud.configuration.dao.LimitDaoImpl" />
    <dao name="UserAccount" class="com.cloud.user.dao.UserAccountDaoImpl" />
    <dao name="Usage IPAddress" class="com.cloud.usage.dao.UsageIPAddressDaoImpl" />
    <dao name="VM Template Host" class="com.cloud.storage.dao.VMTemplateHostDaoImpl" />
    <dao name="VM Template Swift" class="com.cloud.storage.dao.VMTemplateSwiftDaoImpl" />
    <dao name="Upload" class="com.cloud.storage.dao.UploadDaoImpl" />
    <dao name="VM Template Pool" class="com.cloud.storage.dao.VMTemplatePoolDaoImpl" />
    <dao name="Launch Permission" class="com.cloud.storage.dao.LaunchPermissionDaoImpl" />
    <dao name="Configuration" class="com.cloud.configuration.dao.ConfigurationDaoImpl" />
    <dao name="HA" class="com.cloud.ha.dao.HighAvailabilityDaoImpl" />
    <dao name="Console Proxy" class="com.cloud.vm.dao.ConsoleProxyDaoImpl" />
    <dao name="Upgrade" class="com.cloud.maint.dao.AgentUpgradeDaoImpl" />
    <dao name="Management Server Host" class="com.cloud.cluster.dao.ManagementServerHostDaoImpl" />
    <dao name="Snapshot" class="com.cloud.storage.dao.SnapshotDaoImpl" />
    <dao name="ScheduledVMBackup" class="com.cloud.user.dao.ScheduledVMBackupDaoImpl" />
    <dao name="AsyncJobDao" class="com.cloud.async.dao.AsyncJobDaoImpl" />
    <dao name="SyncQueueDao" class="com.cloud.async.dao.SyncQueueDaoImpl" />
    <dao name="SyncQueueItemDao" class="com.cloud.async.dao.SyncQueueItemDaoImpl" />
    <dao name="GuestOSDao" class="com.cloud.storage.dao.GuestOSDaoImpl" />

    <dao name="StoragePoolDao" class="com.cloud.storage.dao.StoragePoolDaoImpl" />
    <dao name="StoragePoolHostDao" class="com.cloud.storage.dao.StoragePoolHostDaoImpl" />
    <dao name="HostDetails" class="com.cloud.host.dao.DetailsDaoImpl" />



    <adapters key="com.cloud.agent.manager.allocator.HostAllocator">
      <adapter name="FirstFitRouting"
        class="com.cloud.agent.manager.allocator.impl.FirstFitRoutingAllocator" />
      <adapter name="FirstFit"
        class="com.cloud.agent.manager.allocator.impl.FirstFitAllocator" />
    </adapters>
    <adapters key="com.cloud.agent.manager.allocator.StorageAllocator">
      <adapter name="Storage"
        class="org.apache.cloudstack.storage.allocator.RandomStoragePoolAllocator">
        <param name="storage.overprovisioning.factor">2</param>
      </adapter>
    </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.server.auth.UserAuthenticator">
      <adapter name="MD5" class="com.cloud.server.auth.MD5UserAuthenticator" />
    </adapters>
    <adapters key="com.cloud.ha.Investigator">
      <adapter name="SimpleInvestigator" class="com.cloud.ha.CheckOnAgentInvestigator" />
      <adapter name="PingInvestigator" class="com.cloud.ha.InvestigatorImpl" />
    </adapters>
    <adapters key="com.cloud.ha.FenceBuilder">
      <adapter name="StorageFenceBuilder" class="com.cloud.ha.StorageFence" />
    </adapters>
    <adapters key="com.cloud.cluster.ClusterServiceAdapter">
      <adapter name="ClusterService" class="com.cloud.cluster.ClusterServiceServletAdapter" />
    </adapters>
    <adapters key="com.cloud.resource.Discoverer">
      <adapter name="XenServer" class="com.cloud.resource.xenserver.XenServerDiscoverer" />
      <adapter name="SecondaryStorage"
        class="com.cloud.storage.secondary.SecondaryStorageDiscoverer" />
      <adapter name="DummyHostServer" class="com.cloud.resource.DummyHostDiscoverer" />
    </adapters>
    <manager name="account manager" class="com.cloud.user.AccountManagerImpl">
    </manager>
    <manager name="agent manager" class="com.cloud.agent.manager.ClusteredAgentManagerImpl">
    </manager>
    <manager name="configuration manager" class="com.cloud.configuration.ConfigurationManagerImpl">
      <param name="premium">true</param>
    </manager>
    <manager name="network manager" class="com.cloud.network.NetworkManagerImpl">
    </manager>
    <manager name="download manager" class="com.cloud.storage.download.DownloadMonitorImpl">
    </manager>
    <manager name="upload manager" class="com.cloud.storage.upload.UploadMonitorImpl">
    </manager>
    <manager name="console proxy manager" class="com.cloud.consoleproxy.ConsoleProxyManagerImpl">
    </manager>
    <manager name="vm manager" class="com.cloud.vm.UserVmManagerImpl" />
    <manager name="upgrade manager" class="com.cloud.maint.UpgradeManagerImpl">
    </manager>
    <manager name="StorageManager" class="com.cloud.storage.StorageManagerImpl">
    </manager>
    <manager name="HA Manager" class="com.cloud.ha.HighAvailabilityManagerExtImpl">
    </manager>
    <manager name="Cluster Manager" class="com.cloud.cluster.ClusterManagerImpl">
    </manager>
    <manager name="SyncQueueManager" class="com.cloud.async.SyncQueueManagerImpl">
    </manager>
    <manager name="AsyncJobManager" class="com.cloud.async.AsyncJobManagerImpl">
    </manager>
    <manager name="AsyncJobExecutorContext" class="com.cloud.async.AsyncJobExecutorContextImpl">
    </manager>

    <manager name="Alert Manager" class="com.cloud.alert.AlertManagerImpl">
    </manager>
    <manager name="Template Manager" class="com.cloud.template.TemplateManagerImpl">
    </manager>
    <adapters key="com.cloud.alert.AlertAdapter">
      <adapter name="ClusterAlert" class="com.cloud.alert.ClusterAlertAdapter" />
      <adapter name="ConsoleProxyAlert" class="com.cloud.alert.ConsoleProxyAlertAdapter" />
    </adapters>
  </management-server>

</components.xml>
