Chapter 2. Product Requirements

2.1. Software Requirements

2.1.1. Operating System Requirements

Red Hat Enterprise Linux OpenStack Platform requires Red Hat Enterprise Linux 6.6 Server. All systems in the environment must have Red Hat Enterprise Linux 6.6 Server installed and be subscribed to receive package updates from Red Hat Network or an equivalent source such as a Red Hat Network Satellite server.
Additionally all systems must be subscribed to receive software updates for both Red Hat Enterprise Linux 6.6 Server and Red Hat Enterprise Linux OpenStack Platform.
  • For further information on installing Red Hat Enterprise Linux 6.6 Server refer to the Red Hat Enterprise Linux 6 Installation Guide.
  • For further information on managing Red Hat subscriptions refer to the Red Hat Subscription Management Guide.

Important

RHN Classic is intended to be used with legacy systems (Red Hat Enterprise Linux 6.0 or Red Hat Enterprise Linux 5.6 and earlier releases). It is strongly recommended that Red Hat Enterprise Linux 6.1/5.7 and later systems use Customer Portal Subscription Management, Subscription Asset Manager, or similar certificate-based subscription management services. As such these instructions are not intended for use on systems which have been registered to Red Hat Network using RHN Classic.

2.1.2. Configuring 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. Register to Red Hat Network

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 Red Hat Network.
  • For further information on installing Red Hat Enterprise Linux Server refer to the Red Hat Enterprise Linux Installation Guide.
  • For further information on managing Red Hat subscriptions refer to the Red Hat Subscription Management Guide.
All steps in this procedure must be executed while logged in to the account of the root user on the system being registered.

Important

RHN Classic is intended to be used with legacy systems (Red Hat Enterprise Linux 6.0 or Red Hat Enterprise Linux 5.6 and earlier releases). It is strongly recommended that Red Hat Enterprise Linux 6.1/5.7 and later systems use Customer Portal Subscription Management, Subscription Asset Manager, or similar certificate-based subscription management service. As such these instructions are not intended for use on systems which have been registered to Red Hat Network using RHN Classic.
  1. Run the subscription-manager register command to register the system to Red Hat Network.
    # subscription-manager register
  2. Enter your Red Hat Network user name when prompted.
    Username: admin@example.com

    Important

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

2.1.2.3. Red Hat Enterprise Linux Repository Configuration

Follow the steps in this procedure to register a Red Hat Enterprise Linux system to receive updates from Red Hat Network. These steps must be run while logged in as the root user. Repeat these steps on each system in the OpenStack environment.
  1. Use the subscription-manager list --available 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-6-server-rpms       Red Hat Enterprise Linux 6 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-6-server-rpms repository.
You have successfully configured your system to receive Red Hat Enterprise Linux updates from Red Hat Network.

2.1.2.4. 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 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)

Note

Required and optional repository names for each version are listed in the Red Hat Enterprise Linux OpenStack Platform Release Notes.
The following steps must be run while logged in as the root user. Repeat these steps on each system in the environment.
  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:               02/14/2014
    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:               02/14/2014
    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).
    Required and optional repositories for each version are listed in the Release Notes for Red Hat Enterprise Linux OpenStack Platform.

    Note

    Unless already installed, you can use the following to install yum-config-manager:
    # yum install -y yum-utils
    For example, to ensure that the repository for Red Hat Enterprise Linux OpenStack Platform 3 (Grizzly) has been disabled, run:
    # yum-config-manager --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

    Yum treats the values True and 1 as 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-6-server-rpms     Red Hat Enterprise Linux 6 Server (RPMs)    11,610+460
    rhel-6-server-openstack-4.0-rpms  \
                Red Hat Enterprise Linux OpenStack Platform 4 (RPMs)  487+143
    
  5. Use the yum-config-manager --enable command to enable the latest Red Hat Enterprise Linux OpenStack Platform software repository.
    # yum-config-manager --enable REPO_NAME
    For example:
    # yum-config-manager --enable rhel-6-server-openstack-4.0-rpms
  6. Install the yum-plugin-priorities package. The yum-plugin-priorities package provides a yum plug-in allowing configuration of per-repository priorities.
    # yum install -y yum-plugin-priorities
  7. 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. Remember to use the repository name listed in the Release Notes for Red Hat Enterprise Linux OpenStack Platform.
    # yum-config-manager --enable REPO_NAME --setopt="REPO_NAME.priority=1"
    For example:
    # yum-config-manager --enable rhel-6-server-openstack-4.0-rpms \
            --setopt="rhel-6-server-openstack-4.0-rpms.priority=1"
    Loaded plugins: product-id
    ==== repo: rhel-6-server-openstack-4.0-rpms ====
    [rhel-6-server-openstack-4.0-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/4/os
    cache = 0
    cachedir = /var/cache/yum/x86_64/6Server/rhel-6-server-openstack-4.0-rpms
    cost = 1000
    enabled = True
    ...
    priority = 1
    ...
  8. 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 -y
    # 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. The Network Manager service is currently enabled by default on Red Hat Enterprise Linux installations where one of these package groups was selected during installation:
  • Desktop
  • Software Development Workstation
The Network Manager service is not currently enabled by default on Red Hat Enterprise Linux installations where one of these package groups was selected during installation:
  • Basic Server
  • Database Server
  • Web Server
  • Identity Management Server
  • Virtualization Host
  • Minimal Install
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 ensure that the NetworkManager service is disabled and replaced by the standard network service for all interfaces that will be used by OpenStack Networking.

Procedure 2.1. Disabling the Network Manager service

  1. Verify Network Manager is currently enabled using the chkconfig command.
    # chkconfig --list NetworkManager
    The output displayed by the chkconfig command inicates 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 a list of numerical run levels along with a value of on or off indicating whether the Network Manager service is enabled when the system is operating in the given run level.
      NetworkManager 	0:off	1:off	2:off	3:off	4:off	5:off	6:off
      If the value displayed for all run levels is off then the Network Manager service is disabled and no further action is required. If the value displayed for any of the run levels is on then the Network Manager service is enabled and further action is required.
  2. Ensure that the Network Manager service is stopped using the service command.
    # service NetworkManager stop
  3. Ensure that the Network Manager service is disabled using the chkconfig command.
    # chkconfig NetworkManager off
  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 network service is started using the service command.
    # service network start
  6. Ensure that the network service is enabled using the chkconfig command.
    # chkconfig network on
The Network Manager service has been disabled. The standard network service has been enabled and configured to control the required network interfaces.