[openstack-dev] Dependency version pinning [was Re: Pyparsing 2.0 breaking jenkins jobs]
Mark McLoughlin
markmc at redhat.com
Thu Feb 28 13:16:23 UTC 2013
On Thu, 2013-02-28 at 22:29 +1030, Christopher Yeoh wrote:
> On Wed, 27 Feb 2013 10:36:52 -0500
> Sean Dague <sdague at linux.vnet.ibm.com> wrote:
> > If no one wants the gate to work before noon EST any more we can
> > leave things unpinned. With pycon in 2 weeks I'm sure these are not
> > the only 2 breaks we're going to see on this.
> >
> > I agree we need some way of figuring out that it's safe to move
> > forward, but the current model means we can loose 1/2 day of merging
> > because of something we don't control at all.
>
> How about this:
>
> - What if by default we pin *everything*.
> - Have a CI machine running a job in the background that uses the
> latest version of everything except where we explicitly pin to a
> specific version because of a known issue.
> - Have that job notify us when the gating tests pass with a later version
> of a package succeeds
> - maybe this can be automatically passed on to the normal gating
> machines and automatically upgrade the pinned version specified.
> - Have the job loudly and repeatedly tell us when the system is broken
> with a newer package (have it spam openstack-dev mailing list and IRC)
> so people will know and be motivated to fix it.
>
> That way we find out about compatibility problems ASAP but we have a
> controlled way of managing the changes necessary into projects and not
> end up with the gate stalled for hours at random times.
It's not just about the gate, it's also about the software we ship. The
ideal is that all our dependencies listed in setup.py are >= because
that allows our software to be installed in more environments.
Cheers,
Mark.
More information about the OpenStack-dev
mailing list