First, let’s quickly re-introduce the Interop Working Group (IWG) and what its mission is.
The IWG is a working group under the OpenInfra Foundation Board of Directors. It helps the Foundation to run trademark programs to promote interoperability between OpenStack deployments.
In practice, “Interop Working Group sets base requirements by defining 1) capabilities, 2) code and 3) must-pass tests for all OpenStack products. This definition uses community resources and involvement to drive interoperability by creating the minimum standards for products labeled “OpenStack.”
The Interop Working Group believes that ensuring interoperability across vendors’ clouds is the only way how we can make sure that applications can be run anywhere, on any cloud provided by any vendor. The IWG connects developers, users and vendors together to achieve that goal.
IWG maintains interoperability guidelines consisting of cloud capabilities tested by chosen tempest tests.
IWG provides RefStack toolings. RefStack is a source of tools for OpenStack interoperability testing:
- RefStack server – a user interface to display individual test run results
- Refstack-client tool – command line utility that allows user to execute Tempest test runs based on the specified configuration.
When finished running Tempest, it can send the test results to the RefStack server.
RefStack currently works with 6 OpenStack marketing programs. Each of the programs contains a specific set of tempest API tests testing interoperability. Every cloud which passes the Platform API tests (OpenStack Powered Platform program) can be certified and called an OpenStack. In other words IWG is here to ensure that every cloud having OpenStack brand is able to communicate in a standardized way.
Let’s highlight Marketplace Logo program and position Refstack and Interop as tools for it.
The marketing programs:
- OpenStack Powered Platform (OpenStack Powered Compute + OpenStack Powered Object Storage
- OpenStack Powered Compute
- OpenStack Powered Object Storage
The new so-called add-on marketing programs:
- OpenStack with DNS
- OpenStack with Orchestration
- OpenStack with Shared File System – a new add-on program in the Wallaby cycle
An OpenStack vendor may get certified for any of the above programs by passing given tests (for the given program and guideline) executed by refstack-client tool. This tools is basically a wrapper around Tempest. “Tempest is a set of integration tests to be run against a live OpenStack cluster.”. The add-on marketing programs have been added over time to support user workloads that are dependent on the functionality of a specific OpenStack project. They are an addition to OpenStack Powered Compute or Platform vendor offers. It follows the same methodology, set of rules and dependency of Tempest tests as other marketing programs that provide OpenStack Logo and listing of vendor at Marketplace.
It is very important that OpenStack vendors get certified by running the tests and uploading the results to the RefStack server  as this feedback opens a communication between developers<->users<->vendors thanks to which we can make sure. OpenStack users that use APIs covered by the guidelines are assured that their applications will run on any vendor-certified OpenStack cloud that is listed in Marketplace.
In the last cycle we made a major update to the IWG charter. IWG continues to deliver guidelines that cover 3 current releases and 1 future one to ensure interoperability across clouds and release APIs. Both Interop and Refstack projects recently moved to osf/ along with other OpenStack projects.
In order to make running refstack-client easier we developed ansible-role-refstack-client project – initially created in Red Hat. Ansible-role-refstack-client can generate files such as tempest.conf and accounts.yaml by running another refstack project – osf/python-tempestconf. Those files are required by Tempest as they contain additional configuration such as enabled services, features, specific resources to use during the testing, etc. After this configuration step, the role runs refstack-client for the specified program(s) which parses required tests given by the guideline and calls Tempest to execute the tests. In the last cycle we transitioned ansible-role-refstack-client to Python3 and aligned it with other OpenStack projects. Ansible-role-refstack-client also allows us, the IWG, to test new tests (when forming a new guideline) in the Zuul gates on a devstack environment.
The guidelines test library has been in maintenance mode in recent cycles and we are currently working to make new additions and remove deprecated tests. We have done an analysis of new API tests which are available in Tempest and are not tracked in any interop guidelines – the result can be seen in this etherpad. Now we are deciding which tests are worth to be added to the interop’s guidelines.
If you are OpenStack-based product (public cloud, managed private cloud offering, distribution…) and interested in being promoted in the OpenStack Marketplace, you can reach out to Open Infrastructure Foundation staff at [email protected]. If you wanna help us out with forming new guidelines or improving our tools and automation, please, feel free to reach out to us. You can write an email to [email protected] with [interop] keyword in the subject or just join our weekly meeting and raise your hand.