Chapter 6. Configuring a Basic Overcloud with the Web UI

This chapter provides the basic configuration steps for an OpenStack Platform environment using the web UI. An overcloud with a basic configuration contains no custom features. However, you can add advanced configuration options to this basic overcloud and customize it to your specifications using the instructions in the Advanced Overcloud Customization guide.

For the examples in this chapter, all nodes in this chapter are bare metal systems using IPMI for power management. For more supported power management types and their options, see Appendix B, Power Management Drivers.

Workflow

  1. Register blank nodes using a node definition template and manual registration.
  2. Inspect hardware of all nodes.
  3. Upload an overcloud plan to the director.
  4. Assign nodes into roles.

Requirements

  • The director node created in Chapter 4, Installing the Undercloud with the UI enabled
  • A set of bare metal machines for your nodes. The number of node required depends on the type of overcloud you intend to create (see Section 3.1, “Planning Node Deployment Roles” for information on overcloud roles). These machines also must comply with the requirements set for each node type. For these requirements, see Section 2.4, “Overcloud Requirements”. These nodes do not require an operating system. The director copies a Red Hat Enterprise Linux 7 image to each node.
  • One network connection for our Provisioning network, which is configured as a native VLAN. All nodes must connect to this network and comply with the requirements set in Section 2.3, “Networking Requirements”.
  • All other network types use the Provisioning network for OpenStack services. However, you can create additional networks for other network traffic types.

6.1. Accessing the Web UI

Users access the director’s web UI through SSL. For example, if the IP address of your undercloud is 192.168.24.1, then the address to access the UI is https://192.168.24.1. The web UI initially presents a login screen with fields for the following:

  • Username - The administration user for the director. The default is admin.
  • Password - The password for the administration user. Run sudo hiera admin_password as the stack user on the undercloud host terminal to find out the password.

When logging in to the UI, the UI accesses the OpenStack Identity Public API and obtains the endpoints for the other Public API services. These services include

ComponentUI Purpose

OpenStack Identity (keystone)

For authentication to the UI and for endpoint discovery of other services.

OpenStack Orchestration (heat)

For the status of the deployment.

OpenStack Bare Metal (ironic)

For control of nodes.

OpenStack Object Storage (swift)

For storage of the Heat template collection or plan used for the overcloud creation.

OpenStack Workflow (mistral)

To access and execute director tasks.

OpenStack Messaging (zaqar)

A websocket-based service to find the status of certain tasks.

The UI interacts directly with these Public APIs, which is why your client system requires access to their endpoints. The director exposes these endpoints through SSL/TLS encrypted paths on the Public VIP (undercloud_public_host in your undercloud.conf file). Each path corresponds to the service. For example, https://192.168.24.2:443/keystone maps to the OpenStack Identity Public API.

If you aim to change the endpoints or use a different IP for endpoint access, the director UI reads settings from the /var/www/openstack-tripleo-ui/dist/tripleo_ui_config.js file. This file uses the following parameters:

ParameterDescription

keystone

The Public API for the OpenStack Identity (keystone) service. The UI automatically discovers the endpoints for the other services through this service, which means you only need to define this parameter. However, you can define custom URLs for the other endpoints if necessary.

heat

The Public API for the OpenStack Orchestration (heat) service.

ironic

The Public API for the OpenStack Bare Metal (ironic) service.

swift

The Public API for the OpenStack Object Storage (swift) service.

mistral

The Public API for the OpenStack Workflow (mistral) service.

zaqar-websocket

The websocket for the OpenStack Messaging (zaqar) service.

zaqar_default_queue

The messaging queue to use for the OpenStack Messaging (zaqar) service. The default is tripleo.

The following is an example tripleo_ui_config.js file where 192.168.24.2 is the Public VIP for the undercloud:

window.tripleOUiConfig = {
  'keystone': 'https://192.168.24.2:443/keystone/v2.0',
  'heat': 'https://192.168.24.2:443/heat/v1/%(tenant_id)s',
  'ironic': 'https://192.168.24.2:443/ironic',
  'mistral': 'https://192.168.24.2:443/mistral/v2',
  'swift': 'https://192.168.24.2:443/swift/v1/AUTH_%(tenant_id)s',
  'zaqar-websocket': 'wss://192.168.24.2:443/zaqar',
  "zaqar_default_queue": "tripleo"
};

6.2. Navigating the Web UI

The UI provides three main sections:

Deployment Plan

A menu item at the top of the UI. This page acts as the main UI section and allows you to define the plan to use for your overcloud creation, the nodes to assign to each role, and the status of the current overcloud. This section also provides a deployment workflow to guide you through each step of the overcloud creation process, including setting deployment parameters and assigning your nodes to roles.

