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:
[X] st2
[X] 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)
[X] 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.
[X] st2-packages
[X] update packages/docker-compose to use python 3 and pip 3 binaries for EL7 @amanda11
[X] updated scripted installer to install python 3 SELinux library (python3 will come in from dependency on package) @amanda11
[X] bootstrap - enable optional rpm repo for RH rather than CentOS (needed as python3-devel only available in optional in RHEL) @amanda11
[X] st2packaging-dockerfiles
[X] 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
[X] ansible-st2
[X] - 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).
[X] - 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.
[X] st2ci - no changes required.
[X] stcd - setupE2Etests to use python/pip version 3 @blag
[X] st2docs
[X] update manual install procedures for EL7 @amanda11
[X] update upgrade procedure for EL7 @amanda11
[X] update comments that mention that python 2 used for EL7 e.g. in pack running @amanda11
[X] python3-devel - need optional-server repo @amanda11
[x] Build from sources instructions need updating @amanda11
[X] st2-rbac-backend - Updates to use py3 and remove rpm building as part of ST2 core @armab
Post python2 removal on EL7 and U16:
[X] st2/tools - point to python 2.7
[X] st2 - remove python 2.7 builds @blag
[X] st2 - bin files to point to python 2.7 @blag
[x] remove --python3 option @amanda11
[X] 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)
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
st2-packages
Post python2 removal on EL7 and U16:
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: