[00:00] <jam> wgrant: just merged devel 12533, and pushed. No conflicts, fwiw.
[00:00] <jam> now, time for me to go sleep
[00:00] <jam> hopefully benji will comment on the proposal soon, so we can get it landed before downtime.
[00:00] <jam> but, probably not today :)
[00:02] <benji> jam: is this the email I replied to about 12 hours ago?
[00:02] <jam> benji: right. I guess you need to put your Release Manager stamp on the merge proposal itself
[00:02] <jam> at least, that is what I gleaned from wgrant's comment
[00:03] <benji> I can do t
[00:03] <benji> hat
[00:03] <benji> (If someone can tell me how.)
[00:03] <jam> don't look at me :)
[00:03] <benji> heh
[00:04] <benji> jam: which MP is it?
[00:05] <jam> https://code.launchpad.net/~jameinel/launchpad/lp-serve-child-hangup/+merge/51893
[00:05] <jam> is the lp proposal
[00:05] <jam> and https://code.launchpad.net/~jameinel/lp-production-configs/enable-forking/+merge/52297
[00:05] <jam> is the config change
[00:06] <benji> ok, let me see if there's something obvious I can do to them
[00:06] <wgrant> benji: Review with type 'rc', or 'release-critical'. I forget which.
[00:06]  * wgrant checks.
[00:06] <benji> cool, that's along the lines of what I was thinking
[00:06] <wgrant> jam: I'd already done that locally, so it's already in ec2.
[00:06] <wgrant> I'll lp-land it once it succeeds.
[00:07] <wgrant> lib/devscripts/autoland.py:        if 'release-critical' in review_type:
[00:09] <benji> cool, release-critical it is
[00:09] <wgrant> Thanks.
[00:09] <benji> done
[00:10] <benji> I'm going away now, but much like he-who-must-not-be-named, if you mention my name I'll find you whereever you are.
[00:10] <wgrant> Heh.
[00:12] <wgrant> jam: I won't land the prod configs change until we have confirmed LOSA availability for the rest of the day of the deployment.
[00:12] <wgrant> Just in case.
[00:13] <wgrant> Since we had no spm last week.
[00:13] <jam> wgrant: sounds reasonable
[04:27] <LPCIBot> Project devel build #508: FAILURE in 15 min: https://hudson.wedontsleep.org/job/devel/508/
[04:41] <wgrant> bzrlib.errors.InvalidHttpResponse: Invalid http response for https://xmlrpc.launchpad.net/bazaar/: Unable to handle http code 502: Bad Gateway
[04:41] <wgrant> That's not good.
[04:48] <StevenK> Whee
[04:49] <StevenK> Slave deleted
[04:49] <wgrant> It wasn't a slave fault.
[04:49] <wgrant> But OK.
[04:50] <StevenK> I know, just want to certain it doesn't affect a later build
[04:50] <wgrant> Ah, true.
[04:50] <StevenK> I can check out lp:difftacular locally
[04:52] <StevenK> Ah, it was a change. Let me schedule a build.
[06:23] <lifeless> ola
[06:27] <wgrant> Hi lifeless.
[06:27] <lifeless> epic lounge time
[06:28] <wgrant> SYD?
[06:28] <lifeless> yeah
[06:29] <lifeless> hmmm
[06:30] <lifeless> I think tomorrow I'll add the new appserver instances, patch oops-tools to not truncate the lists of incidents and iterate on my bug 727560
[06:30] <_mup_> Bug #727560: Archive:EntryResource:getPublishedSources <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727560 >
[06:30] <wgrant> List of incidents? You mean list of exceptions?
[06:31] <lifeless> wgrant: hows our in dc latency going ?
[06:31] <lifeless> wgrant: yeah, the 'X of Y' in the headings.
[06:31] <lifeless> oh, and with the report not truncating, drop the soyuz specific report.
[06:31] <wgrant> lifeless: Up to 100ms.
[06:32] <wgrant> lifeless: Yeah, I think we can probably do that now.
[06:32] <lifeless> mmm, still tolerable.
[06:32] <wgrant> The main report will become a lot shorter this week.
[06:32] <lifeless> not not brilliant
[06:32] <lifeless> wgrant: it doesn't really matter how long it is.
[06:33] <wgrant> lifeless: Bug #730011
[06:33] <_mup_> Bug #730011: ~registry should be able to unsuspend accounts <chr> <Launchpad itself:Triaged> < https://launchpad.net/bugs/730011 >
[06:33] <wgrant> Can you see any reason not to allow ~registry to traverse to suspended accounts?
[06:33] <lifeless> possibly
[06:34] <lifeless> it would depend on the style of suspension
[06:34] <lifeless> resurrect a 'banned cause a bot was spamming via your account' -> fine
[06:34] <lifeless> suspended cause they were a dirty dirty hacker -> fine IFF we make the cause /realllllly clear/
[06:35] <wgrant> Right.
[06:35] <lifeless> suspended if they used legal action to get all details removed and DPA stuff ... no
[06:35] <lifeless> or at least, I'd want legal to comment on the third
[06:35] <lifeless> I think if you get charlie and elmo to agree, that its pragmatically fine.
[06:36] <lifeless> remembering that non-canonical are in ~regstry too
[06:36] <lifeless> we may have 0 of the third case and not handle them in the normal way anyhow
[06:36] <lifeless> which would make the concern irrelevant
[06:39]  * lifeless just fixed 7 oops a day
[06:39] <wgrant> Oh?
[06:39] <lifeless> https://wiki.ubuntu.com/UbuntuMediaCenter?action=diff&rev2=50&rev1=49
[06:40] <wgrant> Hah.
[06:40] <wgrant> They're not real OOPSes.
[06:40] <lifeless> well
[06:41] <lifeless> they are within the set of 'canonical' web properties that its useful to report on bad links
[06:41] <lifeless> so I don't feel comfortable deleting them
[06:41] <wgrant> True
[06:42] <lifeless> and another 9
[06:42] <lifeless>  10 NotFound: Object: <Product at INSTANCE-ID>, name: u'latest-bugs.atom '
[06:42] <lifeless>    GET: 10 Robots: 0  Local: 10 Most Common Referrer: http://feeds.launchpad.net/lilregcleaner/latest-bugs.atom%20
[06:43] <lifeless>      10 http://feeds.launchpad.net/lilregcleaner/latest-bugs.atom%20 (Unknown)
[06:43] <lifeless> I wonder if thats real, or bad data *within* lp
[06:43] <wgrant> There are a few other odd ones like that.
[06:43] <lifeless> which will be a pita to correct because its a users data
[06:43] <lifeless> erm
[06:43] <lifeless> wtf
[06:43] <lifeless> http://answers.launchpad.net/index.php
[06:43] <lifeless> GET: 12 Robots: 0  Local: 12 Most Common Referrer: http://answers.launchpad.net/index.php
[06:43] <wgrant> eg. '%20source' instead of '+source' sometimes, as a referer.
[06:44] <wgrant> Which is clearly fake.
[06:44] <wgrant> But why.
[06:44] <lifeless> hack attempts ?
[06:44] <wgrant> Presumably.
[06:44] <wgrant> But why.
[06:44] <lifeless> because we're running php ...
[06:45] <wgrant> Oh, the index.php one is clearly a hack attempt, yes.
[06:45] <wgrant> But the other s/+/%20/ probably aren';t.
[06:45] <lifeless> you're talking https://launchpad.net/ubuntu-russian-guide/lucid-guide/lucid-guide-1.0/%20download/ ?
[06:46] <lifeless> ok, flight time
[06:46] <lifeless> ciao
[10:11] <LPCIBot> Yippie, build fixed!
[10:11] <LPCIBot> Project devel build #509: FIXED in 5 hr 7 min: https://hudson.wedontsleep.org/job/devel/509/
[11:22] <lifeless> bah, frozen
[11:22] <lifeless> we'll see how this db deploy goes, I think we're probably ready to move freeze to monday morning
[11:23] <lifeless> wgrant: lp:~lifeless/launchpad/bug-727560 has had all the tests that failed in my ec2 run fixed
[11:23] <wgrant> lifeless: We almost ended up having to delay it to then anyway.
[11:24] <lifeless> because of the conflict?
[11:24] <wgrant> Yes.
[11:24] <wgrant> And we were running out of mbarnett.
[11:24] <lifeless> say its not so
[11:25] <wgrant> I think we should freeze on Monday morning and possibly aim to unfreeze by the next morning.
[11:25] <lifeless> 5 hours should be all we nned
[11:25] <lifeless> direct landing to devel
[11:26] <lifeless> one buildbot
[11:26] <lifeless> deploy to qas.
[11:26] <lifeless> test
[11:26] <lifeless> wgrant: I think we should freeze closer, too - but have been taking incremental steps
[11:26] <lifeless> less risk
[11:26] <wgrant> Sure.
[11:29] <wgrant> I think the future will become more clear after a couple more normal releases.
[11:29] <wgrant> 11.02 was rather anomalous.
[11:30] <lifeless> we need to be able to handle that too though
[11:30] <wgrant> Do we?
[11:31] <lifeless> there will always be exceptions and surprises
[11:31] <lifeless> we need to have a way to cope
[11:31] <wgrant> There will.
[11:31] <wgrant> But they can be handled by reversion, if we make the window too narrow.
[11:31] <lifeless> be that 'don't merge that patch' or 'don't do a deploy' or whatever.
[11:32] <lifeless> well, there's no guarantee that reverting some patch P out of a sequence N >= P items long will be itself regression free
[11:32] <lifeless> I'm not trying to say /how/ we should handle it
[11:32] <lifeless> but we need to think about how to handle it
[11:32] <wgrant> Right.
[11:32] <lifeless> avoiding the issue is one way, but tends to be rigid and expensive most of the time
[11:33] <lifeless> having a fallback plan is a different way
[11:33] <lifeless> like a second deploy date booked 2 days later
[11:33] <lifeless> a third is much more regular db deploys
[11:33] <wgrant> Lots of patches are short and suitable for regular DB deploys.
[11:34] <wgrant> 11.02 was not.
[11:34] <lifeless> the problem isn't (usually) the patch size
[11:34] <lifeless> its doing the deploy itself.
[11:34] <lifeless> readonly mode is /expensive/ to invoke
[11:34] <lifeless> we can't do readonly mode more than once every 3 days
[11:34] <lifeless> not reliably
[11:34] <wgrant> Why not?
[11:34] <wgrant> The rebuild?
[11:35] <lifeless> because after doing readonly mode the readonly replica has to be rebuilt
[11:35] <wgrant> True.
[11:35] <lifeless> 11.02 was fine patch size
[11:35] <wgrant> Although that only take 24hourish.
[11:35] <lifeless> the problem there was stale locks on the sso replica
[11:35] <wgrant> Estimates said that the patches would almost exhaust the window.
[11:35] <lifeless> estimate was on crack
[11:36] <wgrant> They were in fact much shorter, but that's not what we thought before hand.
[11:36] <lifeless> no, they weren't.
[11:36] <lifeless> the estimate was inflated by calculating slony slaves as linear sums
[11:36] <wgrant> Hence they were shorter than the estimates.
[11:36] <lifeless> but ddl propogates to the slaves same as normal commits - in paralle.
[11:36] <lifeless> well, depends on your definition.
[11:37] <lifeless> if you run the right formula on the original patch time, the predicted time was right no
[11:37] <lifeless> *on8
[11:37] <wgrant> Sure.
[11:37] <wgrant> But the original patch time is not the interesting one.
[11:38] <lifeless> what is?
[11:38] <wgrant> The final value that tells us how long the window needs to be.
[11:41] <lifeless> I don't understand why you prefaced your prior assertion with 'but'.
[11:41] <lifeless> given I too was talking about the predicted time.
[11:42] <lifeless> I think we're both pretty clear on the constraints
[11:47] <lifeless> http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/ looks nice
[11:57] <lifeless> gnight
[11:59] <wgrant> Night.
[21:03] <wallyworld> lifeless: are you able to +1 on this mp now that i've exported to the correct version as requested: https://code.launchpad.net/~wallyworld/launchpad/mp-related-bugtasks-webservice/+merge/52004
[21:13] <lifeless> wallyworld: actually I'm thinking we probably shouldn't export it at all
[21:13] <lifeless> wallyworld: its entirely redundant with a bug search for branch=X
[21:13] <lifeless> wallyworld: I dunno
[21:14] <wallyworld> lifeless: i have no real opinion on it. it just seemed like something that people would want to do.
[22:00] <StevenK> wgrant: Have you seen the OOPS report today?
[22:01] <lifeless> StevenK: do you mean sundays? tordays is 3 hours away
[22:01] <StevenK> Likely
[22:07] <wgrant> StevenK: You mean the QISEs that started on Friday?
[22:07] <StevenK> wgrant: Indeed.
[22:07] <wgrant> Basically, delayed copies suck.
[22:08] <wgrant> And are completely unnecessary.
[22:08] <wgrant> Particularly with the branch I am about to propose.
[22:09] <StevenK> wgrant: Oh, do you have a nice suggestion of how I can take a .dsc in the tree and import it into the librarian and create publishing history for it?
[22:09] <wgrant> If we have an spm today we can reject those two PUs.
[22:09] <wgrant> StevenK: Why?
[22:09] <wgrant> Testing the changelog populator?
[22:09] <StevenK> Right
[22:10] <wgrant> StevenK: I'd to it manually.
[22:10] <wgrant> makeSourcePackagePublishingHistory probably doesn't create any SPRfs.
[22:10] <wgrant> So you can add them yourse.f
[22:10] <wgrant> And I cannot type.
[22:10] <StevenK> Haha
[22:10] <StevenK> More caffeine? Less caffeine?
[22:21] <lifeless> wgrant: fyi (cause I know you're interested) - https://code.launchpad.net/~lifeless/lp-production-configs/pending/+merge/52345
[22:22] <lifeless> how does one get a bug notification level of nothing ?
[22:23] <wgrant> lifeless: I think you need the advanced subscriptions UI :(
[22:24] <wgrant> That's why I haven't already done that
[22:25] <lifeless> ditto tims patch I guess ?
[22:25] <lifeless> wgrant: you could give yourself that on dogfood, for the former
[22:26] <wgrant> Ah, true, Julian's not around.
[22:26] <lifeless> wgrant: him being around would interfere?
[22:26] <wgrant> He would go on a rant about how it's only for Soyuz testing :P
[22:26] <lifeless> its a team qa resource
[22:30] <lifeless> wgrant: so, want to file a new bug via email with 32K of text or whatever? [I still haven't setup dkim on my domain yet]
[22:30] <wgrant> lifeless: My DKIM isn't trusted, but I can gpg-sign it...
[22:30] <lifeless> wgrant: yeah
[22:31] <lifeless> then we can get spm to run process-mail
[22:31] <lifeless> and we should get a reject in the staging mailbox
[22:31] <wgrant> I think it runs regularly, actually.
[22:31] <wgrant> Judging by the number of OOPSes it generates.
[22:31] <wgrant> On staging, at least.
[22:31] <wgrant> I will spam both.
[22:38] <StevenK> Hm
[22:39] <StevenK> You'd think we'd have a helper in the test suite for "Here, punt this file into the Librarian"
[22:39] <wgrant> StevenK: Why do we need a helper?
[22:39] <wgrant> The API is not that terrible :)
[22:40] <StevenK> Clearly, I'm failing to read Python this morning, and require tea.
[22:41] <wgrant> lifeless: I'm currently making Bugs usable on mawson again with the same hack we used on qas.
[22:41] <wgrant> But it's taking a while.
[22:41] <thumper> lifeless: can I get you to mentor two reviews by wallyworld?
[22:41] <lifeless> wgrant: what was that ?
[22:41] <lifeless> thumper: sure
[22:41] <thumper> lifeless: https://code.edge.launchpad.net/~thumper/launchpad/mail-header-oops/+merge/52156 and https://code.edge.launchpad.net/~thumper/launchpad/strip-email-attachment-path/+merge/52159
[22:41] <thumper> damn edge
[22:42] <thumper> I just won't leave my browser memory
[22:42] <thumper> s/I/It/
[22:42] <wgrant> UPDATE bugmessage SET index=id WHERE index IS NULL;
[22:42] <lifeless> wgrant: we ran the indexer on qastaging :)
[22:43] <wgrant> lifeless: There were 3000 unindexed messages there when we tried to upgrade it on Saturday.
[22:43] <wgrant> Production is still fine.
[22:43] <wgrant> So I suspect the indexer stopped too early.
[22:43] <lifeless> ><
[22:43] <lifeless> ok
[23:18] <wgrant> Error message:
[23:18] <wgrant> The description is too long. If you have lots of text to add, use an
[23:18] <wgrant> attachment instead.
[23:18] <wgrant> Excellent.
[23:32] <lifeless> woo
[23:32] <lifeless> qa-ok ?
[23:32] <wgrant> Just waiting for a successful one to go through.
[23:33] <lifeless> http://webnumbr.com/launchpad-oops-bugs.all
[23:34] <StevenK> Where's spiv with his perspective graph? I liked that one better.
[23:35] <wgrant> lifeless: qa-ok
[23:36] <StevenK> wgrant: And you also did r12527?
[23:37] <wgrant> StevenK: i've just given up waiting for mawson.
[23:37] <wgrant> Going to live with the breakage.
[23:39] <thumper> lifeless: thanks for the review mentors.
[23:39] <thumper> lifeless: got any quick pointers to fake librarian usage?
[23:39] <thumper> also...
[23:39] <thumper> anyone remember the magic commands to add a loopback delay (and to clear it again) ?
[23:40] <StevenK> Rargh, LP's icon is broken still
[23:40] <lifeless> StevenK: where?
[23:41] <StevenK> lifeless: On any page -- last time, wgrant and I nailed it down to the librarian returning an incorrect content-type
[23:41] <lifeless> thumper: uhm, just grep for FakeLibrarian, its pretty self explanatory
[23:41] <lifeless> StevenK: ah, yes
[23:41] <StevenK> https://bugs.launchpad.net/launchpad/+bug/643224 is where I noticed it
[23:41] <_mup_> Bug #643224: dkim whitelist should be in configuration <dkim> <feature-flags> <lp-foundations> <Launchpad itself:In Progress by mbp> < https://launchpad.net/bugs/643224 >
[23:41] <thumper> ok
[23:41] <lifeless> we should probably critical this
[23:41] <StevenK> And does the font used have to change every day?
[23:41] <StevenK> It's getting annoying.
[23:42] <wgrant> At the moment, yes.
[23:42] <StevenK> lifeless: Do eet
[23:44] <lifeless> oh man
[23:44] <lifeless> this is going to be fugly.
[23:44] <wgrant> Bug heat, please die.
[23:46] <wgrant> lifeless: We are deployable and releasable, yet disappointingly LOSA- and RM-less.
[23:47] <StevenK> Well, it is Sunday for BjornT
[23:47] <StevenK> DOH
[23:47]  * StevenK glares at irssi
[23:48] <lifeless> I'm thinking its time to ditch rm in a month or two
[23:48] <wgrant> I'd say so.
[23:50] <StevenK> And do what instead?
[23:50] <lifeless> StevenK: there's approximately zero to do.
[23:50] <StevenK> I disagree -- given the fun wallyworld had last rollout, for example
[23:51] <lifeless> StevenK: the only nontrivial thing remaining is blessing additional patches during freeze, and thats /only/ needed for fixes to DB patches which were incorrectly qa-ok in db-stable, or which break when combined with the tip of devel.
[23:51] <StevenK> Last rollout is not what I meant, but you see what I mean
[23:51] <lifeless> StevenK: that had no need to be centralised
[23:51] <wallyworld> there needs to be a point of contact that everyone knows about - as someone said to me, it's like herding cats
[23:52] <lifeless> wallyworld: there does?
[23:52] <wallyworld> i think so
[23:52] <lifeless> why?
[23:52] <wallyworld> if/when something goes wrong, there needs to be someone (the rm) accountable for liasing with whoever is needed to get it sorted out
[23:53] <wallyworld> also to chase up people for qa etc
[23:53] <wallyworld> to nominate what db-devel rev no will be used
[23:53] <lifeless> point by point
[23:53] <wallyworld> etc
[23:53] <lifeless> losas are doing the deploy, they are the only sane contact point to initiate any fubar
[23:53] <lifeless> qa chaseup is not needed - if its not qaed, its not in the deploy.
[23:54] <lifeless> the nomination of revisions is trivial, the report plus a quick eyeball over it can be done by anyone.
[23:55]  * thumper scratches his head
[23:55] <wallyworld> re qa: but what if there's a rev holding stuff up and the person just needs reminding or even the qa could just be done by someone else
[23:55] <StevenK> wallyworld: And yet you complain when wgrant does your QA? :-)
[23:55] <wallyworld> yes but "done by anyone" usually means "done by no-one" unless "someone" is accountable
[23:56] <wallyworld> StevenK: only because there's certain things i want to test :-)
[23:56] <lifeless> wallyworld: no, this is a false meme
[23:56] <lifeless> its possible to have a culture where team accountability matters
[23:56] <wallyworld> StevenK:  but close to a release, when stuff is being held up by a qa delay, you just want to get it done
[23:56] <StevenK> And I'm sure everyone is aware of the deployment report.
[23:56] <lifeless> in this specific case -
[23:56] <lifeless>  : if its not qaed, the pipeline stalls but the earlier stuff still gets released.
[23:57] <lifeless>  : if its not qaed and there is a revision after it that someone else wants included in the deploy, they have motivation to qa the earlier revision.
[23:57] <StevenK> lifeless: Er, but that doesn't work?
[23:57] <StevenK> Ah
[23:57] <lifeless> StevenK: by doesn't, you mean 'does'.
[23:58] <lifeless>  : if its not qaed, and there is nothing after it and the person that landed it doesn't care and noone else cares - then clearly the change isn't important enough to worry about us not having it in the deploy.
[23:58] <StevenK> lifeless: I was going to point out that we by definition want to deploy tip of stable since we merge db-devel into it
[23:58] <wgrant> StevenK: That was a matter of some contention last time.
[23:58] <wallyworld> but i maintain that qa is often best done by the person who wrote the code since they know the specific in's and out's and corner cases etc that need to be tested
[23:58] <lifeless> StevenK: we only merge teh qa-ok'd revisions of db-stable, we *do not* merge db-devel.
[23:58] <lifeless> wallyworld: then again, all the other devs have motivation to talk to them.
[23:58] <wgrant> wallyworld: I agree, but sometimes the pipeline is blocked and minimal QA is better than blockage.
[23:59] <lifeless> wallyworld: and if the change looks hard to qa, others can roll it out.
[23:59] <lifeless> *back it out*
[23:59] <lifeless> there are lots of options that don't depend on a single person nagging