Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Setting Up the Overcloud

Configuring the Overcloud

Use this example procedure on the undercloud to set up the configuration for the overcloud.

  1. Specify the name server to be used:
  2. Retrieve and upload the overcloud images.
    1. Create the image directory:

    2. Retrieve the overcloud images from either the RDO project or from Red Hat.

      • TripleO

      • OSP13

    3. Upload the overcloud images:

  3. Prepare OpenStack’s bare metal provisioning (Ironic).

    Ironic is an integrated OpenStack program that provisions bare metal machines instead of virtual machines. It is best thought of as a bare metal hypervisor API and a set of plugins that interact with the bare metal hypervisors.

    Note:

    Make sure to combine the ironic_list files from the three overcloud KVM hosts.

    1. Add the overcloud VMs to Ironic:

    2. Introspect the overcloud node:

    3. Add Baremetal Server (BMS) to Ironic.

      • Create rules for automated profiling.

        Evaluate the attributes of the physical server. The server will automatically be profiled based on the rules.

        The following example shows how to create a rule for system manufacturer as “Supermicro” and memory greater or equal to 128 GB.

        You can import the rule by:

      • Scan the BMC IP range and automatically add new servers matching the above rule by:

  4. Create Flavor:
  5. Copy the TripleO heat templates.
  6. Download and copy the Contrail heat templates from https://support.juniper.net/support/downloads.
  7. Create and upload the OpenStack containers.
    1. Create the OpenStack container file.

      Note:

      The container must be created based on the OpenStack program.

      • TripleO

      • OSP13

    2. Upload the OpenStack containers:

  8. Create and upload the Contrail containers.
    1. Create the Contrail container file.

      Note:

      This step is optional. The Contrail containers can be downloaded from external registries later.

      Here are few examples of importing Contrail containers from different sources:

      • Import from password protected public registry:

      • Import from Dockerhub:

      • Import from private secure registry:

      • Import from private insecure registry:

    2. Upload Contrail containers to the undercloud registry:

Customizing the Contrail Service with Templates (contrail-services.yaml)

This section contains information to customize Contrail services for your network by modifying the contrail-services.yaml file.

  • Contrail Services customization

  • Contrail registry settings

    Here are few examples of default values for various registries:

    • Public Juniper registry

    • Insecure registry

    • Private secure registry

  • Contrail Container image settings

Customizing the Contrail Network with Templates

Overview

In order to customize the network, define different networks and configure the overcloud nodes NIC layout. TripleO supports a flexible way of customizing the network.

The following networking customization example uses network as:

Table 1: Network Customization

Network

VLAN

overcloud Nodes

provisioning

-

All

internal_api

710

All

external_api

720

OpenStack CTRL

storage

740

OpenStack CTRL, Computes

storage_mgmt

750

OpenStack CTRL

tenant

-

Contrail CTRL, Computes

Roles Configuration (roles_data_contrail_aio.yaml)

The networks must be activated per role in the roles_data file:

OpenStack Controller

Compute Node

Contrail Controller

Compute DPDK

Compute SRIOV

Compute CSN

Network Parameter Configuration (contrail-net.yaml)

Network Interface Configuration (*-NIC-*.yaml)

NIC configuration files exist per role in the following directory:

OpenStack Controller

Contrail Controller

Compute Node

Advanced vRouter Kernel Mode Configuration

In addition to the standard NIC configuration, the vRouter kernel mode supports VLAN, Bond, and Bond + VLAN modes. The configuration snippets below only show the relevant section of the NIC template configuration for each mode.

VLAN

Bond

Bond + VLAN

Advanced vRouter DPDK Mode Configuration

In addition to the standard NIC configuration, the vRouter DPDK mode supports Standard, VLAN, Bond, and Bond + VLAN modes.

Network Environment Configuration:

Enable the number of hugepages:

See the following NIC template configurations for vRouter DPDK mode. The configuration snippets below only show the relevant section of the NIC configuration for each mode.

Standard

VLAN

Bond

Bond + VLAN

Advanced vRouter SRIOV + Kernel Mode Configuration

vRouter SRIOV + Kernel mode can be used in the following combinations:

  • Standard

  • VLAN

  • Bond

  • Bond + VLAN

Network environment configuration:

Enable the number of hugepages:

SRIOV PF/VF settings:

The SRIOV NICs are not configured in the NIC templates. However, vRouter NICs must still be configured. See the following NIC template configurations for vRouter kernel mode. The configuration snippets below only show the relevant section of the NIC configuration for each mode.

