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

(Updated May 28, 2013, 1:46 a.m.)


Review request for cloudstack, Devdeep Singh and Prachi Damle.


Changes
-------

Updated Diff with Prachi's suggestion on List API changes.
For additional changes on adding 'isDedicated' flag to existing list APIs of 
host/cluster/pod/zone, and enhancing the APIs to get details about which 
account the resource is dedicated to,  I will create issues on Jira and track 
them separately. 


Description
-------

Review Request for "Dedicated Resources: Explicit Dedication"
=============================================================

Functional Spec for the above Private zone, pod, cluster or host, can be found 
here: 
https://cwiki.apache.org/CLOUDSTACK/dedicated-resources-private-zone-pod-cluster-host-functional-spec.html
This patch request is a part of this feature.

This feature allows a user to deploy VMs only in the resources dedicated to his 
account or domain.

1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or 
domain.
   Implemented 12 new APIs to dedicate/list/release resources:
   - dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
   - dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
   - dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a 
Cluster
   - dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. 
clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be 
further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then 
resources(eg. Pod) above that cannot be dedicated to different accounts/domain 
(not belonging to the same domain) 
5. To use Explicit dedication, user needs to create an Affinity Group of type 
'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the 
affinity group of type 'Explicit Dedication' for a deployment of a VM that 
demands dedicated resources.
   This processor implements the AffinityGroupProcessor adapter. This processor 
will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if 
available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources 
available with the parent domains iff no dedicated resources are available with 
the current user's account or 
   domain. 
10. A VM (without dedication) can be deployed on shared host but not on 
dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit 
dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has 
been added.
14. Added the right permissions in commands.properties
15. Unit tests:  For the new APIs and Service, added unit tests under : 
plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if 
vm is deployed on the dedicated host.

Created 2 patches for the bug:
Patch 2 is for files that are modifying the files that have windows line 
endings. git am will not work for such files in a single patch.


This addresses bug CLOUDSTACK-681.


Diffs (updated)
-----

  api/src/com/cloud/dc/DedicatedResources.java PRE-CREATION 
  api/src/com/cloud/event/EventTypes.java da96294 
  client/pom.xml 0c38ecb 
  client/tomcatconf/applicationContext.xml.in edf83a9 
  client/tomcatconf/commands.properties.in fd5479f 
  client/tomcatconf/componentContext.xml.in e946f44 
  
engine/orchestration/src/org/apache/cloudstack/platform/orchestration/CloudOrchestrator.java
 963e4d7 
  engine/schema/src/com/cloud/dc/dao/ClusterDao.java 3ce0798 
  engine/schema/src/com/cloud/dc/dao/ClusterDaoImpl.java 86dc65e 
  engine/schema/src/com/cloud/domain/dao/DomainDaoImpl.java 9460a73 
  engine/schema/src/com/cloud/host/dao/HostDao.java 98bdcb4 
  engine/schema/src/com/cloud/host/dao/HostDaoImpl.java 07a4232 
  plugins/affinity-group-processors/explicit-dedication/pom.xml PRE-CREATION 
  
plugins/affinity-group-processors/explicit-dedication/src/org/apache/cloudstack/affinity/ExplicitDedicationProcessor.java
 PRE-CREATION 
  plugins/dedicated-resources/pom.xml PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/DedicateClusterCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/DedicateHostCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/DedicatePodCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/DedicateZoneCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ListDedicatedClustersCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ListDedicatedHostsCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ListDedicatedPodsCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ListDedicatedZonesCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ReleaseDedicatedClusterCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ReleaseDedicatedHostCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ReleaseDedicatedPodCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/commands/ReleaseDedicatedZoneCmd.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/response/DedicateClusterResponse.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/response/DedicateHostResponse.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/response/DedicatePodResponse.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/api/response/DedicateZoneResponse.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/manager/DedicatedResourceManagerImpl.java
 PRE-CREATION 
  
plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/services/DedicatedService.java
 PRE-CREATION 
  
plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java
 PRE-CREATION 
  plugins/dedicated-resources/test/resource/dedicatedContext.xml PRE-CREATION 
  plugins/pom.xml 2efa248 
  server/src/com/cloud/api/query/QueryManagerImpl.java c586a7b 
  server/src/com/cloud/configuration/ConfigurationManagerImpl.java 214e292 
  server/src/com/cloud/dc/DedicatedResourceVO.java PRE-CREATION 
  server/src/com/cloud/dc/dao/DedicatedResourceDao.java PRE-CREATION 
  server/src/com/cloud/dc/dao/DedicatedResourceDaoImpl.java PRE-CREATION 
  server/src/com/cloud/resource/ResourceManagerImpl.java 25f451e 
  server/src/com/cloud/user/AccountManagerImpl.java 7421422 
  server/src/com/cloud/user/DomainManagerImpl.java c451041 
  server/src/com/cloud/vm/UserVmManagerImpl.java 96b9529 
  server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java 
f862a2a 
  setup/db/create-schema.sql b1feb02 
  setup/db/db/schema-410to420.sql 435bb83 
  test/integration/component/test_explicit_dedication.py PRE-CREATION 
  tools/apidoc/gen_toc.py 793f720 

Diff: https://reviews.apache.org/r/11379/diff/


Testing
-------

Unittest: For the new APIs and Service, added unit tests under : 
plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is 
deployed on the dedicated host.
Rat Build Successful.


Thanks,

Saksham Srivastava

Reply via email to