You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Devdeep Singh <de...@citrix.com> on 2013/05/10 18:09:05 UTC

Review Request: Implicit dedication of resources to an account

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

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


Re: Review Request: Implicit dedication of resources to an account

Posted by Prachi Damle <pr...@citrix.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11045/#review20619
-----------------------------------------------------------

Ship it!


The changes in the patch look good. Please also add an integration test to deploy VM using a service offering that uses the ImplicitPlanner.

- Prachi Damle


On May 15, 2013, 2:08 p.m., Devdeep Singh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/11045/
> -----------------------------------------------------------
> 
> (Updated May 15, 2013, 2:08 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 86124ea 
> 
> 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
> 
>


Re: Review Request: Implicit dedication of resources to an account

Posted by Devdeep Singh <de...@citrix.com>.
-----------------------------------------------------------
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


Re: Review Request: Implicit dedication of resources to an account

Posted by Devdeep Singh <de...@citrix.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11045/
-----------------------------------------------------------

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


Review request for cloudstack and Prachi Damle.


Changes
-------

Added a marvin test for validating implicit planner too.


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 (updated)
-----

  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


Re: Review Request: Implicit dedication of resources to an account

Posted by Devdeep Singh <de...@citrix.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11045/
-----------------------------------------------------------

(Updated May 15, 2013, 2:08 p.m.)


Review request for cloudstack and Prachi Damle.


Changes
-------

Updated the patch after incorporating both the review comments. All verified that the patch applies cleanly and is rat clean.


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 (updated)
-----

  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 

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


Re: Review Request: Implicit dedication of resources to an account

Posted by Devdeep Singh <de...@citrix.com>.

> On May 14, 2013, 12:16 a.m., Prachi Damle wrote:
> > 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
> > 
> >

Incorporated both the review comments in the updated patch. Kindly take a look.


- Devdeep


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


On May 15, 2013, 2:08 p.m., Devdeep Singh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/11045/
> -----------------------------------------------------------
> 
> (Updated May 15, 2013, 2:08 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 86124ea 
> 
> 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
> 
>


Re: Review Request: Implicit dedication of resources to an account

Posted by Devdeep Singh <de...@citrix.com>.

- Devdeep


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


On May 15, 2013, 2:08 p.m., Devdeep Singh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/11045/
> -----------------------------------------------------------
> 
> (Updated May 15, 2013, 2:08 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 86124ea 
> 
> 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
> 
>


Re: Review Request: Implicit dedication of resources to an account

Posted by Prachi Damle <pr...@citrix.com>.
-----------------------------------------------------------
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
> 
>