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