Chapter 3. Installing the OpenStack Integration Test Suite
This section contains information about installing the OpenStack Integration Test Suite either with the director or with a manual installation.
3.1. Using the Director
Edit the undercloud.conf
file, located in the home directory of the stack
user. Ensure that the enable_tempest
parameter is set to true
:
enable_tempest = true
enable_tempest = true
If your undercloud is already installed, you can edit the undercloud.conf
file and then run the openstack undercloud install
command to include the extra configuration in the undercloud:
openstack undercloud upgrade
$ openstack undercloud upgrade
You are now ready to install the tempest
packages and plugins, 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 must first install the necessary packages and create a configuration file that informs the Integration Test Suite where to find the various OpenStack services and other testing behaviour switches.
To install the OpenStack Integration Test Suite, the following networks must be available within your Red Hat OpenStack Platform environment:
- An external network which can provide floating IP
- A private network
These networks must be connected through a router.
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>
$ 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>
Create the public network. Specify the following options according to your network deployment:
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>
$ 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>
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
Install the packages related to the OpenStack Integration Test Suite:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo yum -y install openstack-tempest
$ sudo yum -y install openstack-tempest
This command does not install any tempest plugins. You must install the plugins manually, depending on your OpenStack installation.
Install the appropriate tempest plugin for each component in your environment. For example, run the following command to install the keystone, horizon, neutron, cinder, and telemetry plugins:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo yum install python-keystone-tests-tempest python-horizon-tests-tempest python-neutron-tests-tempest python-cinder-tests-tempest python-telemetry-tests-tempest
$ sudo yum install python-keystone-tests-tempest python-horizon-tests-tempest python-neutron-tests-tempest python-cinder-tests-tempest python-telemetry-tests-tempest
See Section 3.3.1, “List of Tempest Plug-in Packages” for a list of the tempest plugins for each OpenStack component.
You can also install the openstack-tempest-all
package. This package contains all of the tempest plugins.
3.3.1. List of Tempest Plug-in Packages
Run the following command to retrieve a list of tempest test packages:
sudo yum search $(openstack service list -c Name -f value) 2>/dev/null | grep test | awk '{print $1}'
$ sudo yum search $(openstack service list -c Name -f value) 2>/dev/null | grep test | awk '{print $1}'
Component | Package Name |
---|---|
barbican | python-barbican-tests-tempest |
cinder | python-cinder-tests-tempest |
designate | python-designate-tests-tempest |
ec2-api | python-ec2api-tests-tempest |
heat | python-heat-tests-tempest |
horizon | python-horizon-tests-tempest |
ironic | python-ironic-tests-tempest |
keystone | python-keystone-tests-tempest |
kuryr | python-kuryr-tests-tempest |
manila | python-manila-tests-tempest |
mistral | python-mistral-tests-tempest |
networking-bgvpn | python-networking-bgpvpn-tests-tempest |
networking-l2gw | python-networking-l2gw-tests-tempest |
neutron | python-neutron-tests-tempest |
nova-join | python-novajoin-tests-tempest |
octavia | python-octavia-tests-tempest |
patrole | python-patrole-tests-tempest |
sahara | python-sahara-tests-tempest |
telemetry | python-telemetry-tests-tempest |
tripleo-common | python-tripleo-common-tests-tempest |
zaqar | python-zaqar-tests-tempest |
Tempest test packages are specific to a Python version. For example, if your system uses Python 2, you must replace python-
with python2-
when installing the Tempest test packages.
The python-telemetry-tests-tempest
package contains plugins for aodh, panko, gnocchi, and ceilometer tests. The python-ironic-tests-tempest
package contains plugins for ironic and ironic-inspector.