----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/11379/#review21189 -----------------------------------------------------------
Commit 17267794adb2bab923fb20515a7b943780d61921 in branch refs/heads/master from Prachi Damle <pra...@cloud.com> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=1726779 ] CLOUDSTACK-681: Dedicated Resources - Explicit Dedication, Private zone, pod, cluster or host. <Patch1> 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. - ASF Subversion and Git Services On May 30, 2013, 6:20 a.m., Saksham Srivastava wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/11379/ > ----------------------------------------------------------- > > (Updated May 30, 2013, 6:20 a.m.) > > > Review request for cloudstack, Devdeep Singh and Prachi Damle. > > > 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 > ----- > > api/src/com/cloud/dc/DedicatedResources.java PRE-CREATION > api/src/com/cloud/event/EventTypes.java 6dfb1ab > 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 5a25732 > server/src/com/cloud/configuration/ConfigurationManagerImpl.java 79375f9 > 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 74bd6d0 > server/src/com/cloud/user/AccountManagerImpl.java e72005e > server/src/com/cloud/user/DomainManagerImpl.java 00a779e > server/src/com/cloud/vm/UserVmManagerImpl.java a734d44 > > server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java > f862a2a > setup/db/create-schema.sql b1feb02 > setup/db/db/schema-410to420.sql e081a25 > 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 > >