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
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.
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