Filing Bugs for Python 3 Switch

Bohuslav Kabrda bkabrda at redhat.com
Fri Jan 30 10:02:29 UTC 2015


----- Original Message -----
> 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.

Ok, I'm not new to software development :) I know that "let's do this, what can break?" are famous last words.
As I've said in one of my other mails, I'm not forcing anyone to do the switch, so I'll just leave it up to Anaconda devs. And yeah, I know that some of them are optimistic and some others pesimistic about this change.

> 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.

I've ported *dozens* of upstreams to Python 3 (also, while maintaining Python 2.6+ compatibility) and I think people overestimate the dangers of doing this. It's not like everything is going to blow up and still won't work after hundreds of man hours. Anaconda codebase is well written and in a good shape to be switched and I still think it can be done (even if I double the number of bugs I would realistically expect to occur).
You're saying that Anaconda has its own tests right now and that's great, I think that's actually an argument that suggests it should be safer to do the switch.
But as I've said, let's leave this up to Anaconda devs.

> 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.

I agree that it'd reduce the value, but I don't think it'd render it completely useless.

> --
> Adam Williamson
> Fedora QA Community Monkey
> IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
> http://www.happyassassin.net


-- 
Regards,
Slavek Kabrda


More information about the devel mailing list