[openstack-dev] [stable][neutron] backports vs. vendor decomposition
Ihar Hrachyshka
ihrachys at redhat.com
Thu Jan 22 16:10:16 UTC 2015
There is a proposal from Armando to clear this up:
https://review.openstack.org/#/c/148745/
On 01/22/2015 03:53 PM, Sukhdev Kapur wrote:
>
> Hi Ihar,
>
> I have added this on the agenda for next neutron core meeting to discuss.
>
> This email gives an excellent context to the issue at hand. Only one
> thing I would like to add is that the deadline for stable/juno is only
> one week away - hence, it raises the urgency to call for action.
>
> Thanks
>
> -Sukhdev
>
>
>
> On Jan 21, 2015 1:43 PM, "Ihar Hrachyshka" <ihrachys at redhat.com
> <mailto:ihrachys at redhat.com>> wrote:
> >
> > Hi all,
> >
> > as per:
> https://github.com/openstack/neutron-specs/blob/master/specs/kilo/core-vendor-decomposition.rst,
> neutron is going to spin off vendor plugins into separate trees
> outside of neutron core team control. This raises several questions on
> how we are going to handle stable branches that will still include
> plugin code for several cycles.
> >
> > 1) If a plugin is already spinned off and a patch is applicable for
> stable branches, there are two cases:
> > - patch is not merged into vendor repo;
> > - patch is merged into the vendor repo.
> >
> > My take is:
> > - if it's merged in the vendor repo, then we just cherry-pick from
> there (it should just work if vendor repo was created with the whole
> master history saved).
> > - if it's not merged into the repo, I would recommend the author to
> propose and merge it there first. If there are any justifiable issues
> with proposing it for vendor repo inclusion, then we can consider
> stable-only merge.
> >
> > 2) If a plugin is in the middle of spinning off and a patch is
> applicable for stable branch, then there are two options:
> > - require plugin to spin off first and then apply the patch to
> vendor repo, or
> > - allow some types of patches to be merged into master while vendors
> are working on spinning off the code.
> >
> > Examples of those patches are:
> > - https://review.openstack.org/#/c/147976/
> > - https://review.openstack.org/#/c/148369/
> >
> > Currently the patches above are blocked for master inclusion
> assuming the spin off must take place first, and then bugs should be
> fixed in vendor repo. At the same time, we usually avoid backports
> unless the code is not in master anymore, but that's not the case
> here. So the current approach effectively blocks any bug fixes for
> plugins in stable branches.
> >
> > If we would be sure that a plugin is out of the tree till Kilo, then
> it would indeed be a waste of time to review the code for
> neutron/master since it would be guaranteed to be released as a
> separate packagr e anyway. In that case, it would be ok to forbid any
> patches for the plugin code till its spin off from master, and the
> patch would go directly to stable branches.
> >
> > That said, it would potentially introduce regressions if we consider
> upgrades from Juno to Kilo + vendor repo. We may say that since the
> regression would be on vendor plugin side, and neutron team does not
> have anything to do with spinned off plugins, that would be fine for us.
> >
> > But: we cannot guarantee that a plugin wil leave the neutron tree
> this cycle. The spec explicitly gives permission to stay in the tree
> till L-cycle, and in that case it will be our responsibility to handle
> regressions in Kilo that we may introduce by blocking master fixes.
> >
> > I think we should try to set procedure that would avoid potential
> regressions even if they will come from vendor repos.
> >
> > We allow fixes that are not applicable for final releases for master
> if it's to be backported in stable branches. F.e. see
> https://review.openstack.org/#/c/127633/ that was merged into master
> while pecan migration should make it useless for Kilo.
> >
> > It's my belief plugin code bug fixes in stable branches should be
> treated the same way.
> >
> > That said, we should expect vendors to run third party CI for stable
> branches if they want to see backports merged in.
> >
> > ***
> > I think the correct approach here is:
> > - once a plugin is spinned off, consider it is a 'master' for the
> code, and backport to stable branches directly from there;
> > - before a plugin is spinned off, assume that it's not going to be
> spinned off in Kilo, and hence allow bug fixes in neutron/master (but
> not new features);
> > - once we get to L release that requires all vendor plugin to go
> out, forbid any fixes for the code, assuming they will either spin off
> or will be dropped anyway.
> > ***
> >
> > The approach is pretty similar to how oslo project handles new
> library spin-offs from oslo-incubator. Yes, there is a difference
> here: in neutron, we loose any control on spinned off repos. Though I
> don't feel it justifies stable-only fixes while we can easily add
> value to vendor code by asking people to consider fixing the bug there
> first. More importantly, nothing should justify blocking bug fixing
> for stable branches.
> >
> > Thoughts?
> >
> > /Ihar
> >
> >
> __________________________________________________________________________
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150122/6be58ce2/attachment.html>
More information about the OpenStack-dev
mailing list