Remove usage of six library

Registered by Takashi Natsume on 2020-05-09

The Python 2.7 Support has been dropped since Ussuri (*1).
Then replace usage of six (a Python 2 and 3 compatibility library) with code for Python 3.

*1: https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Blueprint information

Status:
Started
Approver:
Balazs Gibizer
Priority:
Undefined
Drafter:
Takashi Natsume
Direction:
Needs approval
Assignee:
Takashi Natsume
Definition:
New
Series goal:
Proposed for victoria
Implementation:
Needs Code Review
Milestone target:
None
Started by
Takashi Natsume on 2020-05-09

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bp/six-removal

Addressed by: https://review.opendev.org/726512
    Remove six.PY2 and six.PY3

Addressed by: https://review.opendev.org/726565
    Remove six.add_metaclass

Addressed by: https://review.opendev.org/726898
    Remove six.reraise

Addressed by: https://review.opendev.org/727224
    Remove six.moves

Addressed by: https://review.opendev.org/727757
    Remove six.iteritems/itervalues/iterkeys

Addressed by: https://review.opendev.org/727777
    Remove six.byte2int/int2byte

Addressed by: https://review.opendev.org/728094
    Remove six.binary_type/integer_types/string_types

Addressed by: https://review.opendev.org/728109
    Remove six.text_type (1/2)

Addressed by: https://review.opendev.org/728117
    Remove six.text_type (2/2)

[gibi 2020.05.14.] Discussed on the weekly IRC meeting. http://eavesdrop.openstack.org/meetings/nova/2020/nova.2020-05-14-16.00.log.html
There are objections to approve this as we feel there is a lot of work for not much of a gain. Please feel free to approach us on #openstack-nova or on the mailing list to discuss this further or bring it up on the upcoming virtual PTG.

Addressed by: https://review.opendev.org/733987
    Remove hacking rules for python 2/3 compatibility

(?)

Work Items

Work items:
Replace six with Python 3 code: INPROGRESS
Remove Hacking checks related to six: INPROGRESS
Remove six in requirements: INPROGRESS

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.