BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
OpenStack Tempest is a tool that allows users and developers to test the open source cloud platform. As OpenStack testing can involve a number of components, the tool offers three different models, each with its own set of rules and guidelines: the API test, the Scenario test and the Unit test.
The API test is primarily for developers and is designed to test the functionality of OpenStack APIs. The Scenario test was developed to test complex "through paths" within OpenStack, ensuring different components of the platform are integrated and working together. The Unit test is a self-check function of OpenStack Tempest and provides verification that the tool is functioning as it should.
For each test, OpenStack Tempest provides its own dedicated client utility instead of the existing Python clients for OpenStack. This allows Tempest to include functionality that is required for testing but not included in the regular Python client, such as data gathering.
Of the three tests, the Scenario test is generally the most interesting for OpenStack administrators because it allows them to test a typical OpenStack workflow. For example, the Scenario test allows administrators to test the steps required to successfully deploy a virtual machine. The process should upload a glance image, deploy an instance from that image, connect to the guest and then create a snapshot of the virtual machine.
OpenStack Tempest provides a framework for admins to easily create this kind of test. But to administer a successful test, it is important to clearly define its scope. The above example shows a procedure that is easy to implement in a test, as it clearly defines which OpenStack components are involved and how they should interact with one another. Testing to see whether a data center is fully functional, however, is not something that admins can easily implement with OpenStack Tempest, as it is not specific and doesn't list the involved components.
Determine which version of OpenStack you have
Customize your OpenStack Horizon dashboard
Overcome common OpenStack scalability challenges