Bug 1488115 - [RFE] [All DFG] Move bundled OpenStack services tempest plugins to a separate Repo
Summary: [RFE] [All DFG] Move bundled OpenStack services tempest plugins to a separate...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tempest
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: Upstream M2
: 13.0 (Queens)
Assignee: Chandan Kumar
QA Contact: Martin Kopec
URL:
Whiteboard:
: 1544683 (view as bug list)
Depends On:
Blocks: 1533541 1533544 1533555 1533557 1533558 1533561 1533563 1533566 1533570 1533573 1533574 1533580 1533586 1537569 1538557 1574931
TreeView+ depends on / blocked
 
Reported: 2017-09-04 11:16 UTC by Chandan Kumar
Modified: 2019-02-22 14:15 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-02-22 14:15:22 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Chandan Kumar 2017-09-04 11:16:50 UTC
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

Problem:
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.

Solution:
* Move bundled OpenStack services tempest plugins to a separate Repo fixes the issues.

Completion Criteria:
* 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.

Comment 6 Jakub Libosvar 2018-03-28 08:35:34 UTC
*** Bug 1544683 has been marked as a duplicate of this bug. ***

Comment 7 Martin Kopec 2019-02-22 14:15:22 UTC
This BZ has been finished since RHOS-13 release. All the plugins were split from Tempest and moved to separate repositories.


Note You need to log in before you can comment on or make changes to this bug.