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

(Updated May 16, 2013, 1:15 p.m.)


Review request for cloudstack and Prachi Damle.


Description (updated)
-------

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.
7. Marvin test for validating the planner.


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 86124ea 
  test/integration/component/test_implicit_planner.py PRE-CREATION 
  tools/marvin/marvin/integration/lib/base.py ecdc841 

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