Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Deleting an account will delete all the VMs, snapshots, templates, etc. of that account, and also removes the dedication of host, cluster or pod to that account.
  2. Deleting a domain, will remove the dedication from the hosts, clusters or pods (if dedicated).  

Host Tags with Explicit and Implicit Dedication

...

  1. If Host Tag is provided and SO Implicit Dedication Flag is ON and DeployVm dedication Flag OFF## is required, Host which is tagged as well as implicitly dedicated, will be allocated. If not found, fail the request. 
  2. If host tag is provided , SO Dedication Flag OFF and DeployVm dedication Flag OFF## NO dedication is required, Host which is tagged but not implicitly or explicitly dedicated, will be allocated.  If not found, fail the request. 
  3. If host tag is provided , SO Dedication Flag OFF and DeployVm dedication Flag ON## Explicit dedication is required, Host which is tagged but not implicitly or as well as explicitly dedicated, will be allocated.  If not found, fail the request. 

...

  1. If VM to be migrated is non-dedicated## : 
    1. if destination host is implicitly or explicitly dedicated, migrate it to that host, but an alert is generated
    .
    1. if destination host is non-dedicated, migrate it to the destination host.
  2. If VM to be migrated is dedicated##
    1. if destination host is implicitly or explicitly dedicated to the same account, migrate it to that host.
    2. if destination host is implicitly or explicitly dedicated to different account, migrate it to that host, but an alert is generated
    3. if destination host is non-dedicated, migrate it to that host but an alert is generated.

...

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 ExplicitDedicationProcessor will implement AffinityGroupProcessor adapter and  ImplicitDedicationPlanner will implement a deployment planner interface.

...

APIs into CloudStack, the DedicatedResourceManager will be responsible for thread scheduling and the ExplicitDedicationProcessor will implement AffinityGroupProcessor adapter and  ImplicitDedicationPlanner will implement a deployment planner interface.

Ways to achieve Dedication:

  • To achieve Explicit Dedication: Create an Affinity Group of type "explicit dedication". Use that AG to deploy a VM.
  • To achieve Implicit Dedication: Create a Service Offering with Implicit dedication planner. Use that SO to deploy a VM.

Explicit Dedication Design

  1. New Admin APIs to dedicate Zones/Pods/Clusters/Hosts to a domain or account (these APIs will come in a separate plugin)
  2. list affinity types: Add a new type: explicit dedication
  3. User should be able to create affinity groups based on the explicit dedication type
  4. User can associate above affinity group to VM during deployment.
  5. A new ExplicitDedicationProcessor plugin that implements AffinityGroupProcessor adapter, 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).
  6. The Deployment Planning Manager will do the following:
    1.  Processors: Call the ExplicitDedicationProcessor to process the dedication request based on the explicitly dedicated resources for the user.
    2.  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. 
    3.  Allocators: Call Allocators to match the requirement to explicit dedication.

...

Default Processor will be modified to make sure that dedicated resources are not picked, when dedication is NOT required.

Implicit Dedication Design

  1. Admin should be able to choose a planner while creating a ServiceOfferingService Offering.
  2. In Service Offering the list of planners will be shown, which include the new planner for Implicit Dedication: ImplicitDedicationPlanner
  3. If ImplicitDedicationPlanner is selected, a new pluggable UI for new API configurePlanner is shown up.
  4. configurePlanner API will take in name-value parameters for implicitDedication mode as input.
  5.  Admin can set the name-value parameter for 
    1. Strict Implicit Dedication as  "implicitDedicationMode = Strict" 
    2. Preferred Implicit Dedication as "implicitDedicationMode = Preferred"
  6. These parameters will get stored in reference to the service_offering_id.
  7. ImplicitDedicationPlanner takes the above parameters as input and  set the scope of the plan of the VM to choose implicitly dedicated resources.

New Planner

...

: ImplicitDedicationPlanner

New API

...

: configurePlanner

New Parameter

...

: ImplicitDedicationMode

Change in the Existing Private Zone functionality:

...