powervm / pypowervm

Python library for interacting with the PowerVM API
Apache License 2.0
26 stars 14 forks source link

Remove 'futures' dependency #17

Closed stephenfin closed 1 year ago

stephenfin commented 3 years ago

The 'futures' dependency doesn't actually work with Python 3.6, or any Python 3.x release. We shouldn't be installing it in that environment and attempting to do so is an error with the most recent pip dependency resolver, which is in turn breaking unit tests for e.g. openstack nova. Remove the dependency. Testing this necessitates some surgery on the tox.ini file to ensure I can actually run tests with Python 3.6 on my host (Fedora 34 where 'python3' points to Python 3.9).

Note that I found references to a Gerrit instance, but I wasn't able to figure out which Gerrit instance I should use, and the '.gitreview' file is not configured with this information. If this is an internal instance, I'd respectfully ask that someone take these commits and apply them for me.

stephenfin commented 3 years ago

Anything I need to do to move this along? It's a trivial thing but it's blocking Python 3.6 testing in nova for me. @pkenchap, perhaps?

hrw commented 2 years ago

It also makes building OpenStack Kolla images painful and very time consuming as pip tries to go through long list of packages in an attempt to sort situation out.

2uasimojo commented 2 years ago

It pains me to watch this be ignored -- clearly nobody is actively maintaining this project on IBM's side.

Due to what can only possibly be an oversight, I still seem to have admin access to this repo, so I could merge this. However, I imagine that's not enough to unblock you, as you would presumably still need a pip package published.

@atthorst @edmondsw @dikonoor could you please (try to track down someone who can) move this forward?

pshchelo commented 2 years ago

I actually wondered how on Earth upstream CI in OpenStack Nova is passing at all - and you know what? Some PyPI mirrors (used by those upstream jobs) clearly contain futures-py3..whl that is obviously missing from main PyPI - a dirty hack indeed....

hrw commented 2 years ago

In OpenStack Kolla we just drop that line from Nova's requirements.txt to be able to do CentOS builds (only distro with Python 3.6).

JM1 commented 2 years ago

Due to this dependency on futures, DevStack fails to install on a clean CentOS 8 (Stream) system or any other distribution with Python 3.6. Further, futures is listed in OpenStack's upper-constraints.txt, as Nova depends on pypowervm. There have been several attempts to remove futures from upper-constraints.txt, but it is always pulled in again via pypowervm.

stephenfin commented 2 years ago

Time to deprecate the driver and avoid installing these requirements by default. This project (and by extension, the nova driver) looks dead.

stephenfin commented 2 years ago

The driver is now deprecated and the package is no longer installed by default, @JM1 @hrw

hiwakaba commented 2 years ago

Hello, I think pypowervm without futures should work on python3, but pypowervm with futures can't work on python3 because futures only works with python2.

Please see https://github.com/agronholm/pythonfutures#readme

futures does not work on Python 3 due to Python 2 syntax being used in the codebase. 
Python 3 users should not attempt to install it, since the package is already included in the standard library.

By the way... I need help because I got the following error when I was installing devstack(OpenStack devtool) on CentOS Stream-8.6. Do you think this issue has any relation with the following error message?

...
ERROR: Could not find a version that satisfies the requirement futures>=3.0; python_version == "3.6" (from pypowervm) (from versions: 0.2.python3, 0.1, 0.2, 1.0, 2.0, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.1.0, 3.1.1)
ERROR: No matching distribution found for futures>=3.0; python_version == "3.6"
...

Thanks in advance, Hirotaka

2uasimojo commented 2 years ago

Hi @hiwakaba. I'm afraid pypowervm is no longer maintained. If you're trying to use it outside of OpenStack, I recommend forking it and just making whatever changes you need.

hiwakaba commented 2 years ago

Hello @2uasimojo. Thanks for your kind response! I am actually an OpenStack user. I will try some workaround for myself until this PR will be merged.

2uasimojo commented 2 years ago

Hello @2uasimojo. Thanks for your kind response! I am actually an OpenStack user. I will try some workaround for myself until this PR will be merged.

That's just it: This PR will never be merged :( (Even if it is, there's nobody to build the new pypi package.)

Are you trying to do something PowerVM-specific in OpenStack? If so, I'm afraid that support is being removed. If not, I think you'll be fine once that has been done, as this package will no longer be installed and won't get in your way anymore.

stephenfin commented 2 years ago

I'm going to close this PR to signal that, as far as I'm concerned, my involvement here is done. We've deprecated support for PowerVM in OpenStack now and will look to remove it shortly. We've also made the dependency optional to avoid installation issues for certain users in Python 3.6 environments. Hopefully this resolves most issues for the people affected by this.

2uasimojo commented 1 year ago

just checking something, will close again in a sec...