...
This feature will come as a separate plugin which will use the PluggableService to add the DedicatedResources feature APIs into CloudStack, the DedicatedResourceManager will be responsible for thread scheduling and the DedicatedResourcePlanner which will implement a deployment planner interface.
Explicit Dedication:
- New Admin APIs to dedicate Zones/Pods/Clusters/Hosts to a domain or account (these APIs will come in a separate plugin)
- list affinity types: Add a new type: explicit dedication
- User should be able to create affinity groups based on the explicit dedication type
- User can associate above affinity group to VM during deployment.
- A new ExplicitDedicationProcessor plugin that implements AffinityGroupProcessor adapter (see , will set deployment plan scope to the correct resource level (For AffinityGroupProcessor adapter see: https://cwiki.apache.org/confluence/display/CLOUDSTACK/FS+-+Affinity-Anti-affinity+groups) and
Image Removed set deploymentplan scope to the correct resource level. - The Deployment Planning Manager will call the ExplicitDedicationProcessor to process the dedication request.
Image Added).- The Deployment Planning Manager will do the following:
- Processors: Call the ExplicitDedicationProcessor to process the dedication request based on the explicitly dedicated resources for the user.
- Planners: Call Deployment Planner to drill down to the right set of clusters to look for placement based on explicitly dedicated clusters/hosts inside them.
- Allocators: Call Allocators to match the requirement to explicit dedication.
New Addition: ExplicitDedicationProcessor
This will implement the process to set scope of deployment plan to the correct resource level for planners to look into. The resource level is the
For Example:
Zone Z has Pods P1, P2. P1 has Clusters C1, C2 and P2 has Cluster C3
...
- To deploy VM for Acct B with explicit dedication, processor should set the scope of plan to Zone Z since the dedicated hosts are in Pod P1 and P2 , with parent being the zone itself. Also set the Cluster C2 in avoid set.
Modify Planners and Allocators:
API Changes:
Following new APIs will be added:
...