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

Game plan: Python 3.6 Support on EL 7 #54

Closed
26 of 27 tasks
amanda11 opened this issue Oct 22, 2020 · 1 comment
Closed
26 of 27 tasks

Game plan: Python 3.6 Support on EL 7 #54

amanda11 opened this issue Oct 22, 2020 · 1 comment
Assignees
Labels

Comments

@amanda11
Copy link

amanda11 commented Oct 22, 2020

This is a WIP Issue, to document the changes that will be required to support Python 3.6 on RHEL 7/CentOS 7

Here are the pointers in different StackStorm org repositories to move EL7 from Python 2 to Python 3.6:

Plan:

  • st2
    • python2 only packs to not install on EL7 without --force flag (There maybe no changes required to support this, but need to verify if the reason on EL8 etc they do not install is due to lack of finding python2 or because default python is python3). @nzlosh (Verified cannot install without using --force if use EL7 and py3, and that if use --force it then runs in py3 env)
    • improve the python2 pack install deprecation warning when --force used - different msg based on if SS using py2 or py3
      @amanda11
      NB. dist_utils in its log says to pipe get-pip.py to python. Decided to leave as is, rather than try and use sys.executable that might not be set, as it is generally a warning just seen at build time - and has no affect on the system.
  • st2-packages
    • update packages/docker-compose to use python 3 and pip 3 binaries for EL7 @amanda11
    • updated scripted installer to install python 3 SELinux library (python3 will come in from dependency on package) @amanda11
    • bootstrap - enable optional rpm repo for RH rather than CentOS (needed as python3-devel only available in optional in RHEL) @amanda11
  • st2packaging-dockerfiles
    • update EL7 packagingbuild/test Dockerfiles @amanda11
      NB. No need to update EL7 buildpack Dockerfiles for ex-enterprise components as we no-longer build as separate package
  • ansible-st2
    • - CentOS - verified that EL7 ST2 Py3 package installed successfully using ansible, ran action from UI, ran self check successfully. (Ran with selinux as enforcing and ok).
    • - RH - ansible changes for enabling optional-server-rpm @amanda11
  • puppet-st2 - verify if any changes needed for puppet installs. Should be fine for CentOS, depends on if want to add the enable optional server repo for RHEL7.
  • st2ci - no changes required.
  • stcd - setupE2Etests to use python/pip version 3 @blag
  • st2docs
    • update manual install procedures for EL7 @amanda11
    • update upgrade procedure for EL7 @amanda11
    • update comments that mention that python 2 used for EL7 e.g. in pack running @amanda11
    • python3-devel - need optional-server repo @amanda11
    • Build from sources instructions need updating @amanda11
  • st2-rbac-backend - Updates to use py3 and remove rpm building as part of ST2 core @armab

Post python2 removal on EL7 and U16:

  • st2/tools - point to python 2.7
  • st2 - remove python 2.7 builds @blag
  • st2 - bin files to point to python 2.7 @blag
  • remove --python3 option @amanda11
  • st2client Makefile - blag

As per November TSC meeting the removal of py2 code is suggested to NOT be in the same release as the upgrade of python, so that it is not too large a release. However, would be preferable to remove the --python3 option in the same release to avoid confusion.

Related but not required for release:

  • st2-auth-ldap - Updates to use py3 and remove rpm building as part of ST2 core. Not blocking, as not built as separate RPM. (@amanda11)
@arm4b
Copy link
Member

arm4b commented Apr 7, 2022

Closing as looks like the plan was implemented.
Huge work here BTW! 💯

@arm4b arm4b closed this as completed Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants