#1392 Review scope of "Python 3 as default" Change for F22
Closed None Opened 4 years ago by adamwill.

The Python 3 as default Change was accepted as a multi-release Change in the F21 review process:

https://fedoraproject.org/wiki/Changes/Python_3_as_Default

it's in the 'accepted' changes for F22, but doesn't seem to have been reviewed or revisited since.

The scope states that anaconda will be ported:

"Anaconda and all of its dependencies run on Python 3"

However, the anaconda team affirms that this is far, far from done at present, and is blocking on more than just work on anaconda proper:

<bcl> i'd say no
<davidshea> adamw: https://bugzilla.redhat.com/show_bug.cgi?id=1014220 still has a lot of open dependencies and not all of them are us

they don't think it'd be a good idea to try and force it on the F22 time frame:

<bcl> not enough time, and I don't see any sense in trying to push through an arbitrary change.

so I'd like to suggest you revisit the Change and consider adjusting the scope. I'd say this case implies that there may perhaps be other elements of the scope that might now prove to be unrealistic for the F22 schedule and therefore the scope may need to be adjusted in other ways. I don't have specific detail on any other cases, but I'd suggest asking the Change owners to contact the other teams involved and refine the scope as necessary.


I think this should be done in F23 and properly.
The timeframe for F22 given the FESCo wants to keep the F22 release schedule more strictly time-based.

Replying to [comment:1 tmraz]:

I think this should be done in F23 and properly.
The timeframe for F22 given the FESCo wants to keep the F22 release schedule more strictly time-based.

Have you read this?
https://lists.fedoraproject.org/pipermail/devel/2015-January/206781.html

I'm regularly talking to Vrata Podzimek, one of Anaconda devs, who keeps telling me that they'll be able to make this just fine.

The referenced Bugzilla seems not to have been updated for some time now. I did some updates, here's more info:

  • authconfig python 3 compatibility is being worked on
  • python-nss usage will be dropped AFAIK (if someone from Anaconda devs can confirm, we can remove that from the bug dependencies)
  • python-blivet is being worked on and is very close to python3 compatibility
  • pykickstart python3 compat patch is close to being merged upstream AFAIK
  • I have to admit that I don't know about iscsi-initiator-utils, I'll have to investigate that
  • libuser patch has been reviewed upstream and is good, upstream just haven't had the time to merge it and release new version
  • AFAIK python-pyblock should be replaced by a C library (if I'm not mistaking it for something else, not sure...)
  • dropping python-urlgrabber has patches ready, I've heard

I'm not sure whether or not the points above are 100 % accurate, so I asked Vrata Podzimek to comment here. Vrato, can you please sum up the progress and perhaps share some more specifics on the above points?

Most importantly, can Anaconda be ready for Python 3 in F22?

Thanks.

Just about authconfig - I do not work on the python 3 compatibility and I do not know about anyone else working on that either. But it is possible but not too probable that he/she just did not tell me about that.

As I will not be able to attend the today's FESCo meeting - if this topic is discussed there I am +1 to postponing to F23, +0 to keeping it as change for F22.

Replying to [comment:5 tmraz]:

Just about authconfig - I do not work on the python 3 compatibility and I do not know about anyone else working on that either. But it is possible but not too probable that he/she just did not tell me about that.

Yeah, Robert Kuska promised he'd work on that. I'm not sure precisely what his progress is, but he just didn't tell you.

Replying to [comment:4 bkabrda]:

I'm regularly talking to Vrata Podzimek, one of Anaconda devs, who keeps telling me that they'll be able to make this just fine.

The referenced Bugzilla seems not to have been updated for some time now. I did some updates, here's more info:

  • authconfig python 3 compatibility is being worked on
  • python-nss usage will be dropped AFAIK (if someone from Anaconda devs can confirm, we can remove that from the bug dependencies)
    Correct, removed.

  • python-blivet is being worked on and is very close to python3 compatibility

  • pykickstart python3 compat patch is close to being merged upstream AFAIK
  • I have to admit that I don't know about iscsi-initiator-utils, I'll have to investigate that
  • libuser patch has been reviewed upstream and is good, upstream just haven't had the time to merge it and release new version
  • AFAIK python-pyblock should be replaced by a C library (if I'm not mistaking it for something else, not sure...)
    Correct.

  • dropping python-urlgrabber has patches ready, I've heard
    Correct, should be posted for a review by the end of this week.

I'm not sure whether or not the points above are 100 % accurate, so I asked Vrata Podzimek to comment here. Vrato, can you please sum up the progress and perhaps share some more specifics on the above points?

Most importantly, can Anaconda be ready for Python 3 in F22?
I think it's possible. Looking at the overview, there are not so many things missing. Of course, we need to switch Anaconda from python2 to python3 as the last point. But switching to Python3-only is much easier than achieving compatibility with both Python 2 and Python 3.

Thanks for the updates!

The quotes in the ticket were from #anaconda , yesterday - I don't see any outright conflicts between what vpodzime said and what bcl and davidshea said, just perhaps a different emphasis.

I'd say based on our previous experience with major anaconda changes that in whatever cycle we decide to switch to using Python 3 for anaconda in the official media, '''that change MUST be in place by, at the latest, the Branch point'''. Really, though, even that would be very late. It would be much better if it were in place long before the Branch point. Given the F22 schedule I'd really only have been completely happy from a QA perspective if it had already gone in, like, two weeks ago.

So to ask a simple specific question:

On what date, precisely, do you believe we could first switch the Workstation and Server images to using Python 3 for their installation processes?

The F22 branch point is 2015-02-10.

I have to say that I'm not sure when we could do the switch, this question is for Anaconda developers, who I'm just helping with dependencies porting.

Yesterday I submitted a python3 compat patch for iscsi-initiator-utils and today for authconfig, which means that all Anaconda deps have been ported or a patch is submitted. I can't say when these patches will be merged, but I'll try to contacting all upstreams/maintainers personally, so that this happens ASAP. I honestly have to say that I don't know how much time porting Anaconda itself will take. I've seen the code and it looks to be written very well, so I'd say not much.

If we don't manage to switch Anaconda, we really don't have to, it can stay on Python 2. As I've noted in the mail to devel ML [1], the LiveCDs will have both Pythons anyway, so I don't see why we wouldn't move as much as we can either way.

Thanks.

[1] https://lists.fedoraproject.org/pipermail/devel/2015-January/206781.html

So in todays fesco meeting:

defer this to F23, file bugs against rawhide after branch (+6,0,0)

There's discussion in the meeting logs... speaking for myself only: Retargeting to f23 should give time for things to land in rawhide and get tested, including:

  • can switch anaconda after branch
  • can switch dnf to python3-dnf
  • patches can land upstream, etc

The new Change proposal has been created - Python 3 Migration Improvements https://fedoraproject.org/wiki/Changes/Python_3_Migration_Improvements

This ticket will be discussed in the FESCo meeting on Wednesday at 18:00UTC in #fedora-meeting on irc.freenode.net.

(Or should this just be closed in favor of #1413 ?)

From today’s FESCo meeting: Close this ticket, discuss the specifics in #1413 instead. (+5)

Login to comment on this ticket.

Metadata