<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr">On Sun, Jun 12, 2016 at 2:25 PM Assaf Muller <<a href="mailto:assaf@redhat.com">assaf@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Jun 11, 2016 at 4:04 PM, Ken'ichi Ohmichi <<a href="mailto:ken1ohmichi@gmail.com" target="_blank">ken1ohmichi@gmail.com</a>> wrote:<br>
> 2016-06-10 17:01 GMT-07:00 Assaf Muller <<a href="mailto:assaf@redhat.com" target="_blank">assaf@redhat.com</a>>:<br>
>> On Fri, Jun 10, 2016 at 12:02 PM, Andrea Frittoli<br>
>> <<a href="mailto:andrea.frittoli@gmail.com" target="_blank">andrea.frittoli@gmail.com</a>> wrote:<br>
>>> Dear all,<br>
>>><br>
>>> I'm working on making the client manager in Tempest a stable interface, so<br>
>>> that in future it may be used safely by plugins to easily gain access<br>
>>> service clients [0].<br>
>>><br>
>>> This work inevitably involves changing the current client manager (unstable)<br>
>>> interface.<br>
>>> Several tempest plugins in OpenStack already consume that interface (namely<br>
>>> the manager.Manager class) [1], so my work is likely to break them.<br>
>>><br>
>>> I would ask the people maintaining the plugins to be careful about using<br>
>>> unstable interfaces, as they are likely to change, especially since we're<br>
>>> working on converting them to stable.<br>
>>><br>
>>> If you maintain a plugin (in OpenStack or outside of OpenStack) that is<br>
>>> likely to be affected by my work, please keep an eye on my gerrit review<br>
>>> [0], leave a comment there or ping me on IRC (andreaf), I would very much<br>
>>> like to make sure the transition is as painless as possible for everyone.<br>
>><br>
>> FWIW this doesn't seem to break Neutron:<br>
>> <a href="https://review.openstack.org/#/c/328398/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/328398/</a>.<br>
>><br>
>> I would appreciate it if changes are made in a backwards compatible<br>
>> manner (Similar to this:<br>
>> <a href="https://review.openstack.org/#/c/322492/13/tempest/common/waiters.py" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/322492/13/tempest/common/waiters.py</a>)<br>
>> so that projects with Tempest plugins may adapt and not break voting<br>
>> jobs. The reason projects are using interfaces outside of tempest.lib<br>
>> is that that's all there is, and the alternative of copy/pasting in to<br>
>> the repo isn't amazing.<br>
><br>
> Yeah, copy/pasting of tempest code which is outside of tempest.lib is<br>
> not amazing.<br>
> However, that is a possible option to continue gate testing on each project.<br>
> We did that to pass Ceilometer gate as a workaround[1], then<br>
> we(QA-team) knew what lib code is necessary and are concentrating on<br>
> making the code as tempest.lib.<br>
> After finishing, we can remove the copy/pasting code from Ceilometer<br>
> by using new tempest.lib code.<br>
><br>
> During this work, I feel it is nice to add a new hacking rule to block<br>
> importing the local tempest code from other projects.<br>
> From viewpoints of outside of QA team, it would be difficult to know<br>
> the stability of tempest code I guess.<br>
> Then by adding a rule, most projects know that and it is nice to<br>
> ignore it by understanding the stability.<br>
<br>
I added a comment on the patch, but when I looked in to this a couple<br>
of months ago, Neutron, Ironic and Heat all imported<br>
tempest.{|test|manager}.<br></blockquote><div><br></div><div>Within OpenStack only the list of plugins importing client manager is rather  long, which is why I sent this message to begin with :)</div><div><br></div><div>I made a new patch-set in [0] now which keeps manager.Manager around while the new stable manager is being prepared. This ensures backward compatibility and emits a warning. Once the client manager moves to tempest.lib namespace I'll send another email asking folks to update their plugins, and eventually remove the version in Tempest (after a grace time).</div><div><br></div><div>[0] <a href="https://review.openstack.org/#/c/326683/">https://review.openstack.org/#/c/326683/</a></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
><br>
> The hacking rule patch is <a href="https://review.openstack.org/#/c/328651/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/328651/</a><br>
> And tempest itself needs to ignore that if merging the rule ;-) [2]<br>
><br>
> Thanks<br>
> Ken Ohmichi<br>
> ---<br>
> [1]: <a href="https://review.openstack.org/#/c/325727/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/325727/</a><br>
> [2]: <a href="https://review.openstack.org/#/c/328652/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/328652/</a><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div></div>