[openstack-dev] Making pbr an Oslo package
Monty Taylor
mordred at inaugust.com
Thu Nov 29 18:36:58 UTC 2012
On 11/26/2012 02:01 PM, Mark McLoughlin wrote:
> Hey Monty
>
> For other people's reference, this is about taking pbr ("Python Build
> Reasonableness") and releasing it as an Oslo library package:
>
> https://github.com/openstack-dev/pbr
> https://bugs.launchpad.net/openstack-ci/+bug/1082821
>
> My understanding is pbr is based on the openstack.common.setup module in
> oslo-incubator but has evolved a good bit since then.
Yeah - pbr was the first stab at taking openstack.common.setup and
openstack.common.version and making them a library - so it was a
pre-oslo attempt at oslo-ification. :) It evolved some, but it was
mainly code refactoring (once it moved from being something that was
copied file by file, splitting it into several files become nicer) I
believe the substantive changes have been ported back in.
> The reason we're thinking it makes sense under Oslo is that it does
> encode a bunch of OpenStack specific ideas which aren't something we see
> other projects adopting wholesale.
Agree.
> There's a bunch to discuss here:
>
> - You say in the bug that it needs work. It hasn't seen any activity
> in the last couple of months. Is that likely to change soon?
There is one specific thing that needs work - and it might be something
we're willing to punt on. Namely, since it provides setuptools build
code, it becomes rather difficult to have setuptols setup_requires on it
and then use it... so pulling a tarball on a pristine machine and
running python setup.py install will fail.
It's a hard problem because setuptools is ... well, you've seen
setuptools. There is a hard-coded recursion internally that doesn't, as
best I can tell, allow me to exit the recursion correctly. (it's coded
incorrectly, but works in the normal case)
ANYWHOO - other than that it's the code we use across the board, so it's
pretty solid (other than the logic bug people are complaining about) If
we're ok with relaxing that requirement and adding oslo-build to the
list of things that you have to install before you can work (such as
libxml-dev and libxslt-dev and libvirt and python-mysqldb), then it's
ready to go this instant.
> - How close do you think we are to being able to make a commitment to
> its API stability? Remember the rule we're aiming for in Oslo
> packages is that APIs need to be deprecated for two releases before
> they can be removed[1]
Very. Its api hasn't changed - and since it is used already in EVERY
OpenStack project and most of the OpenStack CI projects, it's already a
nightmare to change its API :)
> - Are any projects using it yet? Catch 22 here, I guess, but I'm
> never too confident about any API until it has been used for a
> while.
PBR, no. openstack.common.version|setup - all of them.
> - If we still have a bunch of work to do here, isn't pbr effectively
> in Incubation? Would it make sense to move it back into
> oslo-incubator for a while? At least that would reduce the
> confusion around the current stuff being stale.
We could just ignore the pbr repo and consider the task "extract
openstack.common.{version|setup} to oslo-build." OR, I could take the
refactoring in pbr and move that back in to oslo-incubator first, then
do the extraction. Or I could just rename pbr, give up on the setuptools
bootstrap issue and start migrating projects to it. I'm game for any of
them...
> - Bikeshedding, oslo-version doesn't make sense to me - thinking
> something like oslo-build or oslo-setuptools or something?
I like oslo-build myself.
More information about the OpenStack-dev
mailing list