Red Hat Training

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

17.2. Configure the OpenStack Integration Test Suite

Within the tempest virtual machine, run the following steps to configure your environment:
  1. Create a working directory to run the OpenStack Integration Test Suite tools, for example, mytempest:
    # mkdir -p /path/to/mytempest
  2. Within the mytempest directory, run the configure-tempest-directory command to setup the OpenStack Integration Test Suite within the mytempest directory.
    # cd /path/to/mytempest
    # /usr/share/openstack-tempest/tools/configure-tempest-directory
  3. Export the Red Hat OpenStack Platform environment variable with the proper credentials. The credentials for this environment are as follows:
    # export OS_USERNAME=admin
    # export OS_TENANT_NAME=admin
    # export OS_PASSWORD=
    # export OS_AUTH_URL=http://IP:35357/v2

    Note

    It is not necessary to have admin credetials to run the OpenStack Intergration Test Suite. With admin credentials, you can perform the following actions:
    • Run tests for admin APIs
    • Generate test credentials on the go.
  4. With a saved resource state, run the config_tempest.py script with the following credentials to properly create the tempest.conf configuration file that resides within the /etc directory.
    # tools/config_tempest.py --debug --create identity.uri OS_AUTH_URLidentity.admin_username OS_USERNAME identity.admin_password OS_PASSWORD identity.admin_tenant_name OS_TENANT_NAME object-storage.operator_role Member
  5. Before you run any tests, it is critical to preserve a clean resouce state of the existing OpenStack cloud:
    # python -m tempest.cmd.cleanup --init-saved-state

    Note

    Cleanup with the OpenStack Integration Test Suire does not cleanup the entire environment. It is possible that manual intervention is required to clean up the existing OpenStack cloud.
  6. Review the etc/tempest.conf file located within the mytempest directory to ensure it meets all your Red Hat OpenStack Platform environment needs.
  7. Verify the run-test.sh script properly runs, by using one of the tempest tests labeled tempest.api.compute.flavors.
    # tools/run-tests.sh --concurrency 4 tempest.api.compute.flavors

    Note

    The option concurrency 4 prevents the OpenStack Integration Test Suite from creating race conditions and/or unexpected errors.
  8. After successful verification, run the run-tests.sh scripts as follows:
    # tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txt

    Note

    The ra-skip-file contains specific tempest tests excluded when running the run-tests.sh script. The reason specific tests are excluded is due to your environment not running certain scenarios, for example, floating IP tests and third party tests. A sample ra-skip file can be as follows:
    -tempest\.api\.compute\.floating_ips.* -tempest\.thirdparty\.boto.*
    -tempest\.api\.compute\.floating_ips.* -tempest\.api\.network\.test_floating_ips.*
    -tempest\.api\.network\.admin\.test_floating_ips_admin_action
    Every Red Hat OpenStack Environment is different and therefore the test scenario cases to skip may vary for each environment.
  9. Once the OpenStack Integration Test Suite tests that verify your OpenStack deployment are complete, cleanup the environment to return it to its original resource state.
    # python -m tempest.cmd.cleanup