Bug 1629753

Summary: python-openstacksdk: Remove (sub)packages from Fedora 30+: python2-openstacksdk-tests
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-openstacksdkAssignee: Javier Peña <jpena>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cstratak, igor.raits, jpena, mhroncok, ngompa13, pviktori, zbyszek
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-openstacksdk-0.12.0-5.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-19 12:42:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1625773    

Description Miro Hrončok 2018-09-17 13:00:27 UTC
In line with the Mass Python 2 Package Removal [0], the following (sub)packages of python-openstacksdk were marked for removal:

 * python2-openstacksdk-tests

According to our query, those (sub)packages only provide a Python 2 importable module. If this is not true, please tell us why, so we can fix our query.

Please remove them from your package.

As said in the change document, if there is no objection in a week, we will remove the package(s) as soon as we get to it. This change might not match your packaging style, so we'd prefer if you did the change. If you need more time, please let us know here.

We hope this doesn't come to you as a surprise. If you want to know our motivation for this, please read the change document [0].

[0] https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

Comment 1 Javier Peña 2018-09-19 10:58:26 UTC
Fixed in Rawhide via https://koji.fedoraproject.org/koji/taskinfo?taskID=29762727

Comment 2 Miro Hrončok 2018-09-19 11:10:57 UTC
Note that our automation only determined python2-openstacksdk-tests as useless, not python2-openstacksdk.

python2-openstacksdk is unfortunately still required:

$ dnf repoquery --repo=rawhide --whatrequires python2-openstacksdk
python2-openstackclient-0:3.14.1-4.fc29.noarch
python2-openstacksdk-tests-0:0.12.0-3.fc29.noarch
python2-osc-lib-0:1.9.0-3.fc29.noarch
python2-shade-0:1.27.1-1.fc30.noarch

$ rdnf epoquery --repo=rawhide-source --whatrequires python2-openstacksdk
python-osc-lib-0:1.9.0-3.fc29.src
python-shade-0:1.27.1-1.fc30.src

If we can rid of that dependency (or those python2 packages), good. But if not, there is a problem.

The automation treats the packages as:

python2-openstackclient - keep, it has /usr/bin/openstack (can be run by Python 3 instead?)
python2-openstacksdk-tests - drop now
python2-osc-lib - drop later (needed by 21 packages)
python2-shade - keep, it has /usr/bin/shade-inventory-2.7 (maybe /usr/bin/shade-inventory from python3-shade is enough?)

Comment 3 Javier Peña 2018-09-19 11:15:55 UTC
Ok, I see.

I guess we should be able to remove all the python2 subpackages in the other packages, but I'll re-enable python2-openstacksdk for now, so we can do the fixes in order.

Comment 4 Miro Hrončok 2018-09-19 11:24:09 UTC
Before I open other bugs, would you be able to tell me what's the difference between:

 * /usr/bin/shade-inventory-X.Y running on py2 and py3
 * /usr/bin/openstack-X.Y running on py2 and py3

?

Comment 5 Javier Peña 2018-09-19 12:25:57 UTC
(In reply to Miro Hrončok from comment #4)
> Before I open other bugs, would you be able to tell me what's the difference
> between:
> 
>  * /usr/bin/shade-inventory-X.Y running on py2 and py3
>  * /usr/bin/openstack-X.Y running on py2 and py3
> 
> ?

They are the same binaries, running on different python versions.

Comment 6 Javier Peña 2018-09-19 12:38:02 UTC
https://koji.fedoraproject.org/koji/taskinfo?taskID=29763952 should be ok now. Can you check it?

Comment 7 Miro Hrončok 2018-09-19 12:42:48 UTC
(In reply to Javier Peña from comment #5)
> (In reply to Miro Hrončok from comment #4)
> > Before I open other bugs, would you be able to tell me what's the difference
> > between:
> > 
> >  * /usr/bin/shade-inventory-X.Y running on py2 and py3
> >  * /usr/bin/openstack-X.Y running on py2 and py3
> > 
> > ?
> 
> They are the same binaries, running on different python versions.

My question was more like: Is there a legitimate reason for the user to choose what Python versions the binaries run on?

E.g. for /usr/bin/pytest, the reason is that it runs test on the particular Python version. While e.g. /usr/bin/pygmentize is only shipped once because the user does not care what Python version it uses behind the scene.

(In reply to Javier Peña from comment #6)
> https://koji.fedoraproject.org/koji/taskinfo?taskID=29763952 should be ok
> now. Can you check it?

Seems OK.

Comment 8 Javier Peña 2018-09-19 12:51:06 UTC
(In reply to Miro Hrončok from comment #7)
> (In reply to Javier Peña from comment #5)
> > (In reply to Miro Hrončok from comment #4)
> > > Before I open other bugs, would you be able to tell me what's the difference
> > > between:
> > > 
> > >  * /usr/bin/shade-inventory-X.Y running on py2 and py3
> > >  * /usr/bin/openstack-X.Y running on py2 and py3
> > > 
> > > ?
> > 
> > They are the same binaries, running on different python versions.
> 
> My question was more like: Is there a legitimate reason for the user to
> choose what Python versions the binaries run on?
> 
> E.g. for /usr/bin/pytest, the reason is that it runs test on the particular
> Python version. While e.g. /usr/bin/pygmentize is only shipped once because
> the user does not care what Python version it uses behind the scene.
> 

Oh, I understand that now. No, there's no reason to choose which python version to the binary run on.