New spec for stein: os_tempest tripleo integration
Change-Id: I8502c05268b77c7e19a52316b0d669cf8b74b6d9
This commit is contained in:
parent
54ed11f861
commit
3de28c46f1
154
specs/stein/ostempest-tripleo.rst
Normal file
154
specs/stein/ostempest-tripleo.rst
Normal file
@ -0,0 +1,154 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
======================================
|
||||
Integrate os_tempest role with TripleO
|
||||
======================================
|
||||
|
||||
Launchpad Blueprint:
|
||||
|
||||
https://blueprints.launchpad.net/tripleo/+spec/os-tempest-tripleo
|
||||
|
||||
Tempest provides a set of API and integrations tests with batteries
|
||||
included in order to validate the OpenStack Deployment. In TripleO
|
||||
project, we are working towards using a unified tempest role i.e.
|
||||
`os_tempest` provided by OpenStack Ansible project in TripleO CI
|
||||
in order to foster collaboration with multiple deployment tools and
|
||||
improve our testing strategies within OpenStack Community.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
In the OpenStack Ecosystem, we have multiple *ansible based* deployment tools
|
||||
that use their own roles for install/configure and running tempest testing.
|
||||
Each of these roles is trying to do similar stuff tied to the different
|
||||
deployment tools. For example: `validate-tempest` ansible role on TripleO CI
|
||||
provides most of the stuff but it is tied with the TripleO deployment and
|
||||
provides some nice feature (Like: bugcheck, failed tests email notification,
|
||||
stackviz, python-tempestconf support for auto tempest.conf generation) which
|
||||
are missing in other roles. It is leading to duplication and reduces what
|
||||
tempest tests are not working across them, leading to no collaboration on
|
||||
the Testing side.
|
||||
|
||||
The OpenStack Ansible team provides `os_tempest` role for installing/
|
||||
configuring/running tempest and post tempest results processing and there
|
||||
is a lot of duplication between their work and the roles used for testing
|
||||
by the various deployment tools.It almost provides most of the stuff
|
||||
provided by each of the deployment tool specific tempest roles. There are
|
||||
few stuffs which are missing can be added in the role and make it useable
|
||||
so that other deployment tools can consume it.
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
Using unified `os_tempest` ansible role in TripleO CI will help to maintain
|
||||
one less role within TripleO project and help us to collaborate with
|
||||
openstack-ansible team in order to share/improve tests strategies across
|
||||
OpenStack ecosystem and solve tempest issues fastly.
|
||||
|
||||
In order to achieve that, we need:
|
||||
* Improve `os_tempest` role to add support for package/container install,
|
||||
python-tempestconf, stackviz, skip list, bugcheck, tempest
|
||||
log collection at the proper place.
|
||||
|
||||
* Have a working CI job on standalone running tempest from `os_tempest`
|
||||
role as well as on OSA side.
|
||||
|
||||
* Provide an easy migration path from validate-tempest role.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
If we do not use the existing `os_tempest` role then we need to re-write the
|
||||
`validate-tempest` role which will result in again duplication and it will
|
||||
cost too much time and it also requires another set of efforts for adoption
|
||||
in the community which does not seems to feasible.
|
||||
|
||||
Security Impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Upgrade Impact
|
||||
--------------
|
||||
|
||||
None
|
||||
|
||||
Other End User Impact
|
||||
---------------------
|
||||
|
||||
We need to educate users for migrating to `os_tempest`.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other Deployer Impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer Impact
|
||||
----------------
|
||||
|
||||
Helps more collaboration and improves testing.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
|
||||
Primary assignee:
|
||||
* Arx Cruz (arxcruz)
|
||||
* Chandan Kumar (chkumar246)
|
||||
* Martin Kopec (mkopec)
|
||||
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Install tempest and it's dependencies from Distro packages
|
||||
* Running tempest from containers
|
||||
* Enable stackviz
|
||||
* python-tempestconf support
|
||||
* skiplist management
|
||||
* Keeping all tempest related files at one place
|
||||
* Bugcheck
|
||||
* Standalone based TripleO CI job consuming os_tempest role
|
||||
* Migration path from validate-tempest to os_tempest role
|
||||
* Documentation update on How to use it
|
||||
* RDO packaging
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
Currently, os_tempest role depends on `python_venv_build` role when
|
||||
tempest is installed from source (git, pip, venv). We need to package it in RDO.
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
The unified tempest role `os_tempest` will replace validate-tempest
|
||||
role with much more improvements.
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Documentation on how to consume `os_tempest` needs to be updated.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* Unified Tempest role creation & calloboration email:
|
||||
http://lists.openstack.org/pipermail/openstack-dev/2018-August/133838.html
|
||||
|
||||
* os_tempest role:
|
||||
http://git.openstack.org/cgit/openstack/openstack-ansible-os_tempest
|
Loading…
Reference in New Issue
Block a user