Chapter 2. Product Requirements

2.1. Software Requirements

2.1.1. Operating System Requirements

This version of Red Hat Enterprise Linux OpenStack Platform is supported on:
  • Red Hat Enterprise Linux 7
For further information on configuring your subscription and the required repositories, see:
For detailed information on installing Red Hat Enterprise Linux, see the corresponding installation guide at:

2.1.2. Configure Software Repositories

2.1.2.1. Assigning Fully Qualified Domain Names

It is recommended that systems used to host OpenStack API endpoints are assigned fixed IP addresses or fully qualified domain names (FQDN).
If OpenStack API endpoints are hosted on systems that have their IP addresses dynamically assigned by a DHCP server, there is a loss of service if the assigned address changes. When this occurs, you would have to manually update the endpoint definitions stored in the database of the Identity service.
  • To avoid this problem, before registering to Red Hat Network, set the HOSTNAME in the /etc/sysconfig/network file on each system that will host an OpenStack API endpoint.
    HOSTNAME=myhost.parentdomain

2.1.2.2. Customer Portal Subscription Management

Red Hat Enterprise Linux OpenStack Platform requires that each system in the OpenStack environment be running Red Hat Enterprise Linux Server and that all systems be signed up to receive updates from the Customer Portal Subscription Management using Subscription Manager. For further information on managing Red Hat subscriptions, see the Red Hat Subscription Management documentation at the following link:
All steps in this procedure must be executed while logged in to the account of the root user on the system being registered.

Procedure 2.1. Registering a Red Hat Enterprise Linux system using Subscription Management

  1. Run the subscription-manager register command to register the system with Customer Portal Subscription Management.
    # subscription-manager register
  2. Enter your Red Hat Customer Portal user name when prompted.
    Username: admin@example.com

    Important

    Your Red Hat Subscription must have Red Hat Enterprise Linux OpenStack Platform entitlements. If your subscription does not have Red Hat Enterprise Linux OpenStack entitlements then you may register for access to the evaluation program at http://www.redhat.com/products/enterprise-linux/openstack-platform/.
  3. Enter your Red Hat Customer Portal password when prompted.
    Password:
  4. When registration completes successfully the system is assigned a unique identifier.
    The system has been registered with id: IDENTIFIER
The system has been registered with Customer Portal Subscription Management and is ready to be attached to specific software subscriptions.

2.1.2.3. RHN/CDN Channels

This section discusses channel and repository settings required for deploying Red Hat Enterprise Linux OpenStack Platform 5.

Warning

Although older Red Hat OpenStack repositories are available, you must ensure that your system can no longer access them before installing Red Hat Enterprise Linux OpenStack Platform 5. For example, for CDN, unsubscribe from or disable the following:
  • Red Hat OpenStack 1.0 (Essex) -- rhel-server-ost-6-preview-rpms
  • Red Hat OpenStack 2.1 (Folsom) -- rhel-server-ost-6-folsom-rpms
  • Red Hat Enterprise Linux OpenStack Platform 3 (Grizzly) -- rhel-server-ost-6-3-rpms
  • Red Hat Enterprise Linux OpenStack Platform 4 Beta (Havana) -- rhel-6-server-openstack-beta-rpms
  • Red Hat Enterprise Linux OpenStack Platform 4 (Havana) -- rhel-6-server-openstack-4.0-rpms

Note

The Red Hat Common for RHEL Server channel is recommended for use if creating custom Red Hat Enterprise Linux guest images that require cloud-init.
For Red Hat Enterprise Linux 7, run:
# subscription-manager repos \
    --enable=rhel-7-server-rh-common-rpms
2.1.2.3.1. Content Delivery Network Channels
You can install Red Hat Enterprise Linux OpenStack Platform 5 through the Content Delivery Network (CDN). To do so, configure subscription-manager to use the correct channels.
Run the following command to enable a CDN channel:
# subscription-manager repos --enable=[reponame]
Run the following command to disable a CDN channel:
# subscription-manager repos --disable=[reponame]
Red Hat Enterprise Linux 7
The following tables outline the channels for Red Hat Enterprise Linux 7.

Table 2.1.  Required Channels

Channel Repository Name
Red Hat Enterprise Linux 7 Server (RPMS) rhel-7-server-rpms
Red Hat OpenStack 5.0 for Server 7 (RPMS) rhel-7-server-openstack-5.0-rpms

