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

TSC Meeting (10 Jan 2023) - Python3 + OS versions support burden #115

Closed
arm4b opened this issue Jan 2, 2023 · 1 comment
Closed

TSC Meeting (10 Jan 2023) - Python3 + OS versions support burden #115

arm4b opened this issue Jan 2, 2023 · 1 comment
Labels
TSC:meeting StackStorm Technical Steering Committee Meetings related topics

Comments

@arm4b
Copy link
Member

arm4b commented Jan 2, 2023

January 2023 @StackStorm/tsc 1 hour planned meeting:

Meeting Agenda

Scheduling of TSC meetings

  • should we move +1 week to avoid DST differences between US/Europe?
    • 1st Tuesday of the month -> 2nd Tuesday of the month

Python3 version support matrix burden

The python 3 version matrix and how it relates to OS flavors we support when every OS ships with its own py3 version dictates where the st2 could be installed and tested (via https://github.com/StackStorm/st2ci/tree/master/rules). A big part of every release is that we need to plan for the upcoming OS/python3 matrix changes and it became a nightmare and a big support burden for the @StackStorm/tsc team.

  • currently we support U18 (py3.6), U20 (py3.8), EL7(py3.8?), RockyLinux-EL8(py3.8)
  • Python support in future versions #103
  • identified python 3.9 and python 3.10 support as key candidates for release. Especially given Ubuntu 18.04 EOL early 2023, and Ubuntu 22.04 requiring python 3.10. RHEL also dropping support for python 3.8 on EL8, in favour of python 3.9.
  • with dropping U18 (EOL April 2023) we can drop python3.6 (which is already EOL)
  • Q: how we release 3.9 e.g. O/S packages, python packages, docker etc.
  • Q: how does the new pants packaging can help with the python version burden?
  • Note: supporting multiple python versions also affects how we manage StackStorm-Exchange CI, as every new py version adds overhead for the pack install (in)compatibility:
  • Options:
    • should we continue many versions python/OS support?
      • multiple python versions for each OS flavor
      • no maintainer resources
      • not fun, a nightmare
    • should we drop deb/rpm packages and ship docker only?
      • here is an image, use it on any OS
      • modern approach, many new projects do it
      • simplifies release automation and maintenance
      • we don't manage anymore how the stackstorm could be installed
        • free up resources, focus on the st2 core functionality
    • should we package our own python bundle together with st2?
      • removes python3 OS-level dependency
      • adds security maintenance burden
      • allows us to unify python3 support via single version
        • st2 core
        • exchange
      • still need to maintain/test deb/rpm for many OS flavors
@arm4b arm4b added the TSC:meeting StackStorm Technical Steering Committee Meetings related topics label Jan 2, 2023
@arm4b
Copy link
Member Author

arm4b commented Jan 10, 2023

Attendees

@cognifloyd, @amanda11, @nzlosh, @rush-skills, @winem, @armab, @nzlosh, @dalesmith, @mamercad, @arms11

Meeting Minutes

StackStorm at DigitalOcean

Scheduling of TSC meetings

Every year we have at least 2+ points of confusion with the meeting schedule being a 1st Tuesday of the Month.
Issues:

  • Europe time zone change vs US time zone
  • Bank holidays, New Year
  • @StackStorm/tsc proposed to move the meetings to the 2nd Tuesday of the month

Python3 version support matrix burden

During the past releases the python version vs OS version matrix was a burden for the team when different OS ship specific versions of python we need to support and package a dedicated st2 deb/rpm for it.

  • U18 will be deprecated soon with py3.6
  • U22 adds py3.10
  • EL8 will be dropping py3.8 and replacing with py3.9
  • Do we package our own py3 version as a deb/rpm package?
    • and keep one py supported version for many years?
    • pros: unified python version across the fleet, doesn't matter the OS
    • downside: security patches/maintenance
  • @cognifloyd: try to support different python versions (instead of one)
    • otherwise it just pushes the pain of python to a later point
  • Once we'll have pants working
    • users can just install it via pypi
    • irrespective of OS
    • as long as they have supported py version
  • How Pants can help:
    • building python wheels
      • we can distribute via pypi
      • as an official pre-bundled st2 package
        • with pip dependencies installed/pinned
  • Opportunities:
    • simpler builds, real dependency pinning
    • untie st2 installation from OS
    • potentially removing the deb/rpm packaging
      • the artifact building responsibility is transitioning from deb/rpm -> py wheel
      • less moving pieces/testing/release machinery
      • if not removing deb/rpm, then slightly simplifying the build
    • arm builds in the future
      • paints WIP on adding the arm support
      • realistic for st2 to build the arm wheel
  • Progress by @cognifloyd

Conclusion

Many interesting technical discussions, DO ST2 adoption and usage, TSC Meeting schedule decision (move +1 week), Python3 support burden to simplify with pants wheels, tentatively target in st2 v3.9 as a preview (April 2023).

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

No branches or pull requests

2 participants