Filing Bugs for Python 3 Switch

Adam Williamson adamwill at fedoraproject.org
Thu Jan 29 21:15:32 UTC 2015


On Thu, 2015-01-29 at 08:56 -0500, Bohuslav Kabrda wrote:
> I'm regularly talking to some of Anaconda devs (mostly Vrata 
> Podzimek) and they still think this is doable *without* introducing 
> high number of regressions, that would be impossible to fix before 
> F22 final.

That doesn't seem to be what other anaconda devs are saying:

<bcl> 07:58:01> And personally, I'd like to see full python3 support 
go through a rawhide cycle instead of switching right before alpha -- 
but that's just me.

===========

<bcl> 08:09:57> my opinion is that we need a fallback, which is yum, 
and we need time to shake py3 bugs out in rawhide.
<sgallagh> 08:10:27> bcl: A fallback to python 2 dnf isn't acceptable?
<bcl> 08:10:39> So my suggestion would be to stay with dnf py2 for F22 
with yum as a fallback. And after we branch for f22 next month charge 
ahead with py3 conversion.

(in case it's not clear, the point bcl is making there is that moving 
anaconda to python3 commits it irreversibly to DNF because there is no 
python3 yum, and he'd much rather have yum available as a fallback for 
anaconda for F22 in case we find too many bugs in DNF)

===========

<clumens> 08:19:36> i want to avoid the two month blocker treadmill 
grind this time
<dlehman> 08:21:59> Trying to cram this into f22 alpha is begging for 
abuse IMO

===========

To be completely honest, I think vpodzime is exactly at the point we 
all were at for the 'noloader' change, and newui, and storage rewrite, 
and GPT-by-default; where you've pretty much got what you think of as 
the 'main work' of writing all the code done so you think hey, it 
should be no problem to throw this in, right? We've got a few months 
to fix the bugs and there won't be that many, right?

What bitter experience taught us is there are *always* more bugs than 
you expect, and fixing them is *always* more work than you expect. 
anaconda is a huge hairy mess with 100,000 use cases. When you get 
Step 1 done - in this case, I guess, made it so anaconda runs under 
Python 3 and gets through whatever little ad hoc test you've been 
using - you have not got 90% of the work done, really. You've got 
maybe 50-60% of it done. Maybe we're just a bunch of old cynics, but 
it seems an invariable rule that there will be a ton of stuff that you 
just didn't see coming, and that's not a good combination with a short 
release cycle we really want to stick to (which I believe is the case 
for F22) and a strong desire on both anaconda and QA's part to avoid 
or at least mitigate the stress and burnout-inducing 'blocker 
treadmill' effect.

I don't agree that pushing the anaconda change to F23 just moves the 
same problems out in time, either. We *have* made improvements to the 
Fedora process in general which mean this just isn't true any more. We 
can commit the Python 3 change to Rawhide the day after F22 branches 
and really go all-in on it there, and those bits *don't* just get 
ignored. anaconda has its own tests now, for one thing, so at least 
those are going to get run, and that coverage is getting bigger. We 
*do* get nightly builds from Rawhide constantly now, even when there's 
a branched, and people do test them - no, not as often as we test 
Branched, but they do get tested. And at least *the day after F22 
ships* we will shift focus to an F23 which is already Python 3-ized 
and we can be testing and finding bugs in it from that date on all the 
way up to release; that's an extra ~2 months of testing vs. making the 
switchover at *this* point in the F22 cycle, even if you imagine we do 
absolutely zero testing on F23 while F22 is in progress.

As https://www.happyassassin.net/testcase_stats/22/ shows, we have 
already done a decent amount of testing on Fedora 22 and it's still ~2 
weeks before Alpha TC1. Switching anaconda to Python 3 at this point 
substantially reduces the value of a lot of that testing. To me, this 
is a clear demonstration that there's a significant difference between 
making the change to Python 3 for F22 now, and making the change to 
Python 3 for F23 the day after F22 branches.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net



More information about the devel mailing list