<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 22, 2014 at 3:22 AM, Flavio Percoco <span dir="ltr"><<a href="mailto:flavio@redhat.com" target="_blank">flavio@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On 21/01/14 13:14 -0500, Joe Gordon wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
On Jan 17, 2014 12:24 AM, "Flavio Percoco" <<a href="mailto:flavio@redhat.com" target="_blank">flavio@redhat.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
On 16/01/14 17:32 -0500, Doug Hellmann wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
On Thu, Jan 16, 2014 at 3:19 PM, Ben Nemec <<a href="mailto:openstack@nemebean.com" target="_blank">openstack@nemebean.com</a>> wrote:<br>
<br>
On 2014-01-16 13:48, John Griffith wrote:<br>
<br>
Hey Everyone,<br>
<br>
A review came up today that cherry-picked a specific commit to OSLO<br>
Incubator, without updating the rest of the files in the module. I<br>
rejected that patch, because my philosophy has been that when you<br>
update/pull from oslo-incubator it should be done as a full sync of<br>
the entire module, not a cherry pick of the bits and pieces that you<br>
may or may not be interested in.<br>
<br>
As it turns out I've received a bit of push back on this, so it seems<br>
maybe I'm being unreasonable, or that I'm mistaken in my<br>
</blockquote></blockquote>
understanding<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
of the process here. To me it seems like a complete and total waste<br>
to have an oslo-incubator and common libs if you're going to turn<br>
around and just cherry pick changes, but maybe I'm completely out of<br>
line.<br>
<br>
Thoughts??<br>
<br>
<br>
I suppose there might be exceptions, but in general I'm with you. For<br>
</blockquote></blockquote>
one<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
thing, if someone tries to pull out a specific change in the Oslo code,<br>
there's no guarantee that code even works. Depending on how the sync was<br>
done it's possible the code they're syncing never passed the Oslo unit<br>
tests in the form being synced, and since unit tests aren't synced to the<br>
target projects it's conceivable that completely broken code could get<br>
through Jenkins.<br>
<br>
Obviously it's possible to do a successful partial sync, but for the sake<br>
of reviewer sanity I'm -1 on partial syncs without a _very_ good reason<br>
(like it's blocking the gate and there's some reason the full module<br>
</blockquote></blockquote>
can't<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
be synced).<br>
<br>
<br>
I agree. Cherry picking a single (or even partial) commit really should be<br>
avoided.<br>
<br>
The update tool does allow syncing just a single module, but that should be<br>
used very VERY carefully, especially because some of the changes we're<br>
</blockquote></blockquote>
making<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
as we work on graduating some more libraries will include cross-dependent<br>
changes between oslo modules.<br>
</blockquote>
<br>
<br>
Agrred. Syncing on master should be complete synchornization from Oslo<br>
incubator. IMHO, the only case where cherry-picking from oslo should<br>
be allowed is when backporting patches to stable branches. Master<br>
branches should try to keep up-to-date with Oslo and sync everything<br>
every time.<br>
</blockquote>
<br>
When we started Oslo incubator, we treated that code as trusted. But since then<br>
there have been occasional issues when syncing the code. So Oslo incubator code<br>
has lost *my* trust. Therefore I am always a hesitant to do a full Oslo sync<br>
because I am not an expert on the Oslo code and I risk breaking something when<br>
doing it (the issue may not appear 100% of the time too). Syncing code in<br>
becomes the first time that code is run against tempest, which scares me.<br>
</blockquote>
<br></div></div>
While this might be true in some cases, I think we should address it<br>
differently. Just dropping the trust on the project won't help much.</blockquote><div><br></div><div>How else would you address it?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I would like to propose having a integration test job in Oslo incubator that<br>
syncs in the code, similar to how we do global requirements.<br>
</blockquote>
<br></div>
But isn't this what other gates are for? I mean, when proposing an<br>
oslo sync, each project has it's own gate plus integrated tests that<br>
do this exact job.</blockquote><div><br></div><div>Sort of. There are two possible failure modes here:</div><div><br></div><div>1) oslo-incubator sync is attempted by Alice and the patch fails integration tests in the check queue. Alice doesn't know why it failed and has to go and resolve issue with oslo folks. Alice now thinks doing oslo-incubator syncs are a hassle and stops doing them and moves on to something else.</div>
<div><br></div><div>2) oslo-incubator sync is merged, but introduces non-deterministic bug. This wasn't caught in oslo-incubator because there are no integration tests there. The risk here is that the oslo-incubator code isn't run enough to detect non-deterministic bugs. In fact we just found one yesterday (<a href="https://review.openstack.org/#/c/68275/">https://review.openstack.org/#/c/68275/</a>).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Additionally, what about a periodic jenkins job that does the Oslo syncs and is<br>
managed by the Oslo team itself?<br>
</blockquote>
<br></div>
This would be awesome. It would take the burden of doing the sync from<br>
the project maintainers. Before doing this, though, we need to improve<br>
the `update` script. Currently, there's no good way to generate useful<br>
commit messages out of the sync.<div class=""><div class="h5"><br>
<br>
Cheers,<br>
FF<br>
<br>
-- <br>
@flaper87<br>
Flavio Percoco<br>
</div></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>