Deployment Plan Section in the Director’s UI

Nodes

A menu item at the top of the UI. This page acts as a node configuration section and provides methods for registering new nodes and introspecting registered nodes. This section also defines the nodes available for deployment, the nodes currently deployed, and nodes in maintenance.

Nodes Section in the Director’s UI

Validations

A side panel on the right side of the page. This section provides a set of pre-deployment and post-deployment system checks to ensure a successful overcloud creation process. These validation tasks run automatically at certain points in the deployment. However, you can also run them manually. Click the Play button for a validation task you want to run. Click the title of each validation task to run it, or click a validation title to view more information about it.

A Validation

6.3. Importing an Overcloud Plan in the Web UI

The director UI requires a plan before configuring the overcloud. This plan is usually a Heat template collection, like the one on your undercloud at /usr/share/openstack-tripleo-heat-templates. In addition, you can customize the plan to suit your hardware and environment requirements. For more information about customizing the overcloud, see the Advanced Overcloud Customization guide.

The plan displays four main steps to configuring your overcloud:

  1. Prepare Hardware - Node registration and introspection.
  2. Specify Deployment Configuration - Configuring overcloud parameters and defining the environment files to include.
  3. Configure Roles and Assign Nodes - Assign nodes to roles and modify role-specific parameters.
  4. Deploy - Launch the creation of your overcloud.

The undercloud installation and configuration automatically uploads a plan. You can also import multiple plans in the web UI. Click on Manage Deployments on the Deployment Plan screen. This displays the current Plans table.

Click Create New Plan and a window appears asking you for the following information:

  • Plan Name - A plain text name for the plan. For example overcloud.
  • Upload Type - Choose whether to upload a Tar Archive (tar.gz) or a full Local Folder (Google Chrome only).
  • Plan Files - Click browser to choose the plan on your local file system.

If you need to copy the director’s Heat template collection to a client machine, archive the files and copy them:

$ cd /usr/share/openstack-tripleo-heat-templates/
$ tar -cf ~/overcloud.tar *
$ scp ~/overcloud.tar user@10.0.0.55:~/.

Once the director UI uploads the plan, the plan appears in the Plans table and you can now configure it. Click on the Deployment Plan.

The Deployment Plan Table

6.4. Registering Nodes in the Web UI

The first step in configuring the overcloud is to register your nodes. Start the node registration process either through:

  • Clicking Register Nodes under 1 Prepare Hardware on the Deployment Plan screen.
  • Clicking Register Nodes on the Nodes screen.

This displays the Register Nodes window.

Register Nodes Window

The director requires a list of nodes for registration, which you can supply using one of two methods:

  1. Uploading a node definition template - This involves clicking the Upload from File button and selecting a file. See Section 5.1, “Registering Nodes for the Overcloud” for the syntax of the node definition template.
  2. Manually registering each node - This involves clicking Add New and providing a set of details for the node.

The details you need to provide for manual registration include the following:

Name
A plain text name for the node. Use only RFC3986 unreserved characters.
Driver
The power management driver to use. This example uses the IPMI driver (pxe_ipmitool) but other drivers are available. See Appendix B, Power Management Drivers for available drivers.
IPMI IP Address
The IP address of the IPMI device.
IPMI Username; IPMI Password
The IPMI username and password.
Architecture
(Optional) The system architecture.
CPU count
(Optional) The number of CPUs on the node.
Memory (MB)
(Optional) The amount of memory in MB.
Disk (GB)
(Optional) The size of the hard disk in GB.
NIC MAC Addresses
A list of MAC addresses for the network interfaces on the node. Use only the MAC address for the Provisioning NIC of each system.
Note

The UI also allows for registration of nodes from a KVM host using the pxe_ssh driver. Note that this option is available for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments. For more information, see Section B.7, “SSH and Virsh”.

After entering your node information, click Register Nodes at the bottom of the window.

The director registers the nodes. Once complete, you can use the UI to perform introspection on the nodes.

6.5. Inspecting the Hardware of Nodes in the Web UI

The director UI can run an introspection process on each node. This process causes each node to boot an introspection agent over PXE. This agent collects hardware data from the node and sends it back to the director. The director then stores this introspection data in the OpenStack Object Storage (swift) service running on the director. The director uses hardware information for various purposes such as profile tagging, benchmarking, and manual root disk assignment.

Note

You can also create policy files to automatically tag nodes into profiles immediately after introspection. For more information on creating policy files and including them in the introspection process, see Appendix E, Automatic Profile Tagging. Alternatively, you can tag nodes into profiles through the UI. See Section 6.7, “Tagging Nodes into Roles in the Web UI” for details on manually tagging nodes.

