Support python 3.5

Registered by Matt Riedemann on 2016-09-01

Continue the work from newton:

https://blueprints.launchpad.net/nova/+spec/nova-python3-newton

And following the global effort described here: https://review.openstack.org/#/c/349069/

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
Low
Drafter:
Matt Riedemann
Direction:
Approved
Assignee:
ChangBo Guo(gcb)
Definition:
Approved
Series goal:
Accepted for ocata
Implementation:
Implemented
Milestone target:
None
Started by
Matt Riedemann on 2016-09-20
Completed by
Matt Riedemann on 2017-08-03

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/316678
    Enable py3 tests for unit.api.openstack.compute.test_console_output

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

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

Addressed by: https://review.openstack.org/300262
    compute: fixes python 3 related unit tests

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

Addressed by: https://review.openstack.org/205307
    Add hacking checks for xrange()

Addressed by: https://review.openstack.org/333212
    [PY3] byte/string conversions and enable PY3 test

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

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

Addressed by: https://review.openstack.org/342111
    block_device: Make refresh_conn_infos py3 compatible

Addressed by: https://review.openstack.org/398750
    Port test_metadata to Python 3

Addressed by: https://review.openstack.org/398909
    Port test_keypairs to Python 3

Addressed by: https://review.openstack.org/398948
    Port ironic unit tests to Python 3

Addressed by: https://review.openstack.org/399571
    Port test_floating_ip_dns to Python 3

Addressed by: https://review.openstack.org/400193
    Revert "[PY3] byte/string conversions and enable PY3 test"

Addressed by: https://review.openstack.org/400697
    Port libvirt test_driver to Python 3

Addressed by: https://review.openstack.org/400808
    [PY3] byte/string conversions and enable PY3 test

Addressed by: https://review.openstack.org/401065
    Port xenapi test_xenapi to Python 3

Addressed by: https://review.openstack.org/401080
    Port virt vmwareapi tests to Python 3

Addressed by: https://review.openstack.org/401207
    Port test_serversV21 to Python 3

Addressed by: https://review.openstack.org/401223
    Port libvirt test_imagecache to Python 3

Addressed by: https://review.openstack.org/401241
    Port security related tests to Python 3

Addressed by: https://review.openstack.org/401827
    Port xenapi test_vm_utils to Python 3

Addressed by: https://review.openstack.org/401969
    Remove api compute.test_versions from python3 blacklist

Addressed by: https://review.openstack.org/402010
    Port compute unit tests to Python 3

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

Addressed by: https://review.openstack.org/402382
    libvirt: Ensure to_xml always returns an ASCII string

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

Addressed by: https://review.openstack.org/403417
    Port test_virt_drivers to Python 3

Addressed by: https://review.openstack.org/403419
    Port libvirt.test_vif to Python 3

Addressed by: https://review.openstack.org/403420
    Port virt.xenapi.client.test_session to Python 3

Addressed by: https://review.openstack.org/403423
    Port libvirt.test_firewall to Python 3

Addressed by: https://review.openstack.org/403425
    Port libvirt.storage.test_rbd to Python 3

Addressed by: https://review.openstack.org/403431
    Port virt.libvirt.test_imagebackend to Python 3

Addressed by: https://review.openstack.org/403508
    Port virt.disk.mount.test_nbd to Python 3

Addressed by: https://review.openstack.org/403536
    Port api.openstack.compute.test_disk_config to Python 3

Addressed by: https://review.openstack.org/403548
    Port api.openstack.compute.test_extended* to Python 3

Addressed by: https://review.openstack.org/404543
    Remove more tests from tests-py3.txt

Addressed by: https://review.openstack.org/406103
    Port test_simple_tenant_usage to Python 3

Addressed by: https://review.openstack.org/406425
    Port network.test_manager.LdapDNSTestCase to Python 3

Addressed by: https://review.openstack.org/406435
    Port compute.test_user_data.ServersControllerCreateTest to Python 3

Addressed by: https://review.openstack.org/406437
    Port test_matchers.TestDictMatches.test__str__ to Python 3

Addressed by: https://review.openstack.org/408415
    Enable test_bdm.BlockDeviceMappingEc2CloudTestCase on Python 3

Addressed by: https://review.openstack.org/409430
    Port test_servers to py3

Addressed by: https://review.openstack.org/410542
    Enble more tests on Python 3

Addressed by: https://review.openstack.org/410554
    Fix urllib.urlencode issue in functional tests on Python 3

Addressed by: https://review.openstack.org/411676
    Port pipelib to Python 3

Addressed by: https://review.openstack.org/412356
    rbd: Remove unnecessary 'encode' calls

Addressed by: https://review.openstack.org/414418
    Enble network.test_neutronv2.TestNeutronv2 on Python 3

Addressed by: https://review.openstack.org/414419
    Enable virt.test_virt_drivers.AbstractDriverTestCase on Python 3

Addressed by: https://review.openstack.org/414420
    Enable virt.vmwareapi test cases on Python

Addressed by: https://review.openstack.org/414421
    Enable more virt.xenapi tests on Python 3

Addressed by: https://review.openstack.org/415149
    Update py35 functional tests blacklist

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

Addressed by: https://review.openstack.org/415612
    Enable TestOSAPIFixture.test_responds_to_version on Python 3

Addressed by: https://review.openstack.org/419299
    Enable functional.test_servers on Python 3

Addressed by: https://review.openstack.org/419435
    Enable tests.functional.db.api.test_migrations for py35

Gerrit topic: https://review.openstack.org/#q,topic:goal-python35,n,z

Addressed by: https://review.openstack.org/421529
    Remove invalid URL in gabbi tests

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

Addressed by: https://review.openstack.org/426505
    Skip unit tests for SSL + py3

This is closed for Ocata. Normally I'd mark this as implemented and then create a new blueprint for continuing the work in Pike, but since this is going to be a common effort across OpenStack in Pike, and we want to use the same topic branch, I'm going to just move this to Pike now.

https://governance.openstack.org/tc/goals/pike/python35.html#gerrit-topic

-- mriedem 20170203

There were actually no changes for this blueprint merged in Nova in the Pike release, so I'm just going to move this back to Ocata and mark it complete. Nova has claimed py35 support in the governance repo for the Pike goals anyway:

https://review.openstack.org/#/c/487684/

-- mriedem 20170803

Addressed by: https://review.openstack.org/591061
    Make Xen code py3-compatible

Addressed by: https://review.openstack.org/591419
    DNM: Remove blacklisted py3 xen tests

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.