<div dir="ltr">Hello folks,<div><br></div><div><div>TL;DR: if today you import manager,py from tempest.scenario please maintain a copy of [0] in tree until further notice.</div><div><br></div></div><div>Full message:</div><div>------------------</div><div><br></div><div>One of the priorities for the QA team in the Pike cycle is to refactor scenario tests to a sane code base [1].<br></div><div><br></div><div>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.<br></div><div><br></div><div>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.</div><div><br></div><div>The process we're proposing is as follows:</div><div>- 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.</div><div>- 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.</div><div>- 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.</div><div><br></div><div>Repositories affected by the refactor are (based on [2]):</div><div><br></div><div>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</div><div><br></div><div>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 <a href="http://tempest.scenario.manager.py">tempest.scenario.manager.py</a> today and your repo is not on the list, please let us know!</div><div><br></div><div>I'm happy to propose an initial patch for any team that may require it - just ping me on IRC (andreaf).</div><div>I won't have the bandwidth myself to babysit each patch through review and gate though.</div><div><br></div><div>Thank you for your cooperation and patience!</div><div><br></div><div>Andrea</div><div><br></div><div>[0] <a href="http://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/manager.py">http://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/manager.py</a> </div><div>[1] <a href="https://etherpad.openstack.org/p/pike-qa-priorities">https://etherpad.openstack.org/p/pike-qa-priorities</a></div><div>[2] <a href="https://github.com/andreafrittoli/tempest_stable_interfaces/blob/master/data/get_deps.sh">https://github.com/andreafrittoli/tempest_stable_interfaces/blob/master/data/get_deps.sh</a> </div></div>