To start the introspection process:

  1. Navigate to the Nodes screen
  2. Select all nodes you aim to introspect.
  3. Click Introspect Nodes
Important

Make sure this process runs to completion. This process usually takes 15 minutes for bare metal nodes.

Once the introspection process completes, select all nodes with the Provision State set to manageable then click the Provide Nodes button. Wait until the Provision State changes to available.

The nodes are now ready to provision.

6.6. Editing Overcloud Plan Parameters in the Web UI

The Deployment Plan screen provides a method to customize your uploaded plan. Under 2 Specify Deployment Configuration, click the Edit Configuration link to modify your base overcloud configuration.

A window appears with two main tabs:

Overall Settings

This provides a method to include different features from your overcloud. These features are defined in the plan’s capabilities-map.yaml file, which each feature using a different environment file. For example, under Storage you can select Storage Environment, which the plan maps to the environments/storage-environment.yaml file and allows you to configure NFS, iSCSI, or Ceph settings for your overcloud. The Other tab contains any environment files detected in the plan but not listed in the capabilities-map.yaml, which is useful for adding custom environment files included in the plan. Once you have selected the features to include, click Save.

Overall Settings for Deployment Configuration

Parameters

This includes various base-level and environment file parameters for your overcloud. For example, you can change the node count for each role in this section. If you aim to use three controller nodes, change the ControllerCount to 3. Once you have modified your base-level parameters, click Save.

Parameters for Deployment Configuration

6.7. Tagging Nodes into Roles in the Web UI

After registering and inspecting the hardware of each node, you tag them into specific profiles. These profiles match your nodes to a specific flavor and deployment role.

To assign nodes to a role, scroll to the 3 Configure Roles and Assign Nodes section on the Deployment Plan screen. Click Assign Nodes for a chosen role. A window appears that allows you to select the nodes to assign to the role. Once you have selected the role’s nodes, click Assign/Unassign Selected Nodes.

Assigning Nodes to a Role

Once these nodes are assigned to the role, click Done to return to the Deployment Plan screen.

Complete this task for each role you want in your overcloud.

6.8. Editing Nodes in the Web UI

Each node role provides a method for configuring role-specific parameters. Scroll to 3 Configure Roles and Assign Nodes roles on the Deployment Plan screen. Click the Edit Role Parameters icon (pencil icon) next to the role name.

Edit Role Parameters Icon

A window appears that shows two main tabs:

Parameters

This includes various role specific parameters. For example, if you are editing the controller role, you can change the default flavor for the role using the OvercloudControlFlavor parameter. Once you have modified your role specific parameters, click Save Changes.

Parameters for Role Configuration

Services

This defines the service-specific parameters for the chosen role. The left panel shows a list of services that you select and modify. For example, to change the time zone, click the OS::TripleO:Services:Timezone service and change the TimeZone parameter to your desired time zone. Once you have modified your service-specific parameters, click Save Changes.

Service Specific Parameters for Role Configuration

Network Configuration

This allows you to define an IP address or subnet range for various networks in your overcloud.

Network Configuration for a Role

Important

Although the role’s service parameters appear in the UI, some services might be disabled by default. You can enable these services through the instructions in Section 6.6, “Editing Overcloud Plan Parameters in the Web UI”. See also the Composable Roles section of the Advanced Overcloud Customization guide for information on enabling these services.

6.9. Starting the Overcloud Creation in the Web UI

Once the overcloud plan is configured, you can start the overcloud deployment. This involves scrolling to the 4 Deploy section and clicking Validate and Deploy.

Validate and Deploy Button

If you have not run or passed all the validations for the undercloud, a warning message appears. Make sure that your undercloud host satisfies the requirements before running a deployment.

Validation Warning

When you are ready to deploy, click Deploy.

The UI regularly monitors the progress of the overcloud’s creation and display a progress bar indicating the current percentage of progress. The View detailed information link displays a log of the current OpenStack Orchestration stacks in your overcloud.

Detailed Progress Information

Wait until the overcloud deployment completes.

After the overcloud creation process completes, the 4 Deploy section displays the current overcloud status and the following details:

  • IP address - The IP address for accessing your overcloud.
  • Password - The password for the OpenStack admin user on the overcloud.

Use this information to access your overcloud.

Overcloud Deployment Complete

6.10. Completing the overcloud Creation

This concludes the creation of the overcloud through the director’s UI. For post-creation functions, see Chapter 8, Performing Tasks after Overcloud Creation.