[Rdo-list] python-*client packaging

Jakub Ruzicka jruzicka at redhat.com
Fri May 30 12:11:22 UTC 2014

On 30.5.2014 11:06, Steven Hardy wrote:
> On Thu, May 29, 2014 at 06:04:44PM -0400, Steve Gordon wrote:
>> I guess what I am driving at is that the process of creating a tag in the OpenStack client projects occurs at pretty arbitrary points in time based on the needs of other OpenStack projects that want to set requirements on them rather than anything relating to the needs of downstream distributions such as RDO or RHELOSP. Because no other OpenStack project needed the particular functionality (and fixes) added to python-novaclient in the last three months no new tag was requested nor created. In this case it means we're missing some 84 odd commits made since the 2.17.0 tag was created.
>> Given this what I'm wondering is if there is any reason we shouldn't move to a model where we rebase the python-*client packages to the latest git commit at each milestone (J-1, J-2, J-3, RC, GA), regardless of the existence of a tag, to ensure we are always picking up the latest changes? 
> The main reason not to do this IMO is that all of the upstream CI testing
> is done against the latest released version from pypi, not the latest
> client code from trunk.


> My experience working on Heat (which uses pretty much all of the
> python-*clients) is that regressions can and quite frequently do happen
> when a new client version is tagged, which implies you're taking a
> significant risk by taking a random bunch of git snapshots instead of a
> release which has been verified by hundreds/thousands of CI runs upstream.

Not only CI but also folks who actually use them. Other distros package
tagged versions as well. IMHO using tagged versions is much safer than
random commit with random new bugs.

It's not unusual for clients to release bugfix release very shortly
after new release due to bugs discovered as people start using it. If we
chase master, I'd expect *much* more breakages.

> Here's one example which happened recently and is still not resolved:
> https://bugs.launchpad.net/python-novaclient/+bug/1322183
> Currently if you install latest novaclient from trunk, several heat unit
> tests break, whereas the latest release works fine.
> Part of the value of working with upstream devs to request a new release is
> tagged, is they will hopefully have better visibility of potential blocker
> issues, so the tag should only be applied when there are no known major
> bugs and fixes/features are fully merged (as opposed to cutting a package
> which contains a paritally implemented feature or bugfix, e.g a subset of a
> series of patches have been merged and some are still under review).
> I'd suggest the solution to this problem is just communication with the
> upstream core devs and PTL's - IME most will be quite responsive if you
> ask for a new client release for a valid reason.

Well said, I fully agree with this. If there is something missing in the
latest tagged build, then poke dev/PTL to release new version. If that's
not possible for some reason, I can easily do a backport - it's a matter
of opening a bug.


More information about the dev mailing list