Goal: Move bundled OpenStack services tempest plugins to a separate Repo
It is the Queens Upstream Community Goal: https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html
Tempest is the testing framework for validating OpenStack cloud through tempest plugins.
Till RHOS-12, Most of the OpenStack Services (except Sahara, Designate and Horizon have their own tempest plugins in a separate repo) have bundled intree tempest plugins.
Below is the list of problems due to bundled tempest plugins:
[copied from https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html]
1. When you deploy an all in one system with multiple services that have bundled tempest plugins and then run tempest outside of a venv tempest will see the tests for all the plugins whether you intended to use them or not. It is also a fairly common occurrence for a project to ship a broken plugin that breaks at import time. This prevents unittest discovery from working which will block any tests from running.
2. A packager tries to use a stable version of your project with a newer tempest. This results in conflicting requirements because tempest is branchless and follows master requirements and makes using stable release plugins with master tempest impossible.
3. Most projects don’t actually use the same tests across release boundaries (or just don’t use plugins on stable branches), which means breaking api changes can land. There are 2 exceptions to this trove and ironic which we hacked together a mechanism to install the project repo from master in the tempest venv.
4. Plugin requirements aren’t exposed at install time. Some projects use test-requirements to set tempest plugin requirements (since it is for tests) which do not get installed when you pip install a project. However the entrypoint always gets exposed and tempest will pick it up regardless of whether all the requirements are installed.
* Move bundled OpenStack services tempest plugins to a separate Repo fixes the issues.
* Create a new separate repo for the tempest plugin
* Migrate all the functionality from the bundled plugin to the new repo
* Switch gating jobs to use the new plugin project instead of the bundled one
* Delete the bundled tempest plugin from the project repo
* Package Tempest plugin in RDO
* Fix openstack services package by Removing tempest plugin references in RDO
* Integrate the package in puppet-tempest
* Take ownership of the Tempest plugin based on the DFG it falls.
*** Bug 1544683 has been marked as a duplicate of this bug. ***
This BZ has been finished since RHOS-13 release. All the plugins were split from Tempest and moved to separate repositories.