Correct way to open OpenStack Tempest

  • 2020-06-03 08:54:21
  • OfStack

The OpenStack cloud platform is composed of 1 series of different services and components. But how does Tempest help us test if it's working?

OpenStack Tempest is a tool that allows users and developers to test open source cloud platforms. Because OpenStack testing involves multiple components, the tool provides three different models: API testing, scenario testing, and unit testing; Each model has its own set of rules and guidelines.

The API test is intended for developers and is designed to test OpenStack API functionality. Scenario measures are used to test the complex "pass-through" in OpenStack to ensure that the different components of the platform are integrated and work together. Unit testing is the self-checking function of OpenStack Tempest and provides normal validation of the tool.

For each test, OpenStack Tempest provides its own dedicated client instead of the existing Python client for OpenStack. This allows Tempest to include the functionality required for testing, but not within regular Python clients, such as data collection.

Of the three tests, scenario testing is usually of most interest to OpenStack administrators because it allows them to test typical OpenStack workflows. For example, scenario testing allows an administrator to test the steps required to successfully deploy a virtual machine. This procedure should upload a browse image, deploy an instance from that image, connect to the guest virtual machine, and then create a virtual machine snapshot.

OpenStack Tempest provides administrators with a framework for easily creating such tests. However, in order to manage the success of a test, it is important to clearly define its scope. The above example shows a procedure that is easy to implement in testing because it clearly defines which OpenStack components are involved and how they should interact. However, testing to see if the data center is fully functioning is not something that administrators can easily implement using OpenStack Tempest, because it is not specific and does not list the components involved.

Related articles: