Bug 1738059 - openvswitch depends on Python 2
Summary: openvswitch depends on Python 2
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: openvswitch
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Flavio Leitner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F31_PY2REMOVAL
TreeView+ depends on / blocked
 
Reported: 2019-08-06 12:46 UTC by Lumír Balhar
Modified: 2019-09-15 08:47 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-09-15 01:15:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lumír Balhar 2019-08-06 12:46:13 UTC
Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime.
Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages
Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2

To help planning, we'd like to know the plans for openvswitch's future. Specifically:


- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) 

- What are the upstream/community plans/timelines regarding Python 3?

- What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)


This bug is filed semi-automatically, and might not have all the context specific to openvswitch.
If you need anything from us, or something is unclear, please mention it here.

Thank you.

Comment 1 Ben Cotton 2019-08-13 16:52:06 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 2 Ben Cotton 2019-08-13 17:34:31 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Lumír Balhar 2019-08-14 09:00:53 UTC
Please answer the above questions. If you don't the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, please let us know.

Comment 4 Lumír Balhar 2019-08-21 13:28:16 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 5 Lumír Balhar 2019-08-29 05:30:56 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 6 Miro Hrončok 2019-09-05 10:41:31 UTC
According to the procedure described in https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages the package was now orphaned. If you think it was a mistake, you can provide the answers and claim the package back.

Let us know if you need any help or just need more time.

Comment 7 Zbigniew Jędrzejewski-Szmek 2019-09-12 19:21:02 UTC
I'll add python2-openvswitch to make upgrades work.

Comment 8 Miro Hrončok 2019-09-12 19:37:49 UTC
> I'll add python2-openvswitch to make upgrades work.

Add where?

Comment 9 Zbigniew Jędrzejewski-Szmek 2019-09-12 19:45:15 UTC
fedora-obsolete-packages

Comment 10 Miro Hrončok 2019-09-12 19:46:26 UTC
No package was removed so far, there is nothing to obsolete.

Comment 11 Zbigniew Jędrzejewski-Szmek 2019-09-12 19:50:11 UTC
python2-openvswitch-2.10.1-2.fc30.x86_64 already cannot be installed in F30:
 Problem: conflicting requests
  - nothing provides python2.7dist(sortedcontainers) needed by python2-openvswitch-2.10.1-2.fc30.x86_64

If people have python2-openvswitch in older version (e.g. .fc29), upgrades will be broken.
This package needs to be obsoleted to avoid this. If somebody picks it up, they can just
bump the release and rebuild.

Comment 12 Miro Hrončok 2019-09-12 19:51:44 UTC
They did https://pagure.io/releng/issue/8790

Comment 13 Miro Hrončok 2019-09-12 19:56:02 UTC
> If people have python2-openvswitch in older version (e.g. .fc29), upgrades will be broken.

Upgrades to F30 maybe? Not to F31, where it installs cleanly. I don't think fedora-obsolete-packages should obsolete packages that are not removed.

Comment 14 Miro Hrončok 2019-09-12 19:59:08 UTC
This package got assigned back to Flavio without answering the questions.


Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 15 Miro Hrončok 2019-09-13 10:07:24 UTC
There are 3 python2 packages:


 - python2-openvswitch is only required by openvswitch-test and openvswitch-ipsec

 - openvswitch-test is a leaf package in Fedora and could be dropped

 - openvswitch-ipsec is a leaf package in Fedora and could be dropped

 - openvswitch only depends on /usr/bin/python2 because of:

   - /usr/bin/ovs-dpctl-top

Has code adapted from diveintopython3 (not the 3), but just by reading it, I wasn't able to determine whether it is Python 3 compatible, but it might very well be.

   - /usr/sbin/ovs-bugtool

Has `from __future__ import print_function` but also `import StringIO` and other failures reported by `pylint --py3k` - is not Python 3 compatible as is, but looks fairly easy to port.


   - /usr/share/openvswitch/scripts/ovs-check-dead-ifs

Just by reading it, I wasn't able to determine whether it is Python 3 compatible, but it might very well be.


   - /usr/share/openvswitch/scripts/ovs-vtep

Imports from six, appears to be Python 3 compatible.

Comment 16 Flavio Leitner 2019-09-15 01:15:41 UTC
- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) 
Some extra tools are written in Python.

- What are the upstream/community plans/timelines regarding Python 3?
It's moving towards Python 3, but not all tools are there yet.

- What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)
The project is being converted slowly to Python3 as the community posts patches. If anyone knows about python3, I am sure the community will welcome patches in the ML.
I can help reviewing as well if needed before go to the ML.

Removed all python2 dependencies/packages in Rawhide and F31.

Closing this, please re-open if something else is needed.
Thanks,
fbl

Comment 17 Miro Hrončok 2019-09-15 08:47:11 UTC
Thank you!


Note You need to log in before you can comment on or make changes to this bug.