Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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
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 Priority Status Summary Last Updated
OpenStack gerrit 296090 None None None 2016-04-09 21:22:52 UTC

Description RHOS Integration 2014-01-18 05:03:34 UTC
Cloned from launchpad blueprint


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.