Red Hat Training

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

Chapter 17. Install OpenStack Integration Test Suite

OpenStack Integration Test Suite (tempest) is a set of integration tests that are to be run against a live OpenStack cluster. The Integration Test Suite has a set of tests for OpenStack API validation, scenarios and other specific tests useful in validating your Red Hat OpenStack Platform deployment.
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. The location of this configuration file and how you interact with it, will determine how you run the Integration Test Suite.
There are two menthods of using the Integration Test Suite:
  • In this method, the Integration Test Suite runs as a system installed program. This is the newer of the two methods and Red Hat recommends that you use this method while using the test suite.
  • In the second method, the Integration Test Suite assumes your working directory is the actual test suite source repo and some assumptions associated with that.

17.1. Install the OpenStack Integration Test Suite Packages

Before you begin:
  • On the controller node, as a root user, create a virtual machine titled tempest using the virt-manager that installs Red Hat Enterprise Linux 7.2. For more information, see Creating Guests with Virt-Manager
  • Also, before installing the OpenStack Integration Test Suite, create the following networks within the Red Hat OpenStack Platfor environment. The OpenStack Integration Test Suite requires one of the networks to be considered external:
    # neutron net-create private --shared
    # neutron subnet-create private PRIVATE_NETWORK_ADDRESS MASK
    # neutron router-create router
    # neutron router-interface-add ROUTER_ID PRIVATE_SUBNET_ID
    # neutron net-create public --router:external --provider:network_type flat
    # neutron subnet-create public --allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS --gateway=DEFAULT_GATEWAY --enable_dhcp=False PUBLIC_NETWORK_ADDRESS/MASK
    # neutron router-gateway-set ROUTER_ID PUBLICH_NETWORK_ID
The OpenStack Integration Test Suite contains a list of Design Principles for validating the OpenStack Cloud. The main objective of OpenStack Integration Test Suite is to validate any OpenStack installation by explicitly testing OpenStack scenarios using public interfaces to determine whether the OpenStack cloud is running as intended. The following sections provide detailed steps in installing and configuring the OpenStack Integration Test Suite within the tempest virtual machine and showing how to run different OpenStack scenarios.

Procedure 17.1. Installing the Integration Test Suite

  1. Install the packages listed above related to the OpenStack Integration Test Suite:
    # yum install openstack-tempest
    However, the command will not install any tempest plug-ins. These have to be installed manually, depending on your OpenStack installation.
  2. The following command will show you all OpenStack components installed on your machine.
    # openstack-status
  3. For each component you can install an appropriate tempest plug-in, for example:
    # yum install python-glance-tests python-keystone-tests python-horizon-tests-tempest python-neutron-tests python-cinder-tests python-nova-tests python-swift-tests python-ceilometer-tests python-gnocchi-tests python-aodh-tests python-zaqar-test python-mistral-tests 
    Alternatively, you can use the following command that will find the installed OpenStack components automatically and install the required test packages.
    # /usr/share/openstack-tempest-*/tools/install_test_packages.py