Versions Compared

Key

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

...

Host 1 is explicitly dedicated to domain D1, Host 2 is implicitly dedicated, and Host 3 is a shared host. Note: In this feature, we are assuming that host

Assumptions:

  1. Hosts can be implicitly dedicated

...

  1. . This is required to prevent unavailability of resources. 
  2. VM deployment will fail if both explicit dedication and implicit dedication are required.

SID-VM  : VM with Strict Implicit Dedication required  

...

Ways to achieve Dedication:

  • To Use achieve Explicit Dedication: Create an Affinity Group of type "explicit dedication". Use that AG to deploy a VM.
  • To Use achieve Implicit Dedication: Create a Service Offering with Implicit dedication planner. Choose which type of Implicit Dedication you want: 'strict' or preffered. Use that SO to deploy a VM.

...

Case 2: Deploy VM for account B with explicit dedication, processors 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.

Default Processor:

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 Service 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.

...

Change in the Existing Private Zone functionality:

In the current code of CloudStack, Zones can be dedicated to domains while creation. Users in that domain can deployVm only in that dedicated zone.

Change:

  1. Zones dedicated to a domain at the creation level will be considered as explicit dedication of zones. The functionality will be redirected to use explicit dedication affinity group when Vm (with explicit dedication) is deployed.
  2. All the Zones will be listed, and if explicit type affinity group is provided, deployment will only happen if any of the resource in that zone will be dedicated to that user's account or domain. Otherwise deployment can happen in shared resources.

API Changes

Following new APIs will be added:

...

       d)    ImplicitDedication     

   Note: Either "DomainId or AccountId" OR Or "ImplicitDedicationImplicit Dedication" can be provided as a parameter but not both. If neither of them specified, fail the request.

...

  • TBD
  • Pluggable UI when ImplicitDedicationPlanner is selected in ServiceOffering

DRS? 

* This is applicable only for placement operations through CloudStack. This implementation is to only support scenarios where the HV does not do HA or DRS.