Chapter 2. Installing the Integration Test Suite (tempest)

You can install the Integration Test Suite either with director or with a manual installation.

2.1. Prerequisites

2.2. Installing the Integration Test Suite with director

Use the Red Hat OpenStack Platform (RHOSP) director to install the test suite automatically.

Prerequisites

  • You have installed the python3-tripleoclient packages. For more information, see Installing director packages in the Director Installation and Usage guide.

Procedure

  1. Log in to the undercloud host as the stack user.
  2. Edit the undercloud.conf file located in the home directory of the stack user.
  3. Set the enable_tempest parameter to true.

    enable_tempest = true
  4. Run the openstack undercloud install command to include the extra configuration in the undercloud:

    $ openstack undercloud install

2.3. Installing the Integration Test Suite manually

If you do not want to install the Integration Test Suite (tempest) automatically with director, you can perform the installation manually later. You must ensure that you have a basic network configuration, install the Integration Test Suite packages, and create a configuration file that contains details about your OpenStack services and other testing behaviour switches.

Procedure

  1. Ensure that the following networks are available within your Red Hat OpenStack Platform (RHOSP) environment:

    • An external network that can provide a floating IP.
    • A private network.

      Connect these networks through a router.

      1. To create the private network, specify the following options according to your network deployment:

        $ openstack network create <network_name> --share
        $ openstack subnet create <subnet_name> --subnet-range <address/prefix> \
          --network <network_name>
        $ openstack router create <router_name>
        $ openstack router add subnet <router_name> <subnet_name>
      2. To create the public network, specify the following options according to your network deployment:

        $ openstack network create <network_name> --external \
          --provider-network-type flat \
          --provider-physical-network datacentre
        $ 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>
  2. Install the packages related to the Integration Test Suite:

    $ sudo dnf -y install openstack-tempest

    This command does not install any tempest plugins. You must install the plugins manually, depending on your RHOSP installation.

  3. Install the appropriate tempest plugin for each component in your environment. For example, enter the following command to install the keystone, neutron, cinder, and telemetry plugins:

    $ sudo dnf install python3-keystone-tests-tempest python3-neutron-tests-tempest python3-cinder-tests-tempest python3-telemetry-tests-tempest

    For a full list of packages, see Integration Test Suite packages.

Note

You can also install the openstack-tempest-all package. This package contains all of the tempest plugins.

2.3.1. Integration Test Suite packages

Use dnf search to retrieve a list of tempest test packages:

$ sudo dnf search $(openstack service list -c Name -f value) 2>/dev/null | grep test | awk '{print $1}'
ComponentPackage Name

barbican

python3-barbican-tests-tempest

cinder

python3-cinder-tests-tempest

designate

python3-designate-tests-tempest

ec2-api

python3-ec2api-tests-tempest

heat

python3-heat-tests-tempest

ironic

python3-ironic-tests-tempest

keystone

python3-keystone-tests-tempest

kuryr

python3-kuryr-tests-tempest

manila

python3-manila-tests-tempest

mistral

python3-mistral-tests-tempest

networking-bgvpn

python3-networking-bgpvpn-tests-tempest

networking-l2gw

python3-networking-l2gw-tests-tempest

neutron

python3-neutron-tests-tempest

nova-join

python3-novajoin-tests-tempest

octavia

python3-octavia-tests-tempest

patrole

python3-patrole-tests-tempest

telemetry

python3-telemetry-tests-tempest

tripleo-common

python3-tripleo-common-tests-tempest

zaqar

python3-zaqar-tests-tempest

Note

The python3-telemetry-tests-tempest package contains plugins for aodh, panko, gnocchi, and ceilometer tests. The python3-ironic-tests-tempest package contains plugins for ironic and ironic-inspector.