[openstack-dev] [oslo] Oslo library versioning
Monty Taylor
mordred at inaugust.com
Fri Nov 30 22:24:49 UTC 2012
oslo-version fix:
https://review.openstack.org/17249
cinderclient:
https://review.openstack.org/17250
https://review.openstack.org/17251
On 11/30/2012 02:12 PM, Joshua Harlow wrote:
> Completely agree with u, I've been thorough the package nightmare…
>
> Maybe we can finally fix the whole thing with some consensus now that
> many people have been through the pain.
>
> From: Matt Joyce <matt.joyce at cloudscaling.com
> <mailto:matt.joyce at cloudscaling.com>>
> Reply-To: OpenStack Development Mailing List
> <openstack-dev at lists.openstack.org
> <mailto:openstack-dev at lists.openstack.org>>
> Date: Friday, November 30, 2012 1:24 PM
> To: OpenStack Development Mailing List
> <openstack-dev at lists.openstack.org
> <mailto:openstack-dev at lists.openstack.org>>
> Subject: Re: [openstack-dev] [oslo] Oslo library versioning
>
>
> Maybe this isn't super helpful, but it has to be said.
>
> I've been doing some packaging work for openstack lately. And, that's
> lead to me getting a bit testy on IRC. Sorry for that.
>
> A big part of my frustration comes from the way we version inside of
> OpenStack core.
>
> I'll break this down to two different concerns.
>
>
> 1. First Concern - No standard.
>
> We are ostensibly doing milestones for components, and independent yet
> standardized versioning for clients.
>
> Except for swift which is just kind of doing it's own thing not being a
> part of OpenStack at all.
>
> Now we're discussing possibly introducing a fourth versioning scheme.
>
> It makes the automation of packaging that much more difficult if I have
> to come up with new logic for every single component of openstack that
> has a different versioning scheme.
>
> Which leads me to the second point.
>
> 2. Second Concern - .git derives our versioning
>
> First, thank god for the versioninfo file. Without it, cinderclient
> would be unbuildable in certain situations.
>
> It boils down to this logic:
>
> from cinderclient/openstack/common/setup.py ( which btw is common
> SOLELY to cinderclient every other client does this logic in a different
> yet standard fashion ).
>
> def get_post_version(projectname):
> """Return a version which is equal to the tag that's on the current
> revision if there is one, or tag plus number of additional revisions
> if the current revision has no tag."""
>
> if os.path.isdir('.git'):
> version = _get_git_post_version()
> write_versioninfo(projectname, version)
> return version
> return open(os.path.join(projectname, 'versioninfo'),
> 'r').read().strip()
>
> This basically says either grab the version from .git, or the
> versioninfo file. Except that generating the versioninfo file requires
> .git.
>
> So I end up having to write logic to figure out release tagging and plug
> in versioninfo files into the clients. Which would be fine except right
> now we have 3 different approaches to tagging repos in the project.
>
> Please for the love of all that is happy and free in the world, don't
> create a fourth.
>
> -Matt
>
>
> Hope this doesn't come off as aggressive or angry it's more exasperation.
>
> On Fri, Nov 30, 2012 at 11:29 AM, Monty Taylor <mordred at inaugust.com
> <mailto:mordred at inaugust.com>> wrote:
>
> Actually, if we have some snapshot releases which look like this:
>
> 2012.2~G2~5 (for instance)
>
> That get turned in to python versions that look like this:
>
> 2012.2-alpha2.5 (for instance)
>
> Then I don't understand why we couldn't upload snapshots and real
> releases to pypi - and then have nova do:
>
> oslo-foo>=2012.2,<=2013.1
>
> In its pip-requires.
>
> (we might be splitting hairs on this one)
>
> On 11/30/2012 11:07 AM, Joshua Harlow wrote:
> > Is there a versioning scheme that can be followed here?
> >
> > Stable releases on pypi have even numbers, odd numbers are unstable?
> >
> > Isn't something like that pretty common (?), then u can just upload
> > everything to pypi.
> >
> > Maybe that¹s another idea.
> >
> > On 11/30/12 5:45 AM, "Mark McLoughlin" <markmc at redhat.com <mailto:markmc at redhat.com>> wrote:
> >
> >> On Mon, 2012-11-26 at 22:40 +0000, Mark McLoughlin wrote:
> >>> On Fri, 2012-11-23 at 11:55 +0100, Thierry Carrez wrote:
> >>>> There seem to be two options there: just push everything on the same
> >>>> PyPI module, or have multiple PyPI modules for each series. I'd say
> >>>> the latter looks worse.
> >>>
> >>> I don't really buy that unstable development releases of Oslo have to go
> >>> to PyPI in order for core projects to be able to consume them.
> >>>
> >>> pip supports http:// URLs of tarballs. Why not use that during
> >>> development?
> >>
> >> I'm kinda waiting for opinions on this :-)
> >>
> >> Cheers,
> >> Mark.
> >>
> >>
> >> _______________________________________________
> >> OpenStack-dev mailing list
> >> OpenStack-dev at lists.openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list