You can create tenant virtual data centers to enable secure multi-tenancy and resource allocation. These data centers can be created on different compute nodes that offer specific service level agreements for each telecommunication workload.

Important: This feature is offered in VMware Integrated OpenStack Carrier Edition only. For more information, see VMware Integrated OpenStack Licensing.

Project quotas limit OpenStack resources across multiple compute nodes or availability zones, but they do not guarantee resource availability. By creating a tenant virtual data center to allocate CPU and memory for an OpenStack project on a compute node, you provide a resource guarantee for tenants and avoid noisy neighbor scenarios in a multi-tenant environment.

The tenant virtual data center allocates resources at the compute node level. You can also allocate resources on the virtual network function (VNF) level using the same flavor. For instructions, see Configure QoS Resource Allocation for Instances.

You can manage tenant virtual data centers using the viocli utility, vAPI, or Data Center Command-Line Interface (DCLI). This procedure uses the viocli utility as an example. For information about vAPI or DCLI usage, see Using the Tenant Virtual Data Center vAPIs.

Prerequisites

  • Enable VMware Integrated OpenStack Carrier Edition features. See Enable Carrier Edition Features.
  • Determine the UUID of the project under which you want to create the tenant VDC. You can find project UUIDs by running the openstack project list command.
  • Determine the name of the compute node on which you want to create the tenant VDC. You can find the names of compute nodes by running the openstack compute service list command.

Procedure

  1. Log in to the Integrated OpenStack Manager as the root user.
    ssh root@mgmt-server-ip
  2. Create a tenant virtual data center.
    viocli create tenant-vdc --name display-name --project-id project-uuid --compute compute-node [-–cpu-limit max-cpu-mhz] [--cpu-reserve min-cpu-mhz] [--mem-limit max-memory-mb] [-–mem-reserve min-memory-mb]
    Option Description

    --compute compute-node

    Enter the compute node on which to create the tenant VDC.

    You can find the names of compute nodes by running the openstack compute service list command.

    --name vdc-name

    Enter the name of the tenant VDC.

    --project-id project-uuid

    Enter the UUID of the project under which to create the tenant VDC.

    --cpu-reserve cpu-min

    Enter the CPU cycles in megahertz to reserve for the VDC.

    If you do not include this parameter, 0 is used by default.

    --cpu-limit cpu-max

    Enter the maximum limit for CPU usage on the VDC (in megahertz).

    If you do not include this parameter, CPU usage is not limited.

    --mem-reserve memory-min

    Enter the memory in megabytes to reserve for the VDC.

    If you do not include this parameter, 0 is used by default.

    --mem-limit memory-max

    Enter the maximum limit for memory consumption on the VDC (in megabytes).

    If you do not include this parameter, memory consumption is not limited.

  3. Log in to the VMware Integrated OpenStack dashboard as a cloud administrator.
  4. Select the admin project from the drop-down menu in the title bar.
  5. Configure a flavor to use the tenant virtual data center.
    1. Select Admin > Compute > Flavors.
    2. Create a new flavor or choose an existing flavor to use the tenant virtual data center.
    3. Select Update Metadata next to the flavor that you want to use.
    4. In the Available Metadata pane, expand VMware Policies and click the Add (plus sign) icon next to Tenant Virtual Datacenter.
    5. Set the value of vmware:tenant_vdc to the UUID of the tenant virtual data center and click Save.
      You can run the viocli get tenant-vdcs command on the Integrated OpenStack Manager to find the UUID of all tenant virtual data centers.

Results

The tenant virtual data center is created. You can now launch instances in the tenant virtual data center by configuring them with the flavor that you modified in this procedure.

What to do next

You can display the resource pools in a tenant virtual data center by running the viocli get tenant-vdcs tvdc-uuid command. Each resource pool is listed with its provider ID, project ID, status, minimum and maximum CPU, minimum and maximum memory, and compute node information. If a tenant virtual data center includes multiple resource pools, the first row displays aggregate information for all pools.

You can update a tenant virtual data center by running the viocli update tenant-vdc command or delete a tenant virtual data center by running the viocli delete tenant-vdc command..