Table 2.2.  Optional Channels

Channel Repository Name
Red Hat Enterprise Linux 7 Server - Optional rhel-7-server-optional-rpms
Red Hat Enterprise Linux OpenStack Platform Installer
The following tables outline the channels for the Red Hat Enterprise Linux OpenStack Platform installer.

Table 2.3.  Required Channels

Channel Repository Name
Foreman-RHEL-6 rhel-6-server-openstack-foreman-rpms
Red Hat Enterprise Linux 6 Server (RPMS) rhel-6-server-rpms
Red Hat Software Collections RPMs for Red Hat Enterprise Linux 6 Server rhel-server-rhscl-6-rpms
Disable Channels
The following table outlines the channels you must disable to ensure Red Hat Enterprise Linux OpenStack Platform 5 functions correctly.

Table 2.4.  Disable Channels

Channel Repository Name
Red Hat CloudForms Management Engine "cf-me-*"
Red Hat CloudForms Tools for RHEL 6 "rhel-6-server-cf-*"
Red Hat Enterprise Virtualization "rhel-6-server-rhev*"
Red Hat Enterprise Linux 6 Server - Extended Update Support "*-eus-rpms"
2.1.2.3.2. Red Hat Network (RHN) Channels
You can install Red Hat Enterprise Linux OpenStack Platform 5 through Red Hat Network (RHN).
Run the following to add a channel via RHN:
# rhn-channel --add --channel=[reponame]
Run the following to remove a channel via RHN:
# rhn-channel --remove --channel=[reponame]

Note

Red Hat Network is only available via Red Hat Satellite on Red Hat Enterprise Linux 7.1. For more information on this product, see:
Red Hat Enterprise Linux 7
The following tables outline the channels for Red Hat Enterprise Linux 7.1.

Table 2.5.  Required Channels

Channel Repository Name
Red Hat OpenStack 5.0 for Server 7.1 rhel-x86_64-server-7-ost-5
Red Hat Enterprise Linux Server (v7 for 64-bit AMD64 / Intel64) rhel-x86_64-server-7

Table 2.6.  Optional Channels

Channel Repository Name
Red Hat Enterprise MRG Messaging v. 2 (for RHEL 7 Server x86_64) rhel-x86_64-server-7-mrg-messaging-2

2.1.2.4. Red Hat Enterprise Linux Repository Configuration

Log in as the root user and follow the steps in this procedure to configure a Red Hat Enterprise Linux system to receive updates from Red Hat Network. Repeat these steps on each system in the OpenStack environment.

Procedure 2.2. Attaching Pool IDs to your subscription

  1. Use the subscription-manager list command to locate the pool identifier of the Red Hat Enterprise Linux subscription.
    # subscription-manager list --available
    +-------------------------------------------+
        Available Subscriptions
    +-------------------------------------------+
    
    Product Name:          Red Hat Enterprise Linux Server
    Product Id:            69
    Pool Id:               POOLID
    Quantity:              1
    Service Level:         None
    Service Type:          None
    Multi-Entitlement:     No
    Expires:               01/01/2022
    Machine Type:          physical
    ...
    The pool identifier is indicated in the Pool Id field associated with the Red Hat Enterprise Linux Server product. The identifier will be unique to your subscription. Take note of this identifier as it will be required to perform the next step.

    Note

    The output displayed in this step has been truncated to conserve space. All other available subscriptions will also be listed in the output of the command.
  2. Use the subscription-manager attach command to attach the subscription identified in the previous step.
    # subscription-manager attach --pool=POOLID
    Successfully attached a subscription for Red Hat Enterprise Linux Server.
    Replace POOLID with the unique identifier associated with your Red Hat Enterprise Linux Server subscription. This is the identifier that was located in the previous step.
  3. Run the yum repolist command. This command ensures that the repository configuration file /etc/yum.repos.d/redhat.repo exists and is up to date.
    # yum repolist
    Once repository metadata has been downloaded and examined, the list of repositories enabled will be displayed, along with the number of available packages.
    repo id                  repo name                                    status
    rhel-7-server-rpms       Red Hat Enterprise Linux 7 Server (RPMs)      8,816
    repolist: 8,816

    Note

    The output displayed in this step may differ from that which appears when you run the yum repolist command on your system. In particular the number of packages listed will vary if or when additional packages are added to the rhel-7-server-rpms repository.
  4. For deployments based on Red Hat Enterprise Linux 6, add the MRG Messaging v. 2 (for RHEL 6 Server x86_64) repository to receive the updated Qpid version:
    1. Enable the repository using the subscription-manager command:
      # subscription-manager repos --enable=rhel-6-server-mrg-messaging-2-rpms
    2. Run the yum repolist command. This command ensures that the repository configuration file /etc/yum.repos.d/redhat.repo exists and is up to date.
      # yum repolist
    3. Update the Qpid packages:
      # yum update python-qpid qpid-cpp-server qpid-tools
    4. Restart the Red Hat Enterprise Linux OpenStack Platform services:
      # openstack-service restart
    5. For controller nodes, the qpidd service must also be restarted:
      # service qpidd restart
