[openstack-dev] The danger of capping python-*clients in core projects, and forbidding it in the future
Sean Dague
sean at dague.net
Thu Jul 11 14:12:04 UTC 2013
On 07/11/2013 09:36 AM, Dolph Mathews wrote:
>
> On Thu, Jul 11, 2013 at 6:12 AM, Mark McLoughlin <markmc at redhat.com
> <mailto:markmc at redhat.com>> wrote:
>
> On Wed, 2013-07-10 at 17:07 -0500, Dolph Mathews wrote:
> > On Wednesday, July 10, 2013, Sean Dague wrote:
> >
> > > Yesterday in the very exciting run around to figure out why the
> gate was
> > > broken, we realized something interesting. Because of the way
> the gate
> > > process pip requirements (one project at a time), on a current
> gate run we
> > > actually install and uninstall python-keystoneclient 4 times in
> a normal
> > > run, flipping back and forth from HEAD to 0.2.5.
> > >
> > >
> http://paste.openstack.org/**show/39880/<http://paste.openstack.org/show/39880/>-
> shows what's going on
> > >
> > > The net of this means that if any of the projects specify a
> capped client,
> > > it has the potential for preventing that client from being
> tested in the
> > > gate. This is very possibly part of the reason we ended up with
> a broken
> > > python-keystoneclient 0.3.0 released.
> >
> >
> > > I think we need to get strict on projects and prevent them from
> capping
> > > their client requirements. That will also put burden on clients
> that they
> > > don't break backwards compatibility (which I think was a goal
> regardless).
> > > However there is probably going to be a bit of pain getting
> from where we
> > > are today, to this world.
> >
> >
> > Thanks for investigating the underlying issue! I think the same
> > policy should apply a bit further to any code we develop and consume
> > ourselves as a community (oslo.config, etc). I have no doubt
> that's the
> > standard we strive for, but it's all too easy to throw a cap into a
> > requirements file and forget about it.
>
> I don't think we've ever capped oslo.config anywhere. Got a pointer to
> what triggered that concern?
>
>
> No no, I didn't mean to call you out... just using oslo.config as a
> prime example of a non-client project that should (and from my
> perspective: does) abide by the same policy.
>
>
> We should/could be capping oslo.config like this:
>
> oslo.config>=1.1.0,<2.0
>
> because the API stability commitment is that we won't break the API
> without bumping the release number to 2.0. I don't anticipate doing 2.0
> soon/ever, so I've never pushed ahead with that capping.
>
>
> I think that capping on the major version number is acceptable, as long
> as we require major version bumps to break backwards compatibility...
> and don't do major version bumps on a regular basis.
The problem is, the gate has not good way to navigate this ATM. So the
moment someone caps major versions of a client don't get tested.
So let's go with complete uncapping for now, and only deal with the
major version issue if it actually comes up.
-Sean
--
Sean Dague
http://dague.net
More information about the OpenStack-dev
mailing list