<?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="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="com.cloud.agent.manager.allocator.impl.FirstFitStorageAllocator">
              <param name="storage.overprovisioning.factor">2</param>
            </adapter>
            <adapter name="Storage" class="com.cloud.agent.manager.allocator.impl.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.xen.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>
