Skip to content
This repository has been archived by the owner on Jan 14, 2020. It is now read-only.

Tenants, Quotas, and Projects

shoenisch edited this page Apr 18, 2017 · 1 revision

The basic elements of Photon Controller's multitenancy model are tenants, quotas, and projects.

Tenants

The top-level tenancy element in Photon Controller is called a tenant. A tenant has quotas and projects.

A tenant administrator can manage the projects in a tenant. A tenant has a set of Lightwave security groups that specifies the set of users who can act as tenant administrators.

Quotas

Quotas represent allocations of physical or virtual objects. You allocate quotas under a tenant by using the same free-form syntax as flavor definitions.

Before you create a project, the tenant must have at least one quota. You can then create quotas for the tenant's projects.

For example, a quota might grant a quota of up to "100 virtual CPUs and 1000 GB of RAM." The quota does not guarantee that the resources are available, which depends on your hardware. Rather, the quota limits the resources available to the tenant. You can, however, change a quota after you set it. System administrators can resize tenant quotas, and tenant administrators can resize project quotas.

When creating a quota, you must set at least one limit, such as virtual CPUs.

There is a strong relationship between flavors and quotas. Both let you specify nearly arbitrary values that are accounted for. (It is almost arbitrary because VM flavors must specify the vm.cpu and vm.memory costs.) For example, a quota may specify the following limits:

  • vm.cpu COUNT 100: The user may have up to 100 virtual CPUs
  • vm.calories COUNT 3000: The user may use up to 3000 calories. This example uses calories as a user-defined accounting metric.

A VM flavor may specify the following:

  • vm.cpu COUNT 2: (This VM will use 2 virtual CPUs)
  • vm.memory 2 GB: (This VM will use 2 GB of RAM)
  • vm.calories 10 COUNT: (This VM will use 10 calories)

Using this flavor with this quota, a user could create 50 VMs (since each uses two CPUs). Because the quota does not specify memory, the user's memory usage remains unrestricted.

Projects

Projects represent individual users or groups under a tenant. A project is assigned a subset of the resources from a quota at creation time. For instance, if a quota allows 100 virtual CPUs, a project could allow anywhere between 0 and 100 CPUs from the quota. Quotas, in other words, can be subdivided among projects.

Clone this wiki locally