Chapter 4. Test Environment Overview

The following diagram depicts the environment setup required for testing of an OpenStack deployment-under-test. The diagram includes the certification packages that need to be installed on each host (color coded).

Figure 4.1. Test Environment Setup

Test Environment Setup

The primary application that is implemented in the Red Hat Certification workflow is a client server application. You can launch Red Hat Certification web user interface on a different host (test server) and use the web user Interface (UI) to run certification tests on an OpenStack deployment-under-test (test client). Using the Red Hat Certification web user interface you can:

  • Generate requests for new certifications
  • Submit logs
  • Conduct discussions with the certification team

It is recommended to setup a test server to run OpenStack Certification tests on the system-under- test/test client. This allows testing of multiple test clients from a single test server, enables quick validation and prevents resource constraints.

4.1. Preparing the OpenStack Deployment-under-Test

Install the relevant version of Red Hat OpenStack Platform (against which the certification is required) using Red Hat OpenStack Platform Product Documentation. After Red Hat OpenStack Platform is installed, read the product documentation to understand its usage and configuration.

Note

It is mandatory to use the Red Hat OpenStack Platform director for installation as it is the supported toolset for installing and managing a Red Hat OpenStack Platform environment in production.

After installing Red Hat OpenStack Platform, install the plugin/driver or application that needs to be certified on an Overcloud node. Complete the following steps after the installation:

  1. Ensure you have a private (tenant) network and private subnet in the OpenStack deployment that is under test.
  2. Create an admin tenant owned router and add the private (tenant) subnet as one of that router’s interfaces in your OpenStack deployment.
  3. Create an external (provider) network and a public subnet. Configure the external network as the above router’s gateway in your OpenStack deployment.
  4. Run the command using the Keystone command-line client.

    $ openstack role create Member

    The software packages required on the OpenStack deployment-under-test/test client must be installed by subscribing to Red Hat Certification channel via CDN. This ensures that the required dependencies are automatically installed.

Note

The OpenStack deployment-under-test/test client refers to the node where the plugin/application-under-test is installed.

For more information, refer Test Environment Overview. To install the required software packages on the OpenStack deployment-under-test/test client, complete the following steps:

Important

Complete the following steps on the node where the OpenStack plugin-under-test/application-under-test is installed.

  1. Run the following command to register your host using Red Hat Subscription Management:

    # subscription-manager register

    Use your RHN credentials for the registration.

  2. Run the following command to display the list of available subscriptions for your system:

    # subscription-manager list --available

    From the list of available subscriptions, search for the subscription which provides the Red Hat Certification (for RHEL Server) repository. Make a note of the subscription and its Pool ID.

    Important

    The Red Hat Certification (for RHEL Server) repository provides the certification packages.

  3. Run the following command to attach the subscription which provides the Red Hat Certification (for RHEL Server) repository to your system:

    # subscription-manager attach --pool=[pool_ID]

    Replace [pool_ID] with the Pool ID of the subscription which provides the Red Hat Certification (for RHEL Server) repository.

    It is mandatory to use the correct Pool ID with the # subscription-manager attach --pool command to attach the required subscription to the system.

    To verify the list of subscriptions your system has currently attached, at any time, run the # subscription-manager list --consumed command. Ensure that the subscription which provides the Red Hat Certification (for RHEL Server) repository is attached to your system.

  4. Run the following command to subscribe to Red Hat Certification channel:

    # subscription-manager repos --enable=rhel-7-server-cert-rpms
  5. Run the following command to install the redhat-certification-openstack package. This automatically installs the required dependencies:

    # yum install redhat-certification-openstack
  6. Run the following command to start the Red Hat Certification back-end server listener process:

    # rhcertd start

    Result

    The OpenStack deployment-under-test (which refers to the node where the plugin/application-under-test is installed) is now prepared for certification testing.

4.2. Preparing the Test Server

The software packages required on the test server must be installed by subscribing to Red Hat Certification channel via CDN. This ensures that the required dependencies are automatically installed.

To install the required software packages on the test server, complete the following steps:

  1. Select a persistent RHEL 7 host which can act as the test server host. The chosen RHEL 7 host should be able to access Red Hat services including the certification channels and use the same network as the OpenStack deployment-under-test (test client).
  2. Run the following command to register your host using Red Hat Subscription Management:

    # subscription-manager register

    Use your RHN credentials for the registration.

  3. Run the following command to display the list of available subscriptions for your system:

    # subscription-manager list --available

    From the list of available subscriptions, search for the subscription which provides the Red Hat Certification (for RHEL Server) repository. Make a note of the subscription and its Pool ID.

    Important

    The Red Hat Certification (for RHEL Server) repository provides the certification packages.

  4. Run the following command to attach the subscription which provides the Red Hat Certification (for RHEL Server) repository to your system:

    # subscription-manager attach --pool=[pool_ID]

    Replace [pool_ID] with the Pool ID of the subscription which provides the Red Hat Certification (for RHEL Server) repository.

    It is mandatory to use the correct Pool ID with the # subscription-manager attach --pool command to attach the required subscription to the system.

    To verify the list of subscriptions your system has currently attached, at any time, run the # subscription-manager list --consumed command. Ensure that the subscription which provides the Red Hat Certification (for RHEL Server) repository is attached to your system.

  5. Run the following command to subscribe to Red Hat Certification channel:

    # subscription-manager repos --enable=rhel-7-server-cert-rpms
  6. Run the following command to install the redhat-certification package on the host:

    # yum install redhat-certification
  7. Run the following command to start Apache, Red Hat Certification back-end server and the server listener process:

    # rhcertd start

Result

The test server (RHEL 7.x host) is now prepared. The redhat-certification package provides Red Hat Certification web UI which can be used to run certification tests on the OpenStack deployment-under-test/test client.

4.3. Proxy Settings for Test Server and Test Client

If your network utilizes a proxy, you may need to manually configure the test server and/or test client for the proxy as outlined below:

In the test server, update the /etc/rhcert.xml file as per the following settings:

<urls>
<proxy-url protocol="http">PROXY_SERVER:PROXY_PORT</proxy-url>
<proxy-url protocol="https">PROXY_SERVER:PROXY_PORT</proxy-url>
</urls>

Replace PROXY_SERVER with the IP or dns-name of your proxy server, and PROXY_PORT with your proxy port number.

For example:

<proxy-url protocol="http">http://rhcert-example.redhat.com:3148<proxy-url>
<proxy-url protocol="https">https://rhcert-example.redhat.com:3148<proxy-url>

To open port 80 and port 8009 on test server and test client, run the rhcert-cli register command.

For more information, we recommend you to refer How can we access to the Hardware Certification (rhcertd web interface) via proxy?