[openstack-dev] [QA][blazar][ceilometer][congress][intel-nfv-ci-tests][ironic][manila][networking-bgpvpn][networking-fortinet][networking-sfc][neutron][neutron-fwaas][neutron-lbaas][nova-lxd][octavia][sahara][tap-as-a-service][horizon][vmware-nsx][watcher][all] Refactor of Tempest scenario base classes

Andrea Frittoli andrea.frittoli at gmail.com
Mon Feb 27 11:34:01 UTC 2017


Hello folks,

TL;DR: if today you import manager,py from tempest.scenario please maintain
a copy of [0] in tree until further notice.

Full message:
------------------

One of the priorities for the QA team in the Pike cycle is to refactor
scenario tests to a sane code base [1].

As they are now, changes to scenario tests are difficult to develop and
review, and failures in those tests are hard to debug, which is in many
directions far away from where we need to be.

The issue we face is that, even though tempest.scenario.manager is not
advertised as a stable interface in Tempest, many project use it today for
convenience in writing their own tests. We don't know about dependencies
outside of the OpenStack ecosystem, but we want to try to make this
refactor a smooth experience for our uses in OpenStack, and avoid painful
gate breakages as much as possible.

The process we're proposing is as follows:
- hold a copy of [0] in tree - in most cases you won't even have to change
your imports as a lot of projects use tempest/scenario in their code base.
You may decide to include the bare minimum you need from that module
instead of all of it. It's a bit more work to make the patch, but less
un-used code lying around afterwards.
- the QA team will refactor scenario tests, and make more interfaces stable
(test.py, credential providers). We won't advertise every single change in
this process, only when we start and once we're done.
- you may decide to discard your local copy of manager.py and consume
Tempest stable interfaces directly. We will help with any question you may
have on the process and on Tempest interfaces.

Repositories affected by the refactor are (based on [2]):

blazar,ceilometer,congress,intel-nfv-ci-tests,ironic,manila,networking-bgpvpn,networking-fortinet,networking-sfc,neutron-fwaas,neutron-lbaas,nova-lxd,octavia,sahara-tests,tap-as-a-service,tempest-horizon,vmware-nsx,watcher

If we don't hear from a team at all in the next two weeks, we will assume
that the corresponding Tempest plugin / bunch of tests is not in use
anymore, and ignore it. If you use tempest.scenario.manager.py today and
your repo is not on the list, please let us know!

I'm happy to propose an initial patch for any team that may require it -
just ping me on IRC (andreaf).
I won't have the bandwidth myself to babysit each patch through review and
gate though.

Thank you for your cooperation and patience!

Andrea

[0]
http://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/manager.py

[1] https://etherpad.openstack.org/p/pike-qa-priorities
[2]
https://github.com/andreafrittoli/tempest_stable_interfaces/blob/master/data/get_deps.sh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170227/452ad0db/attachment.html>


More information about the OpenStack-dev mailing list