Implement python3 compatibility in fuel-qa tests

Registered by Alexey Stepanov on 2016-02-08

Currently fuel-qa tests is strictly python 2.7 oriented.
Switch to corr support with stable version of python (3.4 for now) allows to transparent switch on newer version, when community will make this decision.

Implementation way:
1. Refactor whole branch to reduce code inspection warnings, remove strict Python 2.x code (mostly assert re-raise out of except)
2. Enable six packet usage for incompatible API (this packed is already used at python-fuelclient and other packages).
3. Enable code compatibility checks on CI for fuel-qa.
4. Rework python-devops for six usage.
3. Enable code compatibility checks on CI for python-devops.

Blueprint information

Status:
Started
Approver:
Nastya Urlapova
Priority:
Medium
Drafter:
Alexey Stepanov
Direction:
Approved
Assignee:
Alexey Stepanov
Definition:
Review
Series goal:
Accepted for newton
Implementation:
Started
Milestone target:
milestone icon 10.0
Started by
Alexey Stepanov on 2016-02-09

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/250792
    Python3 code compatibility: Stage1

Addressed by: https://review.openstack.org/284051
    Python3 code compatibility: Stage2

Addressed by: https://review.openstack.org/286561
    Python3 code compatibility: Stage2.1 - iterators support

Addressed by: https://review.openstack.org/290390
    Python3 code compatibility: tox.ini checks v1

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

Addressed by: https://review.openstack.org/292887
    Python3 code compatibility: checks v2

Addressed by: https://review.openstack.org/292896
    Python3 code compatibility: division, filter, round

Addressed by: https://review.openstack.org/293980
    Python3 code compatibility: filter, map, zip

Addressed by: https://review.openstack.org/299427
    Replace ipaddr by netaddr

Addressed by: https://review.openstack.org/299428
    Replace ipaddr by netaddr

Addressed by: https://review.openstack.org/299921
    Pylint: python3 critical issues

Addressed by: https://review.openstack.org/301494
    Pylint: python3 critical issues

Addressed by: https://review.openstack.org/302346
    Add tox targets

Addressed by: https://review.openstack.org/302631
    Fix trivial issues during py3 work

Addressed by: https://review.openstack.org/302755
    Rewrite ntp helper for readability

Addressed by: https://review.openstack.org/302782
    Replace moved libraries by six.moves....

Addressed by: https://review.openstack.org/302906
    Deprecate protected methods

Addressed by: https://review.openstack.org/304138
    Replace ipaddr by netaddr

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

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

Addressed by: https://review.openstack.org/305134
    Django 1.9

Addressed by: https://review.openstack.org/305966
    xml.etree in oppisite to xmlbuilder

Addressed by: https://review.openstack.org/306287
    Enable py34 checker

Addressed by: https://review.openstack.org/306356
    Migrate from xmlbuilder to custom builder based on xml.etree

Addressed by: https://review.openstack.org/316848
    Deprecate protected methods

Addressed by: https://review.openstack.org/326921
    UTF8 for ssh

Addressed by: https://review.openstack.org/327656
    UTF8 for ssh

Addressed by: https://review.openstack.org/337491
    Migrate from xmlbuilder to custom builder based on xml.etree

Addressed by: https://review.openstack.org/337528
    Django 1.8

(?)

Work Items

Work items:
code refactor for fuel-qa: INPROGRESS
enable six for fuel-qa: DONE
enable code compatibility check for fuel-qa on ci: TODO
enable six for fuel-devops: DONE
enable code compatibility check for fuel-devops on ci: DONE
migrate on Django > 1.7: DONE
enable vote for fuel-devops py checker: DONE

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.