[cliff][docs][requirements] new cliff versions causes docs to fail to build

Stephen Finucane sfinucan at redhat.com
Tue Jan 7 16:44:37 UTC 2020


On Tue, 2020-01-07 at 09:22 -0600, Sean McGinnis wrote:
> > > > TypeError: issubclass() arg 1 must be a class
> > > > 
> > > 
> > > This should have been fixed by [1], which is in cliff since 2.14.0. The
> > > python-openstackclient docs target (which IIUC still uses the def in
> > > tox.ini?) pulls in requirements.txt which lists
> > > 
> > >  cliff!=2.9.0,>=2.8.0 # Apache-2.0
> > > 
> > > and upper-constraints, which is at 2.16.0. All that seems copacetic to
> > > me. I also can't reproduce the failure locally building
> > > python-openstackclient docs from scratch.
> > > 
> > > What/where/how were you building when you encountered this?
> > > 
> > > efried
> > > 
> > > [1] https://review.opendev.org/#/c/614218/
> > 
> > Part of this could be that cliff is still capped since the newest release has
> > some issues that have yet to be addressed. The upper constraint can't be raised
> > until they are (which also likely means blacklisting this version), but I
> > haven't seen any activity there yet.
> > 
> > So the fix that was supposed to handle this doesn't appear to have actually
> > done so.
> > 
> 
> Or rather, it had fixed it, but somehow in the latest 2.17.0 release, the one
> unrelated change included somehow broke it again.
> 
> https://github.com/openstack/cliff/compare/2.16.0...2.17.0

Commit 8bcd068e876ddd48ae61c1803449d666f5e28ba0, a.k.a. cliff 2.17.0 is
not the commit you (should have been) looking for. As noted at [1], we
appear to have tagged a commit from the review branch instead of one
from master, which mean 2.17.0 is based on code from master shortly
after 2.11.0 (!) was released. I suggest we blacklist 2.17.0 and issue
a new 2.17.1 or 2.18.0 release post-haste.

That's not all though. For some daft reason, the 'python-rsdclient'
projects has imported argparses 'HelpFormatter'  from 'cliff._argparse'
instead of 'argparse'. They need to stop doing this because commit
584352dcd008d58c433136539b22a6ae9d6c45cc of cliff means this will no
longer work. Just import argparse directly.

Stephen

[1] https://review.opendev.org/#/c/698485/1/deliverables/ussuri/cliff.yaml@13




More information about the openstack-discuss mailing list