You have successfully configured your system to receive Red Hat Enterprise Linux updates from Red Hat Network.

2.1.2.5. Red Hat Enterprise Linux OpenStack Platform Repository Configuration

Follow the steps in this procedure to configure a Red Hat Enterprise Linux system to receive OpenStack packages and updates from Content Delivery Network or Red Hat Network. Access to a Red Hat software entitlement that includes Red Hat Enterprise Linux OpenStack Platform is required, such entitlements include:
  • Red Hat Cloud Infrastructure
  • Red Hat Cloud Infrastructure (without Guest OS)
  • Red Hat Enterprise Linux OpenStack Platform
  • Red Hat Enterprise Linux OpenStack Platform Preview
  • Red Hat Enterprise Linux OpenStack Platform (without Guest OS)

Important

Required and optional repository names for each version are listed in Section 2.1.2.3, “RHN/CDN Channels”.
These steps must be run while logged in as the root user. Repeat these steps on each system in the environment.

Procedure 2.3. Attaching Pool IDs to your subscription

  1. Use the subscription-manager list command to locate the pool identifier of the relevant Red Hat Cloud Infrastructure or Red Hat Enterprise Linux OpenStack Platform entitlement.
    # subscription-manager list --available
    +-------------------------------------------+
        Available Subscriptions
    +-------------------------------------------+
    ...
    Product Name:          ENTITLEMENT
    Product Id:            ID_1
    Pool Id:               POOLID_1
    Quantity:              3
    Service Level:         None
    Service Type:          None
    Multi-Entitlement:     No
    Expires:               DATE
    Machine Type:          physical
    
    Product Name:          ENTITLEMENT
    Product Id:            ID_2
    Pool Id:               POOLID_2
    Quantity:              unlimited
    Service Level:         None
    Service Type:          None
    Multi-Entitlement:     No
    Expires:               DATE
    Machine Type:          virtual
    ...
    Locate the entry in the list where the Product Name matches the name of the entitlement that will be used to access Red Hat Enterprise Linux OpenStack Platform packages. Take note of the pool identifier associated with the entitlement, this value is indicated in the Pool Id field. The pool identifier is unique to your subscription and will be required to complete the next step.

    Note

    The output displayed in this step has been truncated to conserve space. All other available subscriptions will also be listed in the output of the command.
  2. Use the subscription-manager attach command to attach the subscription identified in the previous step.
    # subscription-manager attach --pool=POOLID
    Successfully attached a subscription for ENTITLEMENT.
    Replace POOLID with the unique identifier associated with your Red Hat Cloud Infrastructure or Red Hat Enterprise Linux OpenStack Platform entitlement. This is the identifier that was located in the previous step.
  3. Use either the subscription-manager or yum-config-manager commands to enable or disable the appropriate software repositories (channels).
    For example, to ensure that the repository for Red Hat Enterprise Linux OpenStack Platform 3 (Grizzly) has been disabled, run:
    # subscription-manager repos --disable rhel-server-ost-6-3-rpms
    Loaded plugins: product-id                                 
    ==== repo: rhel-server-ost-6-3-rpms ====
    [rhel-server-ost-6-3-rpms]
    bandwidth = 0
    base_persistdir = /var/lib/yum/repos/x86_64/6Server
    baseurl = https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/openstack/3/os
    cache = 0
    cachedir = /var/cache/yum/x86_64/6Server/rhel-server-ost-6-3-rpms
    cost = 1000
    enabled = False
    ...

    Note

    The values True and 1 are equivalent. As a result the output on your system may instead contain this string:
    enabled = 1
  4. Run the yum repolist command. This command ensures that the repository configuration file /etc/yum.repos.d/redhat.repo exists and is up to date.
    # yum repolist
    Once repository metadata has been downloaded and examined, the current list of enabled repositories will be displayed, along with the number of available packages. For example:
    repo id                repo name                                   status                  
    rhel-7-server-rpms     Red Hat Enterprise Linux 7 Server (RPMs)    11,610+460
    rhel-7-server-openstack-5.0-rpms  \
    Red Hat OpenStack 5.0 for Server 7 (RPMS)   487+143
    
  5. Use the subscription-manager command to enable the Red Hat Enterprise Linux OpenStack Platform repository.
    # subscription-manager repos --enable=[reponame]
    Replace [reponame] with the appropriate repository name. For details, see Section 2.1.2.3, “RHN/CDN Channels”.
  6. Install the yum-plugin-priorities package provided by the rhel-6-server-optional-rpms channel for Red Hat Enterprise Linux 6.6 or the rhel-7-server-optional-rpms channel for Red Hat Enterprise Linux 7.1:
    # yum install yum-plugin-priorities
  7. If not yet installed, use the following to install yum-config-manager:
    # yum install yum-utils
  8. Use the yum-config-manager command to set the priority of the Red Hat Enterprise Linux OpenStack Platform software repository to 1. This is the highest priority value supported by the yum-plugin-priorities plug-in.
    # yum-config-manager --enable [reponame] --setopt="[reponame].priority=1"
    For example:
    # yum-config-manager --enable rhel-7-server-openstack-5.0-rpms \
            --setopt="rhel-7-server-openstack-5.0-rpms.priority=1"
    Loaded plugins: product-id                                 
    ==== repo: rhel-7-server-openstack-5.0-rpms ====
    [rhel-7-server-openstack-5.0-rpms]
    bandwidth = 0
    base_persistdir = /var/lib/yum/repos/x86_64/6Server
    ...
    cost = 1000
    enabled = True
    ...
    priority = 1
    ...
  9. Run the yum update command and reboot to ensure that the most up-to-date packages, including the kernel, are installed and running.
    # yum update
    # reboot
