Versions Compared

Key

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

...

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

...

  • Dedicating Resources (Explicit or Implicit)**  
    • dedicateZone
    • dedicatePoddedicatePoe
    • dedicateCluster
    • dedicateHost

...

      Parameters include:
       a)    ZoneId/PodId/ClusterId/HostId
       b)    DomainId
       c)    AccountId

         dd)    ImplicitDedication      

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

  • Release dedication of resources **
    • releaseDedicatedZone
    • releaseDedicatedPod
    • releaseDedicatedCluster
    • releaseDedicatedHost

...

  • Listing Dedicated resources per account/domain**
    • listDedicatedZones
    • listDedicatedPods
    • listDedicatedClusters
    • listDedicatedHosts

...

       d)    ImplicitDedication flag

Existing API modification:

  • createServiceOffering:  Request Parameter Addition:

...

Parameter Name

...

Description

...

Required

...

isdedicated

...

...

DB Changes:

  1. New Table : dedicated_resources (id, uuid, zone_id, pod_id, cluster_id, host_id, domain_id, account_id)
       || Field || Type || Null || Key || Default || Extra ||

    id

    bigint(20) unsigned

    NO

    PRI

    NULL

    auto_increment

    uuid

    varchar(40)

    YES

    UNI

    NULL

     

    data_center_id

    bigint(20) unsigned

    NO

    MUL

    NULL

     

    pod_id

    bigint(20) unsigned

    NO

    MUL

    NULL

     

    cluster_id

    bigint(20) unsigned

    NO

    MUL

    NULL

     

    host_id

    bigint(20) unsigned

    NO

    MUL

    NULL

     

    domain_id

    bigint(20) unsigned

    YES

    MUL

    NULL

     

    account_id

    bigint(20) unsigned

    YES

    MUL

    NULL

     

    implicit_dedication

    tinyint(1) unsigned

    NO

    MUL

    0

     

  2. service_offering table: Introduce a column “isdedicated” in  service_offering table. Default value should be 0.

UI flow

  • TBD
  • Pluggable UI when ImplicitDedicationPlanner is selected in ServiceOfferingAdd a check option in "Add Compute Offering" for is_dedicated flag.