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