VLAN

Bond

Bond + VLAN

Advanced vRouter SRIOV + DPDK Mode Configuration

vRouter SRIOV + DPDK can be used in the following combinations:

  • Standard

  • VLAN

  • Bond

  • Bond + VLAN

Network environment configuration:

Enable the number of hugepages

SRIOV PF/VF settings

The SRIOV NICs are not configured in the NIC templates. However, vRouter NICs must still be configured. See the following NIC template configurations for vRouter DPDK mode. The configuration snippets below only show the relevant section of the NIC configuration for each mode.

Standard

VLAN

Bond

Bond + VLAN

Advanced Scenarios

Remote Compute

Remote Compute extends the data plane to remote locations (POP) whilest keeping the control plane central. Each POP will have its own set of Contrail control services, which are running in the central location. The difficulty is to ensure that the compute nodes of a given POP connect to the Control nodes assigned to that POC. The Control nodes must have predictable IP addresses and the compute nodes have to know these IP addresses. In order to achieve that the following methods are used:

  • Custom Roles

  • Static IP assignment

  • Precise Node placement

  • Per Node hieradata

Each overcloud node has a unique DMI UUID. This UUID is known on the undercloud node as well as on the overcloud node. Hence, this UUID can be used for mapping node specific information. For each POP, a Control role and a Compute role has to be created.

Overview

Mapping Table

Table 2: Mapping Table

Nova Name

Ironic Name

UUID

KVM

IP Address

POP

overcloud-contrailcontrolonly-0

control-only-1-5b3s30

Ironic UUID: 7d758dce-2784-45fd-be09-5a41eb53e764

DMI UUID: 73F8D030-E896-4A95-A9F5-E1A4FEBE322D

5b3s30

10.0.0.11

POP1

overcloud-contrailcontrolonly-1

control-only-2-5b3s30

Ironic UUID: d26abdeb-d514-4a37-a7fb-2cd2511c351f

DMI UUID: 14639A66-D62C-4408-82EE-FDDC4E509687

5b3s30

10.0.0.14

POP2

overcloud-contrailcontrolonly-2

control-only-1-5b3s31

Ironic UUID: 91dd9fa9-e8eb-4b51-8b5e-bbaffb6640e4

DMI UUID: 28AB0B57-D612-431E-B177-1C578AE0FEA4

5b3s31

10.0.0.12

POP1

overcloud-contrailcontrolonly-3

control-only-2-5b3s31

Ironic UUID: 09fa57b8-580f-42ec-bf10-a19573521ed4

DMI UUID: 09BEC8CB-77E9-42A6-AFF4-6D4880FD87D0

5b3s31

10.0.0.15

POP2

overcloud-contrailcontrolonly-4

control-only-1-5b3s32

Ironic UUID: 4766799-24c8-4e3b-af54-353f2b796ca4

DMI UUID: 3993957A-ECBF-4520-9F49-0AF6EE1667A7

5b3s32

10.0.0.13

POP1

overcloud-contrailcontrolonly-5

control-only-2-5b3s32

Ironic UUID: 58a803ae-a785-470e-9789-139abbfa74fb

DMI UUID: AF92F485-C30C-4D0A-BDC4-C6AE97D06A66

5b3s32

10.0.0.16

POP2

ControlOnly preparation

Add ControlOnly overcloud VMs to overcloud KVM host

Note:

This has to be done on the overcloud KVM hosts

Two ControlOnly overcloud VM definitions will be created on each of the overcloud KVM hosts.

Note:

The generated ironic_list will be needed on the undercloud to import the nodes to Ironic.

Get the ironic_lists from the overcloud KVM hosts and combine them.

Import:

ControlOnly node introspection

Get the ironic UUID of the ControlOnly nodes

The first ControlOnly node on each of the overcloud KVM hosts will be used for POP1, the second for POP2, and so and so forth.

Get the ironic UUID of the POP compute nodes:

The first two compute nodes belong to POP1 the second two compute nodes belong to POP2.

Create an input YAML using the ironic UUIDs:

Note:

Only control_nodes, compute_nodes, dpdk_nodes and sriov_nodes are supported.

Generate subcluster environment:

Check subcluster environment file:

Deployment

Add contrail-subcluster.yaml, contrail-ips-from-pool-all.yaml and contrail-scheduler-hints.yaml to the OpenStack deploy command:

Installing Overcloud

  1. Deployment:
  2. Validation Test: