Appendix G. Red Hat OpenStack Platform for POWER (Technology Preview)

Important

This feature is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment. For more information about Technology Preview features, see Scope of Coverage Details.

For a fresh Red Hat OpenStack Platform installation, you can now deploy overcloud Compute nodes on POWER (ppc64le) hardware. For the Compute node cluster, you can choose to use the same architecture or have a mix of x86_64 and ppc64le systems. The undercloud, Controller nodes, Ceph Storage nodes, and all other systems are supported only on x86_64 hardware.

Overview:

  • Deploy an undercloud on an x86_64 node.
  • Prepare x86_64 nodes to be used as overcloud Controller nodes and get the nodes ready for provisioning.
  • Prepare pre-provisioned ppc64le nodes to be used as overcloud Compute nodes.
  • Generate a custom roles_data.yaml file to include the ComputeAlt role for ppc64le nodes.
  • Deploy the overcloud.
  • Poll the metadata server on the undercloud.
  • Verify that the overcloud deployment has successfully completed.

Deploying Red Hat OpenStack Platform with Compute nodes on IBM POWER:

  1. Deploy an undercloud on an x86_64 node. Follow the instructions from Chapter 1, Introduction to Chapter 5, Configuring Container Registry Details.
  2. Prepare x86_64 nodes to be used as overcloud Controller nodes and get the nodes ready for provisioning. A minimum of one node is required for the Controller node. Prepare additional Controller nodes for high availability and additional x86_64 Compute nodes if required. Follow the instructions from Chapter 6, Configuring a Basic Overcloud with the CLI Tools to Section 6.7, “Customizing the Overcloud with Environment Files”.
  3. Prepare pre-provisioned ppc64le nodes to be used as overcloud Compute nodes. A minimum of one node is required for the Compute node. Prepare additional Compute nodes for high availability if required. Follow the instructions from Chapter 8, Configuring a Basic Overcloud using Pre-Provisioned Nodes to Section 8.5, “Configuring Networking for the Control Plane”.
  4. On the director node, generate a custom roles_data.yaml file to include the ComputeAlt role for ppc64le nodes. For example:

    (undercloud) [stack@director ~]$ openstack overcloud roles generate \
    --roles-path /usr/share/openstack-tripleo-heat-templates/roles/ \
    -o /home/stack/roles_data.yaml \
    Controller Compute ComputeAlt BlockStorage ObjectStorage CephStorage
  5. Deploy the overcloud. In addition to the standard environment files your environment requires, specify the custom roles_data.yaml file, and the computealt.yaml environment file. For example:

    (undercloud) [stack@director ~]$ openstack overcloud deploy \
    --templates /usr/share/openstack-tripleo-heat-templates \
    -r /home/stack/roles_data.yaml \
    --disable-validations \
    --ntp-server pool.ntp.org \
    -e /home/stack/templates/ctlplane-assignments.yaml \
    -e /home/stack/templates/node-info.yaml \
    -e /home/stack/templates/overcloud_images.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/computealt.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
    -e /home/stack/templates/network-environment.yaml \
    -e /home/stack/templates/storage-environment.yaml

    This command contains the following options:

    --templates
    Creates the overcloud using the Heat template collection in /usr/share/openstack-tripleo-heat-templates as a foundation
    -r /home/stack/roles_data.yaml
    Use the custom roles_data.yaml file for the role mapping information required for the deployment.
    --disable-validations
    Disables basic CLI validations for services not used with pre-provisioned infrastructure, otherwise the deployment will fail.
    --ntp-server pool.ntp.org
    Use an NTP server for time synchronization. This is required for keeping the overcloud node cluster in synchronization.
    -e /home/stack/templates/ctlplane-assignments.yaml
    Adds an environment file configuring networking for the control plane. See Section 8.5, “Configuring Networking for the Control Plane” for more information.
    -e /home/stack/templates/node-info.yaml
    Adds an environment file to define how many nodes and which flavors to use for each role.
    -e /home/stack/templates/overcloud_images.yaml
    Adds an environment file containing the container image sources. See Chapter 5, Configuring Container Registry Details for more information.
    -e /usr/share/openstack-tripleo-heat-templates/environments/computealt.yaml
    Adds an environment file to define the ppc64le node.
    -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml
    Adds an environment file to execute a bootstrap script on the pre-provisioned servers. This script installs additional packages and provides basic configuration for overcloud nodes.
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml
    Adds an environment file to initialize network isolation in the overcloud deployment.
    -e /home/stack/templates/network-environment.yaml
    Adds an environment file to customize network isolation.
    -e /home/stack/templates/storage-environment.yaml

    Adds an environment file to initialize our storage configuration.

    Note

    The deployment stack pauses when the overcloud node resources enter the CREATE_IN_PROGRESS stage. This pause is due to the director waiting for the orchestration agent on the overcloud nodes to poll the metadata server. Proceed to the next step to start polling the metadata server.

  6. Poll the metadata server on the undercloud. See Section 8.8, “Polling the Metadata Server”.
  7. Verify that the overcloud deployment has successfully completed. See Section 8.9, “Monitoring the Overcloud Creation” and Section 8.10, “Accessing the Overcloud”. To list all Compute nodes including the pre-provisioned ppc64le nodes and the director-provisioned x86_64 nodes, run openstack hypervisor list.