mirror of
https://github.com/apache/cloudstack
synced 2026-08-03 13:43:25 +00:00
1. A new implicit planner which extends the functionality provided by FirstFitPlanner. 2. Implicit planner can be used in either strict or preferred mode. In strict mode it tries to deploy a vm of a given account on a host on which vms of the account are already running. If no such host is found it'll search for an empty host to service the request. Otherwise the deploy vm request fails. 3. In preferred mode, if a host which is running vms of the account or an empty host isn't found, the planner then tries to deploy on any other host provided it isn't running implicitly dedicated strict vms of any other account. 4. Updated the createServiceOffering api to configure the details for the planner that the service offering is using. 5. Made db changes to store the service offering details for the planner. 6. Unit tests for testing the implicit planner functionality. 7. Marvin test for validating the functionality.
273 lines
9.1 KiB
XML
273 lines
9.1 KiB
XML
|
|
<!--
|
|
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.
|
|
-->
|
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:context="http://www.springframework.org/schema/context"
|
|
xmlns:tx="http://www.springframework.org/schema/tx"
|
|
xmlns:aop="http://www.springframework.org/schema/aop"
|
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
|
|
http://www.springframework.org/schema/tx
|
|
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
|
|
http://www.springframework.org/schema/aop
|
|
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
|
|
http://www.springframework.org/schema/context
|
|
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
|
|
|
|
|
|
<!--
|
|
|
|
OSS deployment configuration
|
|
|
|
OSS/non-OSS counter-exclusive components and related configurations should be put here
|
|
for example, configurationDaoImpl component, it has exclusive configuration settings in OSS and non-OSS deployment,
|
|
its component declaration should be put in both componentContext.xml.in and nonossComponentContext.xml.in, each with
|
|
independent configuration
|
|
|
|
-->
|
|
|
|
<bean id="databaseUpgradeChecker" class="com.cloud.upgrade.DatabaseUpgradeChecker" />
|
|
<bean id="configurationDaoImpl" class="com.cloud.configuration.dao.ConfigurationDaoImpl" />
|
|
|
|
<bean id="GlobalLoadBalancingRulesServiceImpl" class ="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" />
|
|
|
|
<!--
|
|
Nicira support components
|
|
-->
|
|
<bean id="niciraNvpDaoImpl" class="com.cloud.network.dao.NiciraNvpDaoImpl" />
|
|
<bean id="niciraNvpNicMappingDaoImpl" class="com.cloud.network.dao.NiciraNvpNicMappingDaoImpl" />
|
|
<bean id="niciraNvpRouterMappingDaoImpl" class="com.cloud.network.dao.NiciraNvpRouterMappingDaoImpl" />
|
|
<bean id="NiciraNvpGuestNetworkGuru" class="com.cloud.network.guru.NiciraNvpGuestNetworkGuru">
|
|
<property name="name" value="NiciraNvpGuestNetworkGuru"/>
|
|
</bean>
|
|
<bean id="NiciraNvp" class="com.cloud.network.element.NiciraNvpElement">
|
|
<property name="name" value="NiciraNvp"/>
|
|
</bean>
|
|
|
|
<!--
|
|
Midonet support components
|
|
-->
|
|
<bean id="MidoNetGuestNetworkGuru" class="com.cloud.network.guru.MidoNetGuestNetworkGuru">
|
|
<property name="name" value="MidoNetGuestNetworkGuru"/>
|
|
</bean>
|
|
<bean id="MidoNetElement" class="com.cloud.network.element.MidoNetElement">
|
|
<property name="name" value="MidoNetElement"/>
|
|
</bean>
|
|
|
|
<!--
|
|
|
|
Deployment configurations of various adapters
|
|
|
|
It determines whether or not a adapter is activated or how it is loaded in order in its managing provider,
|
|
|
|
-->
|
|
|
|
<!-- Security adapters -->
|
|
<bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="SHA256SaltedUserAuthenticator"/>
|
|
<ref bean="MD5UserAuthenticator"/>
|
|
<ref bean="LDAPUserAuthenticator"/>
|
|
<ref bean="PlainTextUserAuthenticator"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
<bean id="userPasswordEncoders" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="SHA256SaltedUserAuthenticator"/>
|
|
<ref bean="MD5UserAuthenticator"/>
|
|
<ref bean="LDAPUserAuthenticator"/>
|
|
<ref bean="PlainTextUserAuthenticator"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="securityCheckers" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="domainChecker"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Resource discoverers -->
|
|
<bean id="resourceDiscoverers" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="XcpServerDiscoverer"/>
|
|
<ref bean="SecondaryStorageDiscoverer"/>
|
|
<ref bean="KvmServerDiscoverer"/>
|
|
<ref bean="LxcServerDiscoverer"/>
|
|
|
|
<!--
|
|
<ref bean="BareMetalDiscoverer"/>
|
|
-->
|
|
|
|
<ref bean="OvmDiscoverer"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- HA adapters -->
|
|
<bean id="haInvestigators" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="CheckOnAgentInvestigator"/>
|
|
<ref bean="XenServerInvestigator"/>
|
|
<ref bean="UserVmDomRInvestigator"/>
|
|
<ref bean="ManagementIPSystemVMInvestigator"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="haFenceBuilders" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="XenServerFencer"/>
|
|
<ref bean="KVMFencer"/>
|
|
<ref bean="OvmFencer"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Deployment/allocation adapters -->
|
|
<bean id="deploymentPlanners" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="FirstFitPlanner" />
|
|
<ref bean="UserDispersingPlanner" />
|
|
<ref bean="UserConcentratedPodPlanner" />
|
|
<ref bean="ImplicitDedicationPlanner" />
|
|
<!--
|
|
<ref bean="BareMetalPlanner" />
|
|
-->
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="podAllocators" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="UserConcentratedAllocator"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="hostAllocators" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="FirstFitRouting"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="storagePoolAllocators" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="LocalStoragePoolAllocator"/>
|
|
<ref bean="clusterScopeStoragePoolAllocator"/>
|
|
<ref bean="zoneWideStoragePoolAllocator"/>
|
|
<ref bean="garbageCollectingStoragePoolAllocator"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Networking adapters -->
|
|
<bean id="ipDeployers" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="elasticLoadBalancerElement"/>
|
|
<ref bean="VirtualRouter"/>
|
|
<ref bean="VpcVirtualRouter"/>
|
|
<ref bean="NiciraNvp"/>
|
|
<ref bean="InternalLbVm"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="dhcpProviders" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="VirtualRouter"/>
|
|
<ref bean="VpcVirtualRouter"/>
|
|
<!--
|
|
<ref bean="BareMetalDhcp"/>
|
|
-->
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="networkGurus" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="StorageNetworkGuru"/>
|
|
<ref bean="ExternalGuestNetworkGuru"/>
|
|
<ref bean="PublicNetworkGuru"/>
|
|
<ref bean="PodBasedNetworkGuru"/>
|
|
<ref bean="DirectPodBasedNetworkGuru"/>
|
|
<ref bean="ControlNetworkGuru"/>
|
|
<ref bean="DirectNetworkGuru"/>
|
|
<ref bean="OvsGuestNetworkGuru"/>
|
|
<ref bean="PrivateNetworkGuru"/>
|
|
<ref bean="NiciraNvpGuestNetworkGuru"/>
|
|
<ref bean="MidoNetGuestNetworkGuru"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="networkElements" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="VirtualRouter"/>
|
|
<ref bean="Ovs"/>
|
|
<ref bean="SecurityGroupProvider"/>
|
|
<ref bean="VpcVirtualRouter"/>
|
|
<ref bean="NiciraNvp" />
|
|
<ref bean="MidoNetElement"/>
|
|
<ref bean="InternalLbVm"/>
|
|
<!--
|
|
<ref bean="BareMetalDhcp"/>
|
|
<ref bean="BareMetalPxe"/>
|
|
<ref bean="BareMetalUserdata"/>
|
|
-->
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!--
|
|
AffinityGroup Processors
|
|
-->
|
|
<bean id="HostAntiAffinityProcessor" class="org.apache.cloudstack.affinity.HostAntiAffinityProcessor">
|
|
<property name="name" value="HostAntiAffinityProcessor"/>
|
|
<property name="type" value="host anti-affinity"/>
|
|
</bean>
|
|
|
|
<bean id="affinityProcessors" class="com.cloud.utils.component.AdapterList">
|
|
<property name="Adapters">
|
|
<list>
|
|
<ref bean="HostAntiAffinityProcessor" />
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
</beans>
|