[Openstack-operators] Operations project: Packaging

Joshua Harlow harlowja at outlook.com
Wed Nov 19 22:01:16 UTC 2014

That sort of makes the operator/package builder then solely responsible 
for knowing what the versions should be right? Once used it becomes no 
longer pbr's job to figure out a right version, which works ok as long 
as u have the appropriate infrastructure to do this correctly (and 
meticulously follow this). That seems like extra work that I'd rather 
not get involved in :-P

For something like a git-hash I recall there was going to be some 
inbuilt pbr support for extracting a valid rpm-version that would be 
valid even for git-hashes without having to start overriding the version 
via PBR_VERSION. This would be the ideal case, to always have a version 
that works come from PBR's version automagic code, either if its a 
git-hash, a tag, or something else...

I think that code might be in an unreleased PBR code base but I'm not 
100% sure (it was connected to the sem-ver code that got added since 
sem-ver calculates the version and then there was a translation to a rpm 
version), I don't see `python setup.py --help` having a new command that 
could get this version so I'm guessing thats still the case.


Mathieu Gagné wrote:
> On 2014-11-19 4:25 PM, Kris G. Lindgren wrote:
>> Sure.
>> PBR when working off of a branch uses the git hash of the commit for the
>> version of the package. So you will get a version name like
>> openstack-nova-2014.1.2-{githash}, which is used by other tools to set
>> the
>> name of the package (such as anvil). So when you build a new package and
>> the githash changes the hash maybe lower than the previous hash. This
>> means that the newly built package will have a version number lower than
>> the previous package. Any package management tool will ignore the new
>> package because it is an earlier version of the package compared to whats
>> already installed. Thus you get upgrade hell. Now, PBR supports tags -
>> but it only supports annotated tags. So if you happen to create your tag
>> via: git tag and you forget the "-a", once again you have upgrade hell
>> because its going to default using the githash.
>> The behavior that I would change is to allow you to override the the
>> setting of the version to the git hash. How? I don¹t really care - I
>> could even work with a text file for the override.
> AFAIK, you should be able to use the PBR_VERSION environment variable to
> set your own version:
> http://docs.openstack.org/developer/pbr/packagers.html

More information about the OpenStack-operators mailing list