<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 1, 2017 at 3:57 AM, Ghanshyam Mann <span dir="ltr"><<a href="mailto:ghanshyammann@gmail.com" target="_blank">ghanshyammann@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Doing gradual refactoring and fixing plugins time to time needs lot of wait and sync.</div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br></div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">That needs:</div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">1. Plugins to switch from current method usage. Plugins to have some other function or same copy paste code what current scenario base class has.</div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">2. Tempest patch to wait for plugin fix.</div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">3. Plugins to switch back to stable interface once Tempest going to provide those. <br></div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br></div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">This needs lot of sync between tempest and plugins and we have to wait for tempest refactoring patch for long. </div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)"><br></div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">To make it more efficient, how about this:</div><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">1. Keep the scenario manger copy in tempest as it is. for plugins usage only.</div></div></blockquote><div>Given that the refactoring effort "started" a year ago, at the current speed it may take 2 years to complete. In the mean time we will have a massive code duplication and a maintenance burden. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">2. Start refactoring the scenario framework by adding more and more helper function under /common or lib.</div></div></blockquote><div>Starting a "framework" (each time I see that word, I have a bad feeling) from scratch without users and usage is very very difficult. How do we know what we need in that framework and what will be actually used in tests ?  </div><div><br></div><div>The effort was called scenario refactoring and I think that's what we should do. We should not do "start from scratch scenarios" or "copy all the code and see what happens".</div><div><br></div><div>There's no problem with plugins. We committed to have a stable interface which is documented and agreed upon. It's clearly written here <a href="https://docs.openstack.org/developer/tempest/plugin.html#stable-tempest-apis-plugins-may-use">https://docs.openstack.org/developer/tempest/plugin.html#stable-tempest-apis-plugins-may-use</a> The rest is private, for Tempest internal use. If Tempest cores disagree with that, then we should first of all put a spec and rewrite that document. </div></div></div></div>