Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Requirement for Python >= 3.7 (and deprecation of Ubuntu 18) breaks part of exsiting user base #404

Open
eengstrom opened this issue Apr 12, 2024 · 1 comment

Comments

@eengstrom
Copy link
Contributor

First, I really appreciate the work you put into this collection, and want to support your efforts.
To that end, I've been testing, and then rolling out in production, the code directly from Git.
However, a few recent changes in the code base conflict with my need to support (legacy) Ubuntu 18.4 systems.

Specifically these two:

  • PR #399 - update supported distros, remove older distros
  • PR #401 - factor out cliargs into separate dataclass

The first PR simply affects testing, the second PR has an implicit requirement for Python >= 3.7 because of your (new) use of annotations. Unfortunately, Python 3.7 isn't the default Python on Ubuntu 18 - only 3.6.9.

Yes, I know that Ubuntu 18.4 is EOL, but in our usage with Expanded Security Maintenance (ESM), we feel comfortable using it for a little longer, giving us a bit more time to upgrade some legacy systems.

While I don't want to get in the way of progress, I wonder if the changes to use the annotations package are strictly necessary, or if we could find a way to have the code base still support Ubuntu 18, and by extension, Python 3.6.9 for a bit longer.

By the way, I was very excited to see PR #402 (resolving #352), removing the need to manage password_files myself. Sadly, I can't experiment with that quite yet, somewhat obviously.

Again, thanks for your efforts.

@maxhoesel
Copy link
Collaborator

maxhoesel commented Apr 13, 2024

Hi! I created PR #399 because I hadn't updated the tested distros for this collection in a while. Since Ubuntu 18 and Rockylinux 8 are mainstream EOL (and since CI builds for #401 were failing on them due to Py36) I removed these distroy along with the other truly (or soon-to-be) EOL ones. To be frank, I didn't consider the option of someone using Ubuntu 18 with the ESL option 😅

(Also the py37 requirement isn't really implicit, i added it in #344 because I erroneously believed type hints required py37. Turns out they work in Py36 too, they're just slower)

RE dropping the Python requirement down to 3.6: I'd be open to that, especially because there's a workaround for the annotations use-case in the module_util (see the python 3.6 section of this answer here: https://stackoverflow.com/a/33533514). I'd be happy to merge a PR that uses this solution to readd support for python 3.6 (and thus Ubuntu 18 + RockyLinux 8).

Also thank you for using this collection in prod and contributing through issues, this sort of feedback is very valuable 👍

@maxhoesel maxhoesel changed the title Implicit requirement for Python >= 3.7 (and deprecation of Ubuntu 18) is problematic Requirement for Python >= 3.7 (and deprecation of Ubuntu 18) breaks part of exsiting user base Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants