Continue the work on python 3.4 support (partial)

Registered by John Garbutt

Continue the work on https://blueprints.launchpad.net/nova/+spec/nova-python3 and http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/adding-python34-support-to-nova.html

The aim is to:
* get all unit tests passing on python 3.4
* then get tempest passing
* then we can claim support for python 3.4

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
John Garbutt
Direction:
Approved
Assignee:
Andrey Kurilin
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
milestone icon mitaka-3
Started by
John Garbutt
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

This was merged, but was missing the unit test update for what it fixed:
https://review.openstack.org/#/c/229578/3

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

Addressed by: https://review.openstack.org/205307
    Replaces xrange() with range() to provide py 2/3 compatibility

Addressed by: https://review.openstack.org/231948
    Expands python34 unit tests list

Addressed by: https://review.openstack.org/232108
    Replaces contextlib.nested with test.nested

Addressed by: https://review.openstack.org/232554
    Converting nova.virt.hyperv to py3

Addressed by: https://review.openstack.org/232585
    Fixes .keys()[0] references for Python 3 in unit tests

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

Addressed by: https://review.openstack.org/238029
    Replaces __builtin__ with six.moves.builtins

Addressed by: https://review.openstack.org/238134
    Enables py3 unit tests for libvirt.host module

Addressed by: https://review.openstack.org/238239
    Replaces longs with ints

Addressed by: https://review.openstack.org/238321
    Replaces izip_longest with six.moves.zip_longest

Addressed by: https://review.openstack.org/238322
    Ensure that max is called between integers

Addressed by: https://review.openstack.org/238323
    Transforms requests and responses into bytes

Addressed by: https://review.openstack.org/231076
    [Py34] Enable api.openstack.test_wsgi unit test

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

Addressed by: https://review.openstack.org/231473
    [Py34] api.openstack.test_faults.TestFaultWrapper

Addressed by: https://review.openstack.org/215917
    Hyper-V: removes *Utils modules and unit tests

Addressed by: https://review.openstack.org/247742
    Fixes Python 3 unit tests for nova.compute

Addressed by: https://review.openstack.org/247729
    Hyper-V: adds os-win library

Addressed by: https://review.openstack.org/253989
    Fixes conductor py3 unit tests

Addressed by: https://review.openstack.org/253990
    Fixes network py unit tests

Addressed by: https://review.openstack.org/255824
    Fixes cells py3 unit tests

Addressed by: https://review.openstack.org/262083
    [WIP] py34 specific changes

Addressed by: https://review.openstack.org/261045
    [python3] byte/string conversions and enable more tests

Addressed by: https://review.openstack.org/262372
    [WIP] Try python3 patch-1

Addressed by: https://review.openstack.org/262373
    [WIP] Try python3 patch-2

Addressed by: https://review.openstack.org/265598
    [WIP] Check if --dhcp-authoritative prevents ssh timeout issues

Addressed by: https://review.openstack.org/266708
    Replaces __builtin__ with six.moves.builtins

Addressed by: https://review.openstack.org/267414
    Replaces itertools.izip with six.moves.zip

Addressed by: https://review.openstack.org/267708
    Fix indexing of dict.keys() in python3

Addressed by: https://review.openstack.org/269485
    Fix codes using dict.iteritems() for python3

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

Addressed by: https://review.openstack.org/268018
    Python3: Replace dict.iteritems with six.iteritems

Now we have hit feature freeze, we must stop adding these patches. --johnthetubaguy 2016.01.31

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

Addressed by: https://review.openstack.org/275184
    Do not use print statements, but print functions

Addressed by: https://review.openstack.org/275186
    Do not use 'unicode' but six.text_type

Addressed by: https://review.openstack.org/275185
    Do not catch exceptions using Python2 syntax

Addressed by: https://review.openstack.org/275187
    Do not use "cmp" builtin

Marking this as implemented for Mitaka. --johnthetubaugy 2016.02.08

Addressed by: https://review.openstack.org/278808
    Fixes hex decoding related unit tests

Addressed by: https://review.openstack.org/278809
    Fixes python 3 urllib quote / unquote usage

Addressed by: https://review.openstack.org/278810
    Fixes python 3 unit tests

Addressed by: https://review.openstack.org/278834
    libvirt: fixes python 3 related unit tests

Addressed by: https://review.openstack.org/278835
    numa: Fixes NUMA topology related unit tests

Addressed by: https://review.openstack.org/313661
    Trivial: No need to exclude TestMoveClaim from py34 tests

Addressed by: https://review.openstack.org/313796
    Fixes py3 unit tests for nova.tests.unit.test_block_device.*

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.