-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11045/#review20520
-----------------------------------------------------------


Thanks for a clean patch and an extensive unit test. Have following review 
comments:

1) When we list the VMs on a host (List<UserVmVO> userVms = 
_vmDao.listByHostId(host);), also consider the VMs that are stopped on this 
host (lastHostId) but are still within skip.counting.hours [Such VMs can get 
started back on the same host] Refer the DeploymentPlanningManagerImpl:: 
checkHostReservationRelease method that does a similar check to see if any 
stopped VMs are within skip.counting.hours

2) checkHostSuitabilityForImplicitDedication - The planner in the 
serviceoffering can be null, it is an optional property now. So if it is null, 
you should check the if the global config vm.deployment.planner points to 
ImplicitDedicationPlanner



- Prachi Damle


On May 10, 2013, 4:09 p.m., Devdeep Singh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/11045/
> -----------------------------------------------------------
> 
> (Updated May 10, 2013, 4:09 p.m.)
> 
> 
> Review request for cloudstack and Prachi Damle.
> 
> 
> Description
> -------
> 
> Changes for implicitly dedicating a resource. This patch implements the 
> implicit dedication portion of the feature described in the following FS
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dedicated+Resources+-+Private+zone%2C+pod%2C+cluster%2C+host+Functional+Spec
> 
> Patch includes the following changes:
> 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.
> 
> 
> This addresses bug https://issues.apache.org/jira/browse/CLOUDSTACK-681.
> 
> 
> Diffs
> -----
> 
>   api/src/com/cloud/deploy/DeploymentPlanner.java eb56a59 
>   api/src/org/apache/cloudstack/api/ApiConstants.java f179aaa 
>   
> api/src/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java
>  c155b70 
>   client/pom.xml 197ba27 
>   client/tomcatconf/applicationContext.xml.in d5c61bb 
>   client/tomcatconf/componentContext.xml.in 8a45e5f 
>   engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java 
> PRE-CREATION 
>   engine/schema/src/com/cloud/service/ServiceOfferingVO.java fd31d30 
>   engine/schema/src/com/cloud/service/dao/ServiceOfferingDao.java 589de7c 
>   engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java 062103e 
>   engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDao.java 
> PRE-CREATION 
>   engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java 
> PRE-CREATION 
>   plugins/deployment-planners/implicit-dedication/pom.xml PRE-CREATION 
>   
> plugins/deployment-planners/implicit-dedication/src/com/cloud/deploy/ImplicitDedicationPlanner.java
>  PRE-CREATION 
>   
> plugins/deployment-planners/implicit-dedication/test/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java
>  PRE-CREATION 
>   plugins/pom.xml e49fac9 
>   server/src/com/cloud/configuration/ConfigurationManager.java 2ce3fa0 
>   server/src/com/cloud/configuration/ConfigurationManagerImpl.java d17b4d1 
>   server/test/com/cloud/vpc/MockConfigurationManagerImpl.java f02895c 
>   
> server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java 
> 7ffbe32 
>   setup/db/db/schema-410to420.sql 65ddaaa 
> 
> Diff: https://reviews.apache.org/r/11045/diff/
> 
> 
> Testing
> -------
> 
> Following tests were done:
> 1. Deployed an instance for an account created using a service offering using 
> implicit planner. Verified the host on which the first vm was deployed gets 
> picked up for subsequent deployment requests for that account (using service 
> offering with implicit planner).
> 2. If a deploy vm request is placed from another account, the host running 
> implicit vm of a different account isn't picked up.
> 3. Verified for a deployment request with implicit planner in strict mode, 
> first the planner looks for hosts running implicit vm of the account. If none 
> are available then empty hosts are tried. Otherwise deploy vm fails.
> 4. Verified for a deployment request with implicit planner in preferred mode, 
> first the planner looks for hosts running implicit vm of the account. If none 
> are available then empty hosts are tried. Then in tries on all hosts besides 
> the one running implicit strict vms of other account.
> 5. Unit tests to validate different scenarios.
> 6. Made sure there are no rat failures and patch applies cleanly.
> 
> 
> Thanks,
> 
> Devdeep Singh
> 
>

Reply via email to