Jump to: navigation, search

StarlingX/Python2

< StarlingX(Redirected from StarlingX/Pyton2)

Python2 to Python3 Transition Sub-project

Team Information

  • Project Lead: Cindy Xie <cindy.xie@intel.com>
  • Technical Lead:
  • Contributors: Austin Sun <austin.sun@intel.com>; Yan Chen <yan.chen@intel.com>

Team Objective / Priorities

Python 2 support will be ending in the community in 2020. We have a lot of Python2 code that needs to be converted to be 2/3 compatible.

  • Guide for the compatible code:
 http://python-future.org/compatible_idioms.html
  • OpenStack Python3 reference
 https://wiki.openstack.org/wiki/Python3#Common_patterns
 https://etherpad.openstack.org/p/liberty-cross-project-python3

Story Board Tags

All story board stories created for this team should use the tag "stx.python2" and the prefix [Python2].

Team Work Items

Stories / Bugs

  • There is an Etherpad with some notes here.
  • There is a Story with a good summary of the work needed here.

Deliverables for this sub-project

  1. All python code in StarlingX is python 3 compatible
  2. All python repos have Zuul jobs which check for python 3 compatibility
  3. All Zuul jobs are made Voting
  4. Once all the Python 2 code is removed, any python 2 support packages are removed from the build and build mirror

ToDo

  • Turn the Notes in the Etherpad into Stories
  • Write stories for each of the repos in the table below and list the Links in the table below
  • We also use packages that have Python2 code. We need to replace and/or update such packages. Need to identify that list.
  • Once all the P2 code is removed we need to remove the P2 dependencies
  • some c code will support python and we should analysis such code
  For example cgcs-root/stx/stx-fault/fm-common/sources/fm_python_mod_main.cpp , " #include <python2.7/Python.h>"

Python3 Transition Status

Project Python3 Compatible (Y/N) Python Version Links Zuul checker enabled Zuul checker made Voting Comments
stx-clients na No Python Code N N
stx-config N https://storyboard.openstack.org/#!/story/2003433 N N Risk: 1. grubby-8.28 is used in stx-config/puppet-manifests for system config, Python 2.7 only and no Python 3 version.
stx-distcloud N https://storyboard.openstack.org/#!/story/2004585 N N need work on it.
stx-distcloud-client N https://storyboard.openstack.org/#!/story/2004586 this is newly added repo. Need scan.
stx-fault Y Python 2/3 compatible Merged: https://storyboard.openstack.org/#!/story/2003310 Y Y
stx-gui Y https://storyboard.openstack.org/#!/story/2003432 Y Y
stx-ha Y https://storyboard.openstack.org/#!/story/2003430 Y Y
stx-integ N can start working now (10 patches) https://storyboard.openstack.org/#!/story/2002909 N N Risk: stx-integ/extended/python-cephclient (old cephclient with WRS patches, but no Python 3 version)
stx-metal Y Python 2/3 compatible Merged:https://storyboard.openstack.org/#!/story/2003426 Y Y
stx-nfv N can start working now (11 patches) https://storyboard.openstack.org/#!/story/2003427 N N
stx-update N can start working now (7 patches) Merged:https://storyboard.openstack.org/#!/story/2003429 Y Y Risk: 1. createrepo-0.9.9 is used by cgcs-patch-controller, Python 2.7 only and no Python 3 version
stx-upstream Y Python 2/3 compatible Merged:https://storyboard.openstack.org/#!/story/2003428 Y Y
stx-utils na No Python Code N N
stx-docs N N N
stx-root na Build-time enviroment N N
stx-tools na Build-time enviroment N N
Staging Project Python3 Compatible (Y/N) Python Version Links Zuul checker enabled Zuul checker made Voting Comments
stx-ceilometer Y Python 3.5 N N
stx-ceph Y Python 3 (minor not specified) N N latest version specified Python 3.4
stx-cinder Y Python 2.7 + Python 3 compatible patches N N Latest version has Python 3.5 support.
stx-glance N Python 2.7 (blocked) N N
stx-heat Y Python 3.5 N N
stx-horizon Y Python 3.5 N N
stx-ironic N Python 2.7 N N Not used now.
stx-keystone Y Python 3.5 N N
stx-kingbird Y Python 3.4 N N latest version still Python 3.4
stx-libvirt Y Python 3 (minor not specified) N N
stx-magnum-ui Y Python 3.5 N N
stx-murano Y Python 3.5 N N
stx-murano-dashboard Y Python 3.5 N N
stx-networking-bgpvpn Y Python 3.5 N N
stx-networking-odl Y Python 3.5 N N
stx-networking-sfc Y Python 3.5 N N
stx-neutron Y Python 3.5 N N
stx-neutron-dynamic-routing Y Python 3.5 N N
stx-neutron-lib Y Python 3.5 N N
stx-nova Y Python 3.5 N N
stx-openstacksdk Y Python 3.5 N N
stx-python-ceilometerclient Y Python 3.5 N N
sx-python-cinderclient Y Python 3.5 N N
stx-python-glanceclient Y Python 3.5 N N
stx-python-kingbirdclient Y Python 3.4 N N latest version still Python 3.4
stx-python-magnumclient Y Python 3.5 N N
stx-python-muranoclient Y Python 3.5 N N
stx-python-neutronclient Y Python 3.5 N N
stx-python-novaclient Y Python 3.5 N N
stx-qemu N Python 2.7 N N python scripts under folder qemu/scripts and qemu/tests, but only dump-guest-memory.py is packed into the rpm.
stx-ryu Y Python 3.4 N N latest version still Python 3.4, used by neutron.

RPMs python3 info

The RPM depends checking excel is attached to https://bugs.launchpad.net/starlingx/+bug/1808073 , please check this bug for details.