Bug 1055031 - [RFE][keystone]: Make Keystone code compatible with Python 3
Summary: [RFE][keystone]: Make Keystone code compatible with Python 3
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-keystone
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
Target Milestone: ga
: 10.0 (Newton)
Assignee: Adam Young
QA Contact: Shai Revivo
URL: https://blueprints.launchpad.net/keys...
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
TreeView+ depends on / blocked
Reported: 2014-01-18 05:03 UTC by RHOS Integration
Modified: 2016-09-03 04:03 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2016-09-02 20:04:31 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
OpenStack gerrit 296090 0 None None None 2016-04-09 21:22:52 UTC

Description RHOS Integration 2014-01-18 05:03:34 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/keystone/+spec/keystone-py3kcompat.


We will move to Python 3  in the future.  More and more openstack projects  are forece Python 3 compatible , especilly the new stackforge projects. This main idea of this blueprint is using library six [1] to make the Keystone codes run both in Python 2 and Python 3. 


Specification URL (additional information):


Comment 2 Adam Young 2016-01-09 03:31:00 UTC
This work is happening upstream, mostly by David Stanek.  As of now, most of the unit tests run in the python 3 version, but there are a few places where they fail.

Status of Python 3 for various projects is posted here:


Current status for Keystone is:

The spec Add spec for python-3 compatibility (by Morgan Fainberg) was accepted for Liberty. See also the blueprint python3 started by Dolph Mathews on 2014-07-22; David Stanek is working on it.

Patches: bp/python3 topic.

pysaml2 3.0 now supports Python 3.

Aslo blocked by ldappool and python-ldap. pyldap is a fork of python-ldap which adds Python 3 support. python-ldap may be replaced with ldap3, but it requires more work.

Comment 3 Adam Young 2016-04-09 21:22:52 UTC
Additional upstream work is happening on ldap3, now the last piece to hold Keystone on Python2.7.

Comment 5 Nathan Kinder 2016-05-06 17:43:54 UTC
Upstream plans to address this in the Newton release.  The main blocker for python3 is python-ldap.

Comment 6 Nathan Kinder 2016-09-02 20:04:31 UTC
There has been work upstream to allow Keystone to work in Python 3, but I don't believe we need a downstream bug for this as there is really no work to do here for us.  At some point, we will run Keystone in Python 3 in RH-OSP, which should just work due to the validation provided upstream py3 CI.

Note You need to log in before you can comment on or make changes to this bug.