Chapter 13. Provisioning Cloud Instances on Red Hat OpenStack Platform

Red Hat OpenStack Platform provides the foundation to build a private or public Infrastructure-as-a-Service (IaaS) cloud. It offers a massively scalable, fault-tolerant platform for the development of cloud-enabled workloads. In Red Hat Satellite 6, you can interact with Red Hat OpenStack Platform REST API to create cloud instances and control their power management states.

Prerequisites

13.1. Adding the Red Hat OpenStack Platform Connection to Satellite Server

Use this procedure to add Red Hat OpenStack Platform as a compute resource in Satellite.

Procedure

  1. In the Satellite web UI, navigate to Infrastructure > Compute Resources and click Create Compute Resource.
  2. In the Name field, enter a name for the new compute resource.
  3. From the Provider list, select RHEL OpenStack Platform.
  4. In the Description field, enter a description for the compute resource.
  5. In the URL field, enter the URL for the OpenStack Authentication keystone service’s API at the tokens resource. Use the following format: http://openstack.example.com:5000/v3.0/tokens.
  6. In the User and Password fields, enter the authentication user and password for Satellite to access the environment.
  7. In the Domain field, enter the domain for V3 authentication.
  8. From the Tenant list, select the tenant or project for Satellite Server to manage.
  9. To use external networks as primary networks for hosts, select the Allow external network as main network check box.
  10. Click the Locations and Organizations tabs and verify that the location and organization that you want to use are set to your current context. Add any additional contexts that you want to these tabs.
  11. Click Submit to save the Red Hat OpenStack Platform connection.

For CLI Users

  • To create a compute resource, enter the hammer compute-resource create command:

    # hammer compute-resource create --name "My_OpenStack" \
    --provider "OpenStack" \
    --description "My OpenStack environment at openstack.example.com" \
    --url "http://openstack.example.com:5000/v3.0/tokens" --user "My_Username" \
    --password "My_Password" --tenant "openstack" --locations "New York" \
    --organizations "My_Organization"

13.2. Adding Red Hat OpenStack Platform Images to Satellite Server

To create hosts using image-based provisioning, you must add information about the image, such as access details and the image location, to your Satellite Server.

Procedure

  1. In the Satellite web UI, navigate to Infrastructure > Compute Resources and click the name of the Red Hat OpenStack Platform connection.
  2. Click Create Image.
  3. In the Name field, enter a name for the image.
  4. From the Operating System list, select the image’s base operating system.
  5. From the Architecture list, select the operating system architecture.
  6. In the Username field, enter the SSH user name for image access. This is normally the root user.
  7. In the Password field, enter the SSH password for image access.
  8. From the Image list, select an image from the Red Hat OpenStack Platform compute resource.
  9. Optional: Select the User Data check box if the image supports user data input, such as cloud-init data.
  10. Click Submit to save the image details.

For CLI Users

  • Create the image with the hammer compute-resource image create command. Use the --uuid field to store the full path of the image location on the Red Hat OpenStack Platform server.

    # hammer compute-resource image create \
    --name "OpenStack Image" \
    --compute-resource "My_OpenStack_Platform"
    --operatingsystem "RedHat version" \
    --architecture "x86_64" \
    --username root \
    --user-data true \
    --uuid "/path/to/OpenstackImage.qcow2"

13.3. Adding Red Hat OpenStack Platform Details to a Compute Profile

Use this procedure to add Red Hat OpenStack Platform hardware settings to a compute profile. When you create a host on Red Hat OpenStack Platform using this compute profile, these settings are automatically populated.

Procedure

  1. In the Satellite web UI, navigate to Infrastructure > Compute Profiles.
  2. In the Compute Profiles window, click the name of an existing compute profile, or click Create Compute Profile, enter a Name, and click Submit.
  3. Click the name of the Red Hat OpenStack Platform compute resource.
  4. From the Flavor list, select the hardware profile on Red Hat OpenStack Platform to use for the host.
  5. From the Availability zone list, select the target cluster to use within the Red Hat OpenStack Platform environment.
  6. From the Image list, select the image to use for image-based provisioning.
  7. From the Tenant list, select the tenant or project for the Red Hat OpenStack Platform instance.
  8. From the Security Group list, select the cloud-based access rules for ports and IP addresses.
  9. From the Internal network, select the private networks for the host to join.
  10. From the Floating IP network, select the external networks for the host to join and assign a floating IP address.
  11. From the Boot from volume, select whether a volume is created from the image. If not selected, the instance boots the image directly.
  12. In the New boot volume size (GB) field, enter the size, in GB, of the new boot volume.
  13. Click Submit to save the compute profile.

For CLI Users

The compute profile CLI commands are not yet implemented in Red Hat Satellite 6.8. As an alternative, you can include the same settings directly during the host creation process.

13.4. Creating Image-based Hosts on Red Hat OpenStack Platform

In Satellite, you can use Red Hat OpenStack Platform provisioning to create hosts from an existing image. The new host entry triggers the Red Hat OpenStack Platform server to create the instance using the pre-existing image as a basis for the new volume.

Procedure

  1. In the Satellite web UI, navigate to Hosts > Create Host.
  2. In the Name field, enter a name for the host.
  3. Click the Organization and Location tabs to ensure that the provisioning context is automatically set to the current context.
  4. From the Host Group list, select the host group that you want to use to populate the form.
  5. From the Deploy on list, select the Red Hat OpenStack Platform connection.
  6. From the Compute Profile list, select a profile to use to automatically populate virtual machine settings.
  7. From the Lifecycle Environment list, select the environment.
  8. Click the Interfaces tab and click Edit on the host’s interface.
  9. Verify that the fields are automatically populated, particularly the following items:

    • The Name from the Host tab becomes the DNS name.
    • The MAC address field is blank. Red Hat OpenStack Platform assigns a MAC address to the host during provisioning.
    • Satellite Server automatically assigns an IP address for the new host.
    • The Managed, Primary, and Provision options are automatically selected for the first interface on the host. If not, select them.
  10. Click the Operating System tab, and confirm that all fields automatically contain values.
  11. If you want to change the image that populates automatically from your compute profile, from the Images list, select a different image to base the new host’s root volume on.
  12. Click Resolve in Provisioning templates to check the new host can identify the right provisioning templates to use.
  13. Click the Virtual Machine tab and confirm that these settings are populated with details from the host group and compute profile. Modify these settings to suit your needs.
  14. Click the Parameters tab, and ensure that a parameter exists that provides an activation key. If not, add an activation key.
  15. Click Submit to save the host entry.

For CLI Users

  • Create the host with the hammer host create command and include --provision-method image. Replace the values in the following example with the appropriate values for your environment.

    # hammer host create \
    --name "openstack-host1" \
    --organization "My_Organization" \
    --location "New York" \
    --hostgroup "Base" \
    --compute-resource "My_OpenStack_Platform" \
    --provision-method image \
    --image "OpenStack Image" \
    --enabled true \
    --managed true \
    --interface "managed=true,primary=true,provision=true" \
    --compute-attributes="flavor_ref=m1.small,tenant_id=openstack,security_groups=default,network=mynetwork"

For more information about additional host creation parameters for this compute resource, enter the hammer host create --help command.