Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1741023 - nfs-ganesha depends on Python 2
Summary: nfs-ganesha depends on Python 2
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: nfs-ganesha
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F31_PY2REMOVAL
TreeView+ depends on / blocked
 
Reported: 2019-08-14 05:24 UTC by Lumír Balhar
Modified: 2019-08-14 23:40 UTC (History)
5 users (show)

Fixed In Version: nfs-ganesha-2.8.2-5.fc31, nfs-ganesha-2.8.2-1.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-14 23:40:10 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lumír Balhar 2019-08-14 05:24:45 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 nfs-ganesha'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 nfs-ganesha.
If you need anything from us, or something is unclear, please mention it here.

Thank you.

Comment 1 Daniel Gryniewicz 2019-08-14 12:21:16 UTC
Ganesha itself is written in C, and provides no python bindings.  However, we provide a DBUS API for interacting with the running Ganesha, and provide a set of Python utilities to make using this API easy for administrators.

We have no problem with these being ported to python 3, and are willing to help, although none of us are python experts (and most of us haven't done such a port).  We have tentative plans to move to python 3 upstream, but not much work has been done on it so far.

All the python in Ganesha lives in src/scripts/ganeshactl.  All of it currently uses python2 in the shebang.  It should be fairly straight forward, with the only gotcha possibly being the use of PyQT4.

Comment 2 Kaleb KEITHLEY 2019-08-14 13:05:31 UTC
nfs-ganesha-2.8.x – which is what's in rawhide – uses python3. The only python in nfs-ganesha is in the nfs-ganesha-utils RPM.

I.e. `rpm -qp --requires nfs-ganesha-utils-2.8.2-3.fc31.x86_64.rpm`
...
python(abi) = 3.7
python3
python3-dbus
python3-gobject
python3-pyparsing
...

Beyond that I'm not aware of anything that has any left over dependencies on python2.

If you are aware of some specific issue please provide a link to what you're looking at.

Closing as NOTABUG.

Comment 3 Petr Viktorin 2019-08-14 13:20:22 UTC
> If you are aware of some specific issue please provide a link to what you're looking at.

Sure! Sorry for not providing that initially -- it takes some manual digging.

It's in the nfs-ganesha-gpfs subpackage:
$ sudo dnf repoquery --repo rawhide --requires nfs-ganesha-gpfs
/usr/bin/python2
[...]

There's a stray python2 shebang in /usr/libexec/ganesha/gpfs-epoch. The script looks py3-compatible at first glance. Could you switch to python3?

Comment 4 Kaleb KEITHLEY 2019-08-14 23:40:10 UTC
fixed in nfs-ganesha-2.8.2-5.fc31, nfs-ganesha-2.8.2-1.fc32

package will be updated in bodhi once bodhi recognizes the fc31/f31 release/tag mappings


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