StackStorm / community

Async conversation about ideas, planning, roadmap, issues, RFCs, etc around StackStorm
https://stackstorm.com/
Apache License 2.0
8 stars 3 forks source link

Python 2 Deprecation Meeting (20 Oct 2020): #53

Closed amanda11 closed 2 years ago

amanda11 commented 4 years ago

One-off @StackStorm/tsc 1 hour meeting will take place on Tuesday, 20th Oct 2020, 09:30 AM US Pacific.

Zoom link to join: https://us04web.zoom.us/j/966394889. Meeting guidelines described in #33.

Host: @amanda11 Host assistant: @armab

Meeting Agenda

Further information on prior discussions and technical findings can be found at: https://github.com/StackStorm/discussions/issues/40

Summary on python versions against OSes and EOLs below (thanks to @nzlosh)

image

CC @StackStorm/maintainers @StackStorm/contributors

nmaludy commented 4 years ago

:+1:

nmaludy commented 4 years ago

@amanda11 I've added that meeting to the google calendar: https://calendar.google.com/calendar?cid=MDA5bDJyN3NqcDlvam5uaTB2MjJqamNyZmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ

nmaludy commented 4 years ago

I'll add an idea i had a while back around Python versioning support that people can think over and happily discuss next week:

Thought was to maybe create an "All-in-one" installation that includes our own version of Python, that way we can control the release process and version especially across distros. I know both Chef and Puppet do this with Ruby. Go binaries do this with regards to them building "all-in-one" static binaries that do not dynamically link to any system libraries.

amanda11 commented 4 years ago

I'll add an idea i had a while back around Python versioning support that people can think over and happily discuss next week:

Thought was to maybe create an "All-in-one" installation that includes our own version of Python, that way we can control the release process and version especially across distros. I know both Chef and Puppet do this with Ruby. Go binaries do this with regards to them building "all-in-one" static binaries that do not dynamically link to any system libraries.

Thanks Nick - I've added it to the agenda so that we don't forget to discuss.

amanda11 commented 4 years ago

Thank you to everyone who attended the meeting for giving us your time, it was great to get your feedback. I'll write up minutes shortly.

amanda11 commented 4 years ago

Python 2 Deprecation Meeting Notes:

Attendees: Amanda @amanda11, Eugen @armab, Nick @nmaludy, @blag, Winson @m4dcoder, Carlos @nzlosh, Vivek, Jacob @cognifloyd, AJ @guzzijones

Discussed whether StackStorm ship our own version of python, so one version of python could be used across all OSes. It was decided that this was not the preferred option, as we would then be responsible for maintaining and providing timely fixes, and that this wasn't liked by all when performed by other products.

Supporting Python 3.6 on EL7 in the StackStorm release was agreed by all.

Most of discussion was around Ubuntu 16, given that it does not come with official Python 3.6 repository, and that it is EOL in Spring 2021. No unanimous option was agreed, so a vote on the short-term plans (target 3.4.0 release) by all those present was held on the following options:

  1. Support Python 3.6 on Ubuntu 16, but customer must source their own Python 3.6 from a PPA.
  2. Support Python 3.6 on Ubuntu 16 with a StackStorm supplied version of Python 3.6.
  3. Continue to support Python 2.7 on Ubuntu 16 in next release
  4. Drop Support for Ubuntu 16.

The voting was 5 for Option 1, 3 for Option 4. No votes for option 2 or 3.

For longer term the following option was agreed by all - to add Ubuntu 20.04 support and Python 3.8, whilst keeping EL7/EL8/U18 at Python 3.6, and then dropping U16 support.

Next steps: Amanda to write up proposal voted on in the meeting for official TSC Voting, and plan to be announced once TSC have voted and agreed on a plan.

  1. StackStorm 3.4.0. Add support for EL7 and Python 3.6. Add support for U16 and Python 3.6 with customer's own supplied PPA
  2. StackStorm 3.5.0. Add support for U20 and Python 3.8, drop support for U16.

NB. StackStorm release numbers are proposals, and the release cadance of aiming for 3 month releases would be followed, so release numbers may differ depending on when functionality is delivered.

arm4b commented 4 years ago

Quick context behind the option 1 with migrating EL7 & U16 to py3 is that it technically can allow us dropping the python 2 support in v3.4.0 as an achievable chance to get rid of it sooner.

Without waiting for full U16 EOL (April 2021) or being blocked on more involved U20/py3.8 work (see @nzlosh PR WIP - Add Python3.7 to CI pipeline #4855 why that could take more effort).

amanda11 commented 4 years ago

Keeping a note here of items that have been discussed on Slack that will need changing to support py 3 on EL7: