Setuptools 48 and Devstack Failures

Ghanshyam Mann gmann at ghanshyammann.com
Sun Jul 5 01:24:55 UTC 2020


---- On Fri, 03 Jul 2020 17:29:18 -0500 Ghanshyam Mann <gmann at ghanshyammann.com> wrote ----
 >  ---- On Fri, 03 Jul 2020 14:13:04 -0500 Clark Boylan <cboylan at sapwetik.org> wrote ----
 >  > Hello,
 >  > 
 >  > Setuptools has made a new version 48 release. This appears to be causing problems for devstack because `pip install -e $PACKAGE_PATH` installs commands to /usr/bin and not /usr/local/bin on Ubuntu as it did in the past. `pip install $PACKAGE_PATH` continues to install to /usr/local/bin as expected. Devstack is failing because keystone-manage cannot currently be found at the specific /usr/local/bin/ path.
 >  > 
 >  > Potential workarounds for this include not using `pip install -e` or relying on $PATH to find the commands rather than specifying rooted paths to them. I'll defer to the QA team on how they want to address this. While we can have devstack install an older setuptools version as well, generally this is not considered to be a good idea because anyone doing pip installs outside of devstack may get the newer behavior. It is actually important for us to try and keep up with setuptools changes as a result.
 >  > 
 >  > Fungi indicated that setuptools expected this to be a bumpy upgrade. I'm not sure if they would consider `pip install -e` and `pip install` installing to different paths as a bug, and if they did which behavior is correct. It would probably be a good idea to file a bug upstream if we debug this further.
 > 
 > Yeah, I am not sure how it will go as setuptools bug or an incompatible change and needs to handle on devstack side.
 > As this is blocking all gates, let's use the old setuptools temporarily. For now, I filed devstack bug to track
 > it and once we figure it out then move to latest setuptools - https://bugs.launchpad.net/devstack/+bug/1886237  
 > 
 > This is patch to use old setuptools- 
 > - https://review.opendev.org/#/c/739290/

Updates: 
Issue is when setuptools adopts distutils from the standard library (in 48.0.0) and uses it,  downstream packagers customization to distutils will be lost.
- https://github.com/pypa/setuptools/issues/2232

setuptools 49.1.0 reverted the adoption of distutils from the standard library and its working now.

I have closed the devstack bug 1886237  and proposed the revert of capping of setuptools by blacklisting 48.0.0 and 49.0.0 so
that we test with latest setuptools. For now, devstack will pick the 49.1.0 and pass.
- https://review.opendev.org/#/c/739294/2

In summary, gate is green and you can recheck on the failed patches.

-gmann
 > 
 >  > 
 >  > Clark
 >  > 
 >  > 
 > 
 > 



More information about the openstack-discuss mailing list