Feature: Private host, cluster, pod

Feature: Assign resources to domain/account

 

Background: Currently, CloudStack allows cloud admins to dedicate a zone to a tenant. While this is useful in certain scenarios, for several end-users this is a very expensive offering. This feature is to enable more economical options, but still preserve several of the benefits of the private zone offeringThis feature allows admins to dedicate resources to a specific tenant that needs private infrastructure for additional security or performance guarantees. This feature also allows admins to dedicate resources to resellers. Re-sellers in turn can ‘resell’ the infrastructure to their customers.

Requirements:

-          Root Admins must be able to dedicate a zone, pod or cluster to a specific domain or account

-          Only VMs that belong to the domain/sub-domain accounts should be deployed/started on the hosts under the zone/pod/cluster

-          If during a VM deploy or start operation, there are no available resources among the hosts dedicated to the account then CloudStack should fail the operation. Appropriate error message should be logged and event generated

-          Optionally, a global setting can allow the VM to be deployed on a parent domain/sub-domain if there is no space available in the account/sub-domain/domain's dedicated resources

-          Migration of a VM to a resource not owned by the account must fail

-          Must be able to dedicate a primary storage to an account

-          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

The use case that satisfies this requirement is as follows:

Service Provider SP1 sells cloud services to a number of resellers - those resellers themselves will sell to other sub-resellers or end-users.

For this scenario, resellers might want to either dedicate 'n' pods/cluster or hosts (they may not care about a SPECIFIC pod/cluster/host) - SP1 might even ask VAR1 to (pre)pay for this resource (pod/host/cluster) that has been made exclusive to them - irrespective of whether VAR1 is able to find customer to use some/most/all of these resources or not

This feature has the following benefits/characteristics:

VM deploy: Deploy only VMs of a specific tenant on a host dedicated to that tenant