You have successfully configured your system to receive Red Hat Enterprise Linux OpenStack Platform packages. You may use the yum repolist command to confirm the repository configuration again at any time.

2.1.3. Disable Network Manager

OpenStack Networking currently does not work on systems that have the Network Manager (NetworkManager) service enabled.
Follow the steps listed in this procedure while logged in as the root user on each system in the environment that will handle network traffic. This includes the system that will host the OpenStack Networking service, all network nodes, and all compute nodes.
These steps determine the state of the NetworkManager service, disable it from running, and replace it with the standard network service:

Procedure 2.4. Disabling the Network Manager service

  1. Verify Network Manager is currently enabled using the systemctl command.
    # systemctl status NetworkManager.service | grep Active:
    The output indicates whether or not the Network Manager service is enabled.
    • The system displays an error if the Network Manager service is not currently installed:
      error reading information on service NetworkManager: No such file or directory
      If this error is displayed then no further action is required to disable the Network Manager service.
    • The system displays Active: active (running) if Network Manager is running, or Active: inactive (dead) if it is not.
      For example, if Network Manager is active:
      Active: active (running) since Thu 2014-06-26 19:34:00 EDT; 2s ago
      If Network Manager is inactive, then no further action is required.
  2. If Network Manager is running, then you must first stop it:
    # systemctl stop NetworkManager.service
  3. Then disable Network Manager:
    # systemctl disable NetworkManager.service
  4. Open each interface configuration file on the system in a text editor. Interface configuration files are found in the /etc/sysconfig/network-scripts/ directory and have names of the form ifcfg-X where X is replaced by the name of the interface. Valid interface names include eth0, p1p5, and em1.
    In each file ensure that the NM_CONTROLLED configuration key is set to no and the ONBOOT configuration key is set to yes. Add these keys manually if they do not already exist in each file.
    NM_CONTROLLED=no
    ONBOOT=yes
    This action ensures that the standard network service will take control of the interfaces and automatically activate them on boot.
  5. Ensure that the standard network service is started using the systemctl command:
    # systemctl start network.service
  6. Ensure that the network service is enabled:
    # systemctl enable network.service
The Network Manager service has been disabled. The standard network service has been enabled and configured to control the required network interfaces.