Versions Compared

Key

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

...

This document describes the specifications and design of this feature.

Also see https://cwiki.apache.org/confluence/display/CLOUDSTACK/FS+for+VMs+on+hardware+dedicated+to+a+specific+accountImage Added

References

Glossary

Explicit Dedication: Pods, Clusters  or Hosts can be dedicated to an account/domain using APIs (introduced in this FS). We define this as Explicit Dedication

Implicit DedicationImplicitly dedicated Host is the host having dedicated VMs  of same account. This host is not explicitly dedicated using API.

Dedicated VM/instance: Dedicated VM is created using Service Offering with "isDedicated" enabled. 

Feature Specifications

Requirements

...

  1. Only Root Admin will have the privilege to dedicate pod, cluster or host to specific domain or an account.
  2. If a user does not belong to a domain which has dedicated resources, he cannot access the pod, cluster or host dedicated to that domain/account.
  3. Users belonging to domain/account having dedicated resources, can access them but should not be allowed to modify.
  4. At this time, there is no requirement for the domain/sub-domain admins to manage the resource - the root admin will remain the owner of the resources
  5. Only Root Admin can add a service offering with "isdedicated" option enabled. 
  6. Only Root Admin can change the global parameter:  implicit.dedication.enable

Use Cases: 

Dedicating resources to Domain/Account

...

Domain level accessibility:

...

  1. If dedicated resources get exhausted for a domin/account, VM deployment will not fail unless shared resources has no free empty host, provided Implicit dedication flag: ON and service offering flag: ON.
  2. VMs that belong to two different offerings can be on the same host as long as they belong to the same account/domain . For e.g. If an instance is deployed by account user and : 
             a. If that account has dedicated resources, service offering flag "isdedicated" checked, then VM will be deployed on the dedicated host having VMs of same account or on the host which is empty.
             b. If that account has NO dedicated resources, service offering flag "isdedicated" checked then VM will be deployed on the host which is empty and that host will become dedicated to this account.
  3. The dedicated VM of other accounts (e.g. A2 or A3 ) of same domain or other domain, cannot use above host, but can use an empty host or host having vms of same account(A2 or A3). 
  4. If the service offering flag if OFF, the VM  will be deployed as CloudStack is doing now but should not use the host marked "dedicated for domain/account x".
  5. If no such host exists, VM operation should fail.

    Host Tags with isDedicated flag and dedicated resources

  1. If Host Tag is provided and isDedicated flag is true and NO dedicated Resources (Host) 
    1. if Host has dedicated vms, place the vm in the that host
    2. if Host has no dedicated vms, fail the request.
  2. If host tag is provided and isDedicated flag is false and NO dedicated Resources 
    1. if Host has dedicated vms,  fail the request
    2. if Host has no dedicated vmsplace the vm in that host as cloudstack is doing now
  3. If host tag is provided and isDedicated flag is true and have explicitly Dedicated Resources (dedicated Host)
    1. Search for tagged as well as dedicated host, if found place the vm, if not found,  fail the request. 

Migration of dedicated VMs

  1. If VM to be migrated is non-dedicated
    1. if destination host has dedicated vms, fail the request
    2. if destination host has no dedicated vms, migrate it to the destination host.
  2. If VM to be migrated is dedicated
    1. if destination host has dedicated vms, migrate it to that host.
    2. if destination host has no dedicated vms, fail the request

Architecture and Design description

...