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

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

Closed
amanda11 opened this issue Oct 15, 2020 · 8 comments
Closed

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

amanda11 opened this issue Oct 15, 2020 · 8 comments
Labels
brainstorming community plan TSC:meeting StackStorm Technical Steering Committee Meetings related topics

Comments

@amanda11
Copy link

amanda11 commented Oct 15, 2020

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

  • Do we want to support StackStorm on EL 7 with Python 3.6?
    • NB. Python 3.6.8 available in EL7 repo
  • Do we want to support StackStorm on Ubuntu 16.04 (EOL April 2021) with Python 3, and if so given that it ships with python 3.5, and python 3.6 is only available from source or PPA what python version do we support?
  • Do we want to start supporting Ubuntu 20.04 and python 3.8?
    NB. Ubuntu 16.04 EOL is April 2021, Ubuntu 20.04 uses python 3.8
  • Do we want to ship our own version of python?
  • Do we still support packs using python2 once we've migrated to python3, given that older versions of StackStorm will still use it? And if so, then how long for?
  • Do have a need to support python2 packs on latest StackStorm once all our supported distributions use python 3? (NB. there is no support for them on latest O/S releases).
  • After agreeing where we want to be, then what are the steps and order to get there?
  • Can we define a targetted timeline for achieving this?

Further information on prior discussions and technical findings can be found at: #40

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

image

CC @StackStorm/maintainers @StackStorm/contributors

@nmaludy
Copy link
Member

nmaludy commented Oct 15, 2020

👍

@arm4b arm4b added community brainstorming TSC:meeting StackStorm Technical Steering Committee Meetings related topics labels Oct 15, 2020
@nmaludy
Copy link
Member

nmaludy commented Oct 15, 2020

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

@nmaludy
Copy link
Member

nmaludy commented Oct 15, 2020

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
Copy link
Author

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.

@arm4b arm4b changed the title Python 2 Deprecation Meeting (20 Oct 2020 TBC): Python 2 Deprecation Meeting (20 Oct 2020): Oct 16, 2020
@amanda11
Copy link
Author

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
Copy link
Author

amanda11 commented Oct 20, 2020

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
Copy link
Member

arm4b commented Oct 20, 2020

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
Copy link
Author

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

  • python scripts that refer explicitly to py2.7 to point to py3.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorming community plan TSC:meeting StackStorm Technical Steering Committee Meetings related topics
Projects
None yet
Development

No branches or pull requests

3 participants