Make Horizon python3.4 compatible

Registered by George Peristerakis on 2015-05-19

Tasks needed to port Horizon to python3.4

- Make sure all dependencies are ported to python3.x
- Make sure all tests pass under python>=3.4

Follow Django's guidelines to porting to python3:
https://docs.djangoproject.com/en/1.8/topics/python3/

and guidelines to porting to python 3
http://python3porting.com/

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
High
Drafter:
George Peristerakis
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
David Lyle on 2015-08-27
Completed by
Rob Cresswell on 2017-02-21

Related branches

Sprints

Whiteboard

Addressed by: https://review.openstack.org/183367
    Made HorizonComponent class Python3 compatible

Addressed by: https://review.openstack.org/183365
    Made the class Column Python 3 compatible.

Gerrit topic: https://review.openstack.org/#q,topic:bp/tests,n,z

Addressed by: https://review.openstack.org/178342
    Add py34 env

Gerrit topic: https://review.openstack.org/#q,topic:python3,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/porting-python3,n,z

Addressed by: https://review.openstack.org/201097
    Replace dict.iteritems() with six.iteritems(dict)

Addressed by: https://review.openstack.org/201096
    Fix Python 3 issues in base modules

Addressed by: https://review.openstack.org/201099
    Use relative imports

Addressed by: https://review.openstack.org/201098
    Fix Python 3 issues on dictionaries

Addressed by: https://review.openstack.org/201101
    Replace filter() with a list-comprehension

Addressed by: https://review.openstack.org/201100
    Get izip from six.moves

Addressed by: https://review.openstack.org/201095
    Replace mox with mox3

Gerrit topic: https://review.openstack.org/#q,topic:py3,n,z

Addressed by: https://review.openstack.org/214291
    Port last test to Python 3

Addressed by: https://review.openstack.org/214902
    py3: Replace unicode with six.text_type

Addressed by: https://review.openstack.org/214903
    py3: Replace basestring with six.text_type

Addressed by: https://review.openstack.org/214904
    py3: replace xrange() with range()

Addressed by: https://review.openstack.org/214906
    py3: Replace func.func_name with func.__name__

Addressed by: https://review.openstack.org/214912
    py3: use @six.python_2_unicode_compatible

Addressed by: https://review.openstack.org/214914
    py3: don't call .sort() of dict.values()

Addressed by: https://review.openstack.org/215256
    py3: replace reload with six.moves.reload_module

Addressed by: https://review.openstack.org/217444
    Misc Python 3 fixes in horizon

Addressed by: https://review.openstack.org/218196
    py3: Add json attribute to HTTP response objects

Addressed by: https://review.openstack.org/218198
    Fix Python 3 issues in openstack_dashboard tests

Addressed by: https://review.openstack.org/218298
    Run a subset of tests on Python 3

Addressed by: https://review.openstack.org/218381
    Port dashboard api access tests to Python 3

Addressed by: https://review.openstack.org/219339
    Port config_rest_tests to Python 3

Addressed by: https://review.openstack.org/219340
    Port password tests to Python 3

Addressed by: https://review.openstack.org/219341
    Port error_pages tests to Python 3

Addressed by: https://review.openstack.org/219343
    Port babel_extract_angular tests to Python 3

Addressed by: https://review.openstack.org/219630
    Port openstack dashboard overview tests to Python 3

Addressed by: https://review.openstack.org/219713
    Port horizon forms tests to Python 3

Addressed by: https://review.openstack.org/219715
    Port horizon tabs tests to Python 3

Addressed by: https://review.openstack.org/219716
    Port horizon utils tests to Python 3

Addressed by: https://review.openstack.org/220976
    Port horizon base tests to Python 3

Addressed by: https://review.openstack.org/220998
    TestCase: add aliases to assert methods on py3

Addressed by: https://review.openstack.org/220999
    Fix Python 3 issue in horizon DataTable

Gerrit topic: https://review.openstack.org/#q,topic:bug/1495874,n,z

Addressed by: https://review.openstack.org/223495
    Fix Python 3 issue in DataTableMetaclass constructor

Addressed by: https://review.openstack.org/231456
    Port remaining Horizon tests for Python 3

Addressed by: https://review.openstack.org/231472
    py3: Replace unicode with six.text_type

Addressed by: https://review.openstack.org/231507
    Replace filter() with list-comprehension

Addressed by: https://review.openstack.org/231509
    Fix TypeError on comparison on Python 3

Addressed by: https://review.openstack.org/231523
    py3: Fix unicode versus bytes issues

Addressed by: https://review.openstack.org/234864
    Port project instance tests to Python 3

Addressed by: https://review.openstack.org/234865
    Port dashboard router tests on Python 3

Addressed by: https://review.openstack.org/234866
    Port dashboard stack tests to Python 3

Addressed by: https://review.openstack.org/234867
    Port network topology tests to Python 3

Addressed by: https://review.openstack.org/234868
    Fix Python 3 issues in dashboard image tests

Addressed by: https://review.openstack.org/235392
    Port admin metering tests to Python 3

Addressed by: https://review.openstack.org/256562
    Port loadbalancers tests to Python 3

Addressed by: https://review.openstack.org/256563
    Port volume backup dashboard to Python 3

Addressed by: https://review.openstack.org/259915
    py3: Replace dict.iteritems() with dict.items()

Addressed by: https://review.openstack.org/262885
    py3: replace reload with six.moves.reload_module

Addressed by: https://review.openstack.org/266700
    Fixes Python 3 compatibility for filter results

Addressed by: https://review.openstack.org/267407
    Drop izip and izip_longest removed in python3

Addressed by: https://review.openstack.org/272654
    assertEquals is deprecated, use assertEqual

Addressed by: https://review.openstack.org/273501
    Announce Python 3.4 support

Addressed by: https://review.openstack.org/275257
    Port dashboard containers to Python 3

Addressed by: https://review.openstack.org/275265
    Port identity provider dashboard to Python 3

Gerrit topic: https://review.openstack.org/#q,topic:bug/1543073,n,z

Addressed by: https://review.openstack.org/278505
    Port more tests to Python 3

Addressed by: https://review.openstack.org/492542
    Fix Python 3 issues with serialization json from request

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.