Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

Chapter 3. Installing the OpenStack Integration Test Suite

This section describes how to install the OpenStack Integration Test Suite using either the director or a manual installation.

3.1. Using the Director

Edit /home/stack/undercloud.conf. By default, enable_tempest is set to false. Change this to true:

enable_tempest = true

You are now ready to install the tempest packages and plug-ins, described in Section 3.3, “Installing the OpenStack Integration Test Suite Packages”.

3.2. Preparing a Manual Installation

To run the OpenStack Integration Test Suite, you need to first install the necessary packages and create a configuration file that will tell the Integration Test Suite where to find the various OpenStack services and other testing behaviour switches.

On the controller node, as a root user, create a virtual machine named tempest. This machine must run Red Hat Enterprise Linux 7.3 or greater; it also needs to be able to reach the cloud, but it does not have to be part of the cloud. For more information, see Creating Guests with Virt-Manager.

In addition, before installing the OpenStack Integration Test Suite, the following networks are required within your Red Hat OpenStack Platform environment:

  • An external network that can provide a floating IP address.
  • A private network.
  • These networks must be connected through a router.

    1. Create the private network:

      $ openstack network create _<network_name>_ --share
      $ openstack subnet create _<subnet_name>_ --subnet-range _<address/prefix>_
      $ openstack router create _<router_name>_
      $ openstack router add subnet _<router_name>_ _<subnet_name>_ --network _<network_name>_
    2. Create the public network:

      $ openstack network create _<network_name>_ --external \
        --provider-network-type flat
      $ openstack subnet create _<subnet_name>_ --subnet-range _<address/prefix>_ \
        --gateway _<default_gateway>_ --no-dhcp --network _<network_name>_
      $ openstack router set _<router_name>_ --external_gateway _<public_network_name>_
      $ neutron router-gateway-set _<router_name>_  _<network_name>_
  • Create the required keystone roles:

    $ openstack role create swiftoperator
    $ openstack role create heat_stack_owner

You are now ready to install and configure the OpenStack Integration Test Suite within the tempest virtual machine. For more information, see Section 3.3, “Installing the OpenStack Integration Test Suite Packages”.

3.3. Installing the OpenStack Integration Test Suite Packages

  1. Install the packages related to the OpenStack Integration Test Suite:

    $ sudo yum install openstack-tempest

    However, this command will not install any tempest plug-ins. These are installed manually in the following steps, depending on your OpenStack installation:

  2. Install the appropriate tempest plug-in for each component you have, separated by spaces, in the following format:

    $ sudo yum install <component1> <component2> <component3>

    You can list multiple components in the same command.

    Or:

    $ sudo python /usr/share/openstack-tempest-13.0.0/tools/install_test_packages.py
  3. Review the list of installed plugins:

    $ tempest list-plugins

    See Section 3.3.1, “List of Tempest Plug-in Packages” for a list of available tempest plug-ins for each OpenStack component.

3.3.1. List of Tempest Plug-in Packages

ComponentPackage Name

aodh

python-aodh-tests

ceilometer

python-ceilometer-tests

cinder

python-cinder-tests

designate

python-designate-tests-tempest

gnocchi

python-gnocchi-tests

Note

To ensure that the Gnocchi component installs correctly, install python-gnocchi-tests.

heat

python-heat-tests

horizon

python-horizon-tests-tempest

ironic

python-ironic-tests

keystone

python-keystone-tests

manila

python-manila-tests

mistral

python-mistral-tests

neutron

python-neutron-tests

neutron-fwaas

python-neutron-fwaas-tests

neutron-lbaas

python-neutron-lbaas-tests

neutron-vpnaas

python-neutron-vpnaas-tests

sahara

python-sahara-tests-tempest

zaqar

python-zaqar-tests

Note

nova, swift, and glance do not have individual test plugins; their tests reside within the tempest package.