<br><br><div class="gmail_quote"><div dir="ltr">On Mon, 27 Feb 2017, 12:32 a.m. Ghanshyam Mann, <<a href="mailto:ghanshyammann@gmail.com">ghanshyammann@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Yea, there is no doubt we should refactor scenario tests but even those are internal interface it breaks plugins. We can argue that plugins should not be using those but before that tempest should have all required interface/class/helper as stable interface for plugins. which is what scenario tests refactoring is trying to do.  </div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><div style="color:rgb(34,34,34);font-family:arial,sans-serif" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">​​I agree with the process Andrea defined and we should follow the same. If we can put a deadline for projects to fix, we can speed up our work of refactoring. I propose to keep refactoring patch for 2 week (including comments fixes etc) and give time to plugins to fix and yes we will help them. ​</div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">After 2 week of time, we do not guarantee about any plugin failure (with very rare exception if interface is being used very widely)<br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"></div></div></div></div></blockquote></div><div><br></div><div>I didn't want to an exact time frame in my message because I would say it depends on a case by case. </div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><div style="color:rgb(34,34,34);font-family:arial,sans-serif" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Let's not break plugins (what we doing as max as possible) but we really need each plugins helps on those. QA team fix plugins since starting and we have submitted lot of patches for many plugins to fix them and many of them never got attention or reviewed. </div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">For such cases (which falls under 2 week of deadlines), yes plugins needs to take full responsibility if any of the tempest interface break them.</div></div></div></div></blockquote></div><div><br></div><div>I don't think this will work if we do it on a patch by patch basis. It would slow us down too much and it would become an ongoing effort for other teams which is probably not sustainable.</div><div><br></div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><div style="color:rgb(34,34,34);font-family:arial,sans-serif" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br class="gmail_msg"></div><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">-gmann</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_default gmail_msg" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br class="gmail_msg"></div><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Mon, Feb 27, 2017 at 3:13 AM, Andrea Frittoli <span dir="ltr" class="gmail_msg"><<a href="mailto:andrea.frittoli@gmail.com" class="gmail_msg" target="_blank">andrea.frittoli@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Sun, Feb 26, 2017 at 12:49 AM Masayuki Igawa <<a href="mailto:masayuki@igawa.me" class="gmail_msg" target="_blank">masayuki@igawa.me</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Hi,<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Thank you for bringing this up.<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Yeah, I understand your frustration. We already have the document about our stable interface[1]. It says <br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">------<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Stability<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Any code that lives in tempest/lib will be treated as a stable interface. This means that any public interface under the tempest/lib directory is expected to be a stable interface suitable for public consumption. However, for any interfaces outside of tempest/lib in the tempest tree (unless otherwise noted) or any private interfaces the same stability guarantees don't apply.<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">------<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">So we can change private interfaces basically. However, I also assume that this document is not well known(or people just ignore it, though, maybe). So I'd like to advertise this policy here, and discuss it (if the discussion is needed.)</div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">[1] <a href="https://docs.openstack.org/developer/tempest/library.html#stability" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">https://docs.openstack.org/developer/tempest/library.html#stability</a></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">On Sat, Feb 25, 2017 at 22:39 Jordan Pittier <<a href="mailto:jordan.pittier@scality.com" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">jordan.pittier@scality.com</a>> wrote:<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Hi guys,<div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">So I have a problem with these 2 patches here [1] and here [2]. You basically are blocking any attempt of refactoring manager.py. Refactoring that file has been our number one priority for 2 cycles, and so far hardly no one stepped up really to do the work, except me with these 2 patches. Let me remind you that that file is a gigantic mess, an so are our network scenarios. </div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">The manager.py file in the scenarios directory has no stable interface, and it was never "advertised" so. That some plugins decided to use some private methods (such as this _get_network_by_name) is unfortunate but that should not block us from moving.</div></div></blockquote></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I agree this should not block us from moving, and as you mentioned we definitely need to move and I appreciate the fact that you started the work!</div><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><blockquote class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">So just to be clear, if we really want to refactor our scenarios (and we must in my opinion), things will break for projects that are importing Tempest and using it outside of its stable interface. I am not interested in being the good Samaritan for the whole OpenStack galaxy, I have enough with the 6 core projects and the Tempest stable interface. So guys, if you are and don't want to go forward with [1] and [2], be sure I'll never touch those scenarios again. I am not upset, but we have to make clear decisions, sometimes difficult.</div></div></blockquote></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">We have no way to know exactly who's using unstable interfaces in Tempest, so it's likely someone will have to change their code as a consequence of the refactor.</div><div class="gmail_msg">But I think it's important that we are good citizens and advertise well what's going to change, even if it's about an interface which is not declared as stable.</div><div class="gmail_msg"><br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><blockquote class="gmail_quote m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">[1] : <a href="https://review.openstack.org/#/c/436555/" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">https://review.openstack.org/#/c/436555/</a></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">[2] : <a href="https://review.openstack.org/#/c/438097/" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">https://review.openstack.org/#/c/438097/</a> </div></div>
__________________________________________________________________________<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
</blockquote></div></div><div dir="ltr" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">-- <br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"></div><div class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg"><div dir="ltr" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">Masayuki Igawa</div></div>
__________________________________________________________________________<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="m_7736779457254896413gmail-m_-7692244295590378954gmail_msg gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Scenario tests will go through a significant number of changes as part of the refactor and if every change risks to break someone's gate job it won't work.<br class="gmail_msg"></div><div class="gmail_msg">I propose we proceed as follows:</div><div class="gmail_msg">- identify projects that import from tempest.scenario </div><div class="gmail_msg">- send a notification to the ML about the changes that are going to happen</div><div class="gmail_msg">- help the affected teams to identify a way decouple them from tempest scenario code - most likely copy the relevant code in-tree</div><div class="gmail_msg">- meanwhile continue to work on patches for scenario tests but do not merge them yet<span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif" class="gmail_msg">​</span></div></div></div></blockquote><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">This process shouldn't take long and be rather straight forward.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I already have some data from codesearch, I will send out the e-mail tomorrow.</div><span class="m_7736779457254896413gmail-HOEnZb gmail_msg"><font color="#888888" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Andrea</div></font></span></div></div>
<br class="gmail_msg">__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
<br class="gmail_msg"></blockquote></div><br class="gmail_msg"></div></div>
__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
</blockquote></div>