[00:00] <wgrant> Ah, ls-lR is done in Python, not with run-parts, so we could parallelise that without too much work.
[00:00] <cjwatson> For values of "done in Python" including "Python that calls horrible self.executeShell", yes
[00:01] <wgrant> Well, yes, but the stuff under run-parts is opaque to us.
[00:01] <wgrant> So this is probably better :)
[00:01]  * cjwatson wishes this at least used the subprocess module, but there you go
[00:02] <wgrant> Oh, it uses os.system!?
[00:02] <wgrant> Ew.
[00:02] <wgrant> This is brand new code, too.
[00:02] <wgrant> Ah
[00:02] <wgrant>         This won't just load an external program and run it; the command
[00:02] <wgrant>         line goes through the full shell treatment including variable
[00:02] <wgrant>         substitutions, output redirections, and so on.
[00:02] <wgrant> Not the best of justifications, but at least it's something.
[00:03] <cjwatson> The only real justification I can see is that it logs something you can copy and paste as shell, but given how little of Launchpad that applies to I don't think that's much of an excuse
[00:03] <cjwatson> It would probably be better for the caller to just do it itself using subprocess and kill that abstraction
[00:04] <wgrant> Indeed.
[00:05] <cjwatson> Anyway; the ideal management-level justification for me would be if this work let us run the publisher every 30 minutes, or at least brought us substantively closer to that
[00:05] <wgrant> Yep.
[00:06] <cjwatson> (Since the driver for this is Kate and Rick pointing out that the image build pipeline is much longer than it ought to be)
[00:06] <wgrant> I think we'd get some runs in if we added a :32 run right now. But not all of them.
[00:07] <cjwatson> You would have got at most three extra runs from that today
[00:07] <wgrant> There we go, much better logging now.
[00:07]  * wgrant watches.
[00:07] <cjwatson> Well, I suppose the publisher might have been a bit quicker with less to do, so maybe slightly more
[00:08] <wgrant> We'll have some better numbers in 20 minutes :)
[00:09] <cjwatson> Yep, definitely more useful again now
[00:18] <poolie> hi all
[00:18] <poolie> lifeless: i posted a conceptual bmp diff spam suppression patch
[00:18] <poolie> - is it approximately right?
[00:19] <poolie> - should i bother persisting? i hate giving up, but sometimes things turn out not to be drive by
[00:19] <StevenK> Oh, damn it all. The PersonFormatterAPI calls is_valid_person everytime
[00:21] <lifeless> poolie: an actual fix no?
[00:21]  * StevenK waits for failfan to build
[00:21] <poolie> yes, this (tries to) make the job retry a bit later
[00:22] <poolie> so an actual fix along the lines we discussed
[00:22] <poolie> https://code.launchpad.net/~mbp/launchpad/612171-diff-generation-spam/+merge/79351
[00:23] <lifeless> thats grewat
[00:23] <lifeless> I'm not really here today
[00:23] <cjwatson> ah yes, there we go, 3:01 for ls-lR
[00:24] <lifeless> but if you haven't had a review tomorrow, I will look at it
[00:24] <poolie> ok
[00:24] <lifeless> (I'm taking leave to help w/cynthia wednesdays, + was up @ 4am finishing amqp stuff
[00:24] <poolie> it's not passing its tests and it probably needs some new ones
[00:24] <poolie> that's good; that's bad :)-
[00:24] <StevenK> I'm OCR, but poolie has invited me out to lunch and I have to leave in 5 minutes.
[00:24] <lifeless> wgrant: so what time is this call ?
[00:24] <poolie> yeah i was just going to remind you
[00:24] <poolie> hooray for lunch
[00:25] <poolie> mwhudson: could you have a look at the diff in the last comment of https://code.launchpad.net/~mbp/launchpad/612171-diff-generation-spam/+merge/79351
[00:25]  * StevenK looks up address
[00:26] <poolie> st leonards station
[00:26] <wgrant> lifeless: When he gets back :)
[00:26] <poolie> walk out of the station (there's only one gate), look right, there it is
[00:27] <StevenK> poolie: Right -- I was about to ask you. The address looked familiar so I was going to ask "That's the building the station is in, isn't it?"
[00:27] <poolie> yep
[00:27] <mwhudson> poolie: the diff doesn't trigger any particular thoughts in me
[00:28] <poolie> ok :)
[00:28] <mwhudson> poolie: i don't know if anything actually respects max_retries, but i'm very out of date there
[00:30] <poolie> ok
[00:30] <poolie> i might leave it for today
[00:30] <poolie> rebooting, biab
[00:30] <poolie> thanks anyhow
[01:38] <sinzui> hi lifeless. Do you want to put mailman out of our misery?
[01:38] <wgrant> It has been slow lately :(
[01:38] <wgrant> mhonarc is not happy with ubuntu-x-swat.
[01:38] <wgrant> I think we should disable it for that archive.
[01:38] <lifeless> sinzui: I think we should do a detailed plan for front-ending it
[01:39] <lifeless> sinzui: I think its a small project, done well, but I don't know enough of the ins and outs to predict WTF's
[01:39] <sinzui> lifeless, you mean mhonarc?
[01:40] <lifeless> lits.
[01:40] <lifeless> lists.
[01:40] <sinzui> lifeless, I can post my insane hack to the lp-dev list for everyone to ponder alternates. I think mustache make my insane json suggesting more palatable.
[01:41] <lifeless> whats your insane hack ?
[01:41] <lifeless> sinzui: I think there are multiple things to solve at once; we can call it 'refactoring to make it easy to do the intended work' :)
[01:42] <lifeless> sinzui: slow archiving, poor branding and integration, poor privacy experience, private list archives being inaccessible
[01:45] <sinzui> yes, those are all things that I thought could be solved by making mhonarc a json-encoded message server. I think we might also ask though is do we want a simpler mechanism to store and retrieve mbox message data? Messages could be places in a db, or we build a mbox server from other tools
[01:46] <lifeless> AIUI generating the mboxes is cheap because you write to the end
[01:46] <wgrant> I'd imagined that mailman would call an archive that injects the message into some kind of DB.
[01:46] <wgrant> That isn't mbox.
[01:46] <lifeless> wgrant: thats what mhonarc is, isn't it ?
[01:46] <lifeless> wgrant: (in an SOA model)
[01:46] <wgrant> Well, some kind of DB that doesn't then slowly generate static pages.
[01:47] <lifeless> right, thats what the change to json is about
[01:47] <lifeless> curtis and I have discussed this before
[01:47] <wgrant> So it would generate static JSON instead?
[01:47] <lifeless> I think the time is right to do it, rather than layering headaches on headaches, for lists. privacy
[01:47] <lifeless> wgrant: yes, and stop the crazy rewriting of big lists
[01:48] <sinzui> wgrant, yes, static fast data that the the Lp app can parse and linkify user and bugs
[01:48] <wgrant> How do you plan to avoid rewriting but still generate static JSON?
[01:48] <sinzui> but putting messages in a db is better for at least  two use cases. Searching, and deleting/redacting messages
[01:49] <wgrant> And cheapness of updating.
[01:49] <sinzui> mhonarc has an excellent mechanism to resurrect and present confidential data to everyone
[01:50] <wgrant> Indeed.
[01:51] <sinzui> wgrant, I wasn't planning to avoid rewriting. mhonarc does a lot of re writing now because we have the indexes set to reverse. Once a list has more than a page of messages, adding a message causes a rewrite of all indexes and most message :)
[01:51] <wgrant> Yes.
[01:52] <wgrant> If it's in a DB with a service serving dynamic JSON, that problem goes away.
[01:52] <sinzui> I was thinking of using natural indexes and letting lp reverse the MM index data
[01:52] <sinzui> But my hack is predicated on keeping mhonarc, and writing embarrassing PERL.
[01:53] <lifeless> wgrant: so, there are two orthogonal things
[01:53] <sinzui> I would be happier keeping messages in something I could confidently hack and search.
[01:53] <lifeless> wgrant: a) better interface for LP - LP templates, json backend etc.
[01:53] <lifeless> wgrant: b) better archiver implementation - cassandra etc etc
[01:54] <lifeless> wgrant: a) with mhonarc generating forward indices rather than reverse, + json -> will solve nearly all our performance and ops issues
[01:54] <lifeless> wgrant: giving us time to do b), or even advocate for someone else to do it for us :)
[01:54] <lifeless> sinzui: I'm very keen to contain scope
[01:55] <lifeless> sinzui: I think search should be done by inserting into solr-or-similar and querying that from LP
[01:55] <sinzui> lifeless, importing and exporting data has been a blocker for list adoption. Users cannot easily migrate to Lp, nor can we give them the data for analysis. I could not answer statiks questions about monthly list volume for example
[01:55] <lifeless> sinzui: I presume mhonarc makes that hard?
[01:55] <sinzui> It's db is a perl hash :)
[01:55] <lifeless> sinzui: aka yes ;)
[01:56] <lifeless> sinzui: do you agree that its better to do two projects than one: sort out the interface, then sort out the now-contained evil ?
[01:58] <sinzui> lifeless, yes
[01:58] <lifeless> sinzui: cool
[01:59] <lifeless> sinzui: do you think sorting out the interface [switch to LP templates + jason backend, *perhaps* do something about mbox [e.g. store in librarian]] is a better way to tackle the privacy banner than e.g. copying templates onto the mhonarc install ?
[01:59] <lifeless> (better meaning cheaper-over-all-including-cost-of-maintenance)
[02:03] <sinzui> I think making mhonarc serve JSON via hack and teaching LP to retrieve the data provides a lot of options. Importing/exporting mboxes might be easier in Lp. I am just not certain. export is easier, but import is still hard because we need to register all the email addresses
[02:04] <sinzui> lifeless, wgrant: my hack idea assumes I can always make proper JSON to describe the message. I think that means hacking in perl :)
[02:05] <sinzui> I am sure someone has done that, but It also feels like the time I was asked to write a multiple-part post decoded in vb because ASP did not support it, when every modern web server tool kit does
[02:06] <lifeless> sinzui: did you have minions^Wsquad members then ?
[02:06] <sinzui> odd when I last work with perl I had minions.
[02:09] <sinzui> lifeless, I think the answer might be to extend https://launchpad.net/mmm-archive-manager to do the serialisation task to minimise mhonarc's part in our victory
[02:13] <lifeless> sinzui: perhaps that should be part of launchpad-project? [or is it personal? I dunno...]
[02:14] <lifeless> sinzui: anyhow, extending that makes as much sense as anything to me
[02:14] <sinzui> I wrote it on my own time and I believe it works with Ubuntu list archives too
[02:15] <lifeless> I have no objection to how its done ... and don't know enough to seriously compare implementation approachs at this level
[02:15] <lifeless> sinzui: before you halt() tonight, I wanted to talk about private teams
[02:15] <sinzui> yes. I asked wgranta about that. I want to talk about it
[02:16] <lifeless> when is good?
[02:19] <lifeless> sinzui:
[02:20] <sinzui> now if you like
[02:21] <lifeless> cool!
[02:21] <lifeless> skynet ?
[02:22] <sinzui> skype?
[02:22] <lifeless> yes
[02:22] <lifeless> <- tired, so the pathetic sense of humour is rolled out :>
[02:26] <sinzui> lifeless, are you ready to talk?
[03:29] <StevenK> sinzui: Are you still around?
[03:40] <StevenK> wgrant: Ahh, just thinking about it, does your obsolete hackage allow us to kill bug 740584?
[03:40] <_mup_> Bug #740584: Build lacks a corresponding source publication <oops> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/740584 >
[05:02] <jtv> wgrant: I'm off for food, but meanwhile, would appreciate your thoughts on this!  http://paste.ubuntu.com/712840/
[05:04] <wgrant> jtv-eat: So, when I said that it should be refactored, it was meant to just be a first step.
[05:04] <wgrant> But it was instead treated as the final step.
[05:04] <wgrant> What we want to here is not defined.
[05:04] <wgrant> And probably not possible in the current model.
[05:04] <wgrant> s/to/to do/
[05:23] <StevenK> wgrant: Ahh, just thinking about it, does your obsolete hackage allow us to kill bug 740584?
[05:23] <_mup_> Bug #740584: Build lacks a corresponding source publication <oops> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/740584 >
[05:24] <wgrant> StevenK: No.
[05:25] <StevenK> Will that destroy most of the problematic packages?
[05:25] <wgrant> It will remove some files from disk.
[05:25] <wgrant> It doesn't affect the builds not having publications, however.
[05:25] <jtv-eat> wgrant: thanks for looking into this.  Does your response mean that you found nothing wrong with my guesses that the problem is in notify() and that the unwanted recipient is the maintainer?
[05:26] <wgrant> jtv-eat: I think that treating this as an isolated problem is probably missing a better solution
[05:26] <wgrant> jtv-eat: We need to think about who actually wants failure notifications.
[05:26] <wgrant> And then work out how to implement that.
[05:26] <jtv-eat> I think it'll need some restructuring before we can do _anything_ with it.
[05:26] <wgrant> Right.
[05:26] <wgrant> As I said, StevenK's refactoring was meant to be a preliminary step in the DD build notification work.
[05:26] <wgrant> But... well, we saw what happened :)
[05:26] <jtv-eat> The current code seems fairly effective when it comes to obscuring the requirements.
[05:27] <wgrant> It used to be far worse.
[05:27] <wgrant> But yes.
[05:32]  * jtv-eat really goes off to eat
[05:39] <poolie> does anyone know off hand how to ask lp if my credentials are still valid?
[05:39] <poolie> i guess just do any request
[05:42] <poolie> ... but not all of them seem to actually check it
[05:44] <wgrant> poolie: Some may be cached?
[05:45] <poolie> no, apparently 'GET /1.0/' doesn't check the oauth tokens
[05:45] <poolie> s/tokens/stuff
[05:45] <poolie> is it a bug?
[05:48] <poolie> https://bugs.launchpad.net/launchpad/+bug/877913 - not urgent
[05:48] <_mup_> Bug #877913: GET api.launchpad.net/1.0/ doesn't check OAuth validity <api> <oauth> <Launchpad itself:Triaged> < https://launchpad.net/bugs/877913 >
[05:50] <poolie> so the problem behind bug 877856 is partly that lp.distributions['debian'] does not cache the resulting object
[05:50] <_mup_> Bug #877856: makes many pointless object reference api calls <Ubuntu Distributed Development:In Progress by mbp> < https://launchpad.net/bugs/877856 >
[05:50] <poolie> seems like it could ; i don't know why not
[05:54] <wgrant> wallyworld_: Do you happen to recall when the JS API client started returning Entrys instead of plain JSON dicts?
[05:54] <wgrant> It caused bug #830676
[05:54] <_mup_> Bug #830676: PPA AJAX build status indicators don't update properly <buildd-manager> <critical-analysis> <ppa> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/830676 >
[05:55] <wallyworld_> wgrant: not sure. it may have been before i first worked with any of that stuff, since i only recall it being Entry
[05:56] <wgrant> wallyworld_: Let me just check the build history of our excellent, thorough JavaScript test suite.
[05:56] <wallyworld_> wgrant: is this doing a patch from the client?
[05:56] <wgrant> revno: 11451 [merge]
[05:56] <wgrant> timestamp: Thu 2010-08-26 16:32:27 +0100
[05:56] <wgrant> message:
[05:56] <wgrant>   [r=jtv][ui=none][bug=308198][for=foxxtrot] Make Collection contain
[05:56] <wgrant>         proper Entry's.
[05:56] <wgrant> Surely it hasn't been broken for a year...
[05:57] <wallyworld_> that does seem right though, since as i said, it was always Entry when I looked at it
[05:57] <wallyworld_> and i started in 08 last year
[05:58] <poolie> wgrant i was wondering if we should have some kind of semaphore to limit outstanding requests from jubany to lp
[05:58] <poolie> so we can ramp up the concurrent threads when they're busy doing non-lp work
[05:59] <wgrant> poolie: That would probably be the right way to do things.
[06:00] <wgrant> poolie: api.launchpad.net/1.0/ is served by Apache, at least for some Accept headers.
[06:00] <poolie> ah, for performance
[06:01] <poolie> so it's almost wontfix?
[06:01] <wgrant> eg. the WADL is served at that URL with some obscene Content-Type, and that's direct from Apache.
[06:01] <wgrant> I think so.
[06:01] <poolie> yeah, insane Vary header
[06:01] <poolie> and it's zope not apache that's checking oauth
[06:02] <wgrant> Yep
[06:06] <wgrant> wallyworld_: Ah, found it.
[06:06] <wallyworld_> do tell
[06:06] <wgrant> At least I think.
[06:06] <wgrant> 13303.10.6
[06:06] <wgrant> Just over a month before the bug.
[06:07]  * wgrant tests.
[06:07] <wallyworld_> at least that's not a year
[06:07] <wgrant> Heh
[06:08] <wgrant> Yep, that was it.
[06:20] <wgrant> jtv-eat: Could you please review https://code.launchpad.net/~wgrant/launchpad/bug-830676/+merge/79772 upon your return?
[06:21] <poolie> perhaps i should actually change lplib to optionally return slightly stale objects from cache
[06:21] <poolie> not a lot of point having a cache otherwise
[06:22] <lifeless> poolie: lplib objects are not cachable beyond deploys anyhow
[06:23] <lifeless> I think caching beyond the freshness lifetime would likely lead to bugs - and a cache is plenty useful even if stale objects are never returned :)
[06:23] <poolie> to avoid transferring the body?
[06:24] <poolie> hm, what do you mean by 'freshness lifetime'?
[06:24] <wgrant> I thought we must-revalidate
[06:25] <poolie> if you mean the http lifetime, then they do not seem to last even that long
[06:25] <poolie> wgrant, we don't actually send must-revalidate, but the behaviour is as if the application is always asking for it
[06:25] <wgrant> Ah
[06:26] <poolie> basically what i'm saying is: i don't know if all applications want must-revalidate always on
[06:26] <poolie> perhaps if they fetched an object a second ago they'd be happy to get it back from cache
[06:27] <poolie> "publication.distro_series.name.lower()" does a round trip
[06:27] <poolie> headdesk
[06:28] <poolie> every time you call it
[06:30] <wgrant> Ah, and jubany is in the DC, so instead of being hilariously slow it just DoSes us.
[06:30] <wgrant> lolz.
[06:31] <poolie> to get back the string 'sid' or something of course
[06:31] <wgrant> Yep
[06:44] <poolie> ok this is much better now
[06:50] <wgrant> Excellent.
[07:40] <adeuring> good morning
[08:20] <danilos> jtv-eat, hi, I wonder if you could take a look at https://code.launchpad.net/~danilo/launchpad/bug-817398/+merge/79571 when you are done eating, you'll probably like the branch (or at least, what's it fixing :))
[08:23] <wgrant> danilos: Heh, and so the hackish launchpad.Edit grows a third instance...
[08:37] <danilos> wgrant, yeah, I first started off with removeSecurityProxy in the buildd manager code, but that ain't any less hacky :) changing all the interfaces is even more fun, so I avoided that too
[09:06] <danilos> jtv, hey-hey, I hope food hasn't killed you :)
[09:14] <nigelb> heh
[09:46] <jtv> danilos: hi, sorry, bit busy.  Gotta do wgrant's first.
[09:46] <wgrant> Mine's pretty tiny :)
[10:37] <danilos> I was just going to say how I've got another one in the queue for jtv
[10:57] <nigelb> hah. Nice quote on topic :)
[11:05] <bigjools> nigelb: although it could be misconstrued in *so* many ways
[11:05] <bigjools> easy to shoot your foot... check
[11:06] <bigjools> preferred choice of terrorists... check
[11:06] <nigelb> bigjools: I was actually thinking about "easy to shoot your foot" myself :)
[11:27] <bigjools> danilos: I have a short-ish branch for your pleasure when you get back from lunch, TIA.
[11:42] <danilos> bigjools, "short-ish"? you mean just a bit over 600 lines? :)
[11:48] <danilos> bigjools, does "overriding" ddebs mean they will end up in the PPA directly? if so, will that affect allocated storage space?
[11:56] <danilos> bigjools, fwiw, the branch is good as it is, i.e. it looks like it does the "overriding" of pocket/section/blah-blah well, and the tests "prove" it; the question above remains mostly for my own curiosity
[12:34] <bigjools> danilos: hi, back from lunch myself
[12:34] <bigjools> danilos: overriding means that the component/section/priority is set
[12:35] <danilos> bigjools, so nothing but that? (otp, btw)
[12:35] <bigjools> the ddebs need to be in lockstep with the debs like that, otherwise they won't get superseded properly
[12:35] <bigjools> noep
[12:35] <bigjools> nope, even
[12:35] <danilos> ok, cool, thanks
[12:35] <bigjools> np
[12:35] <bigjools> thanks for the review
[12:35] <danilos> yw
[13:08] <deryck> Morning, all.
[13:10] <adeuring> morning deryck
[13:11] <adeuring> danilos: could you please review this MP: https://code.launchpad.net/~adeuring/launchpad/custom-bugs-listings-search-form-tweaks/+merge/79812 ?
[13:16] <danilos> wallyworld_, hi, I reviewed https://code.launchpad.net/~wallyworld/launchpad/delete-bugtasks-1324/+merge/79541 and have a few questions in the MP; if you don't understand something, please let me know
[13:17] <wallyworld_> danilos: thanks, will look
[13:17] <danilos> adeuring, sure, would you like to return the favour by looking at https://code.launchpad.net/~danilo/launchpad/bug-877179/+merge/79781? :P (no diff either, that seems broken :/)
[13:17] <adeuring> danilos: sure, I'll look
[13:18] <danilos> adeuring, I'll also grant you the "last review Danilo will officially do as OCR" title, fwiw :)
[13:18] <adeuring> ;)
[13:21] <wallyworld_> danilos: fair point about admin. i think that should be added. the store.flush() is definitely required for tests to ensure flags passed into the constructor are visible. for prod, i don't think it's needed but as you say, likely not an issue
[13:22] <wallyworld_> the feature flag in the permission check - i'm not sure where else to put it. i'll need to think about it
[13:23] <danilos> wallyworld_, well, generally one would put it around the code that is feature flagged; i.e. in delete method instead, instead of failing with Unauthorized, it could fail with IAmNotAMethodYouMustBeDrunk() exception or something :)
[13:24] <wallyworld_> danilos: sure. i understood the requirements to be that if the fflag were not on, it was to be treated as 'unauthorised' hence the implementation
[13:25] <danilos> ok, maybe a NotImplementedError, but I ain't sure really what's the "right thing" to do, I just dislike this ;) if you can't come up with anything nice, just leave it as is
[13:25] <danilos> (though, I like the YouMustBeDrunk exception for this)
[13:26] <danilos> wallyworld_, if those were the requirements, then fine, keep it as is (I don't like the requirements, but hey, life is tough)
[13:26] <wallyworld_> :-) np. it's definitely a fair question. also, with the tests and the fflag stuff, the fflag will be going away (soon hopefully) hence i thought it ok to "double up" so to speak
[13:26] <wallyworld_> i'll confirm the requirements in case i have misunderstood
[13:26] <wallyworld_> which is not unprecedented :-)
[13:27] <wallyworld_> i do like your suggested exception class :-)
[13:28] <wallyworld_> i've had a few glasses of wine so am already half way there :-D
[13:28] <danilos> wallyworld_, as for tests, sure, keep them as is, but don't forget to remove the feature flags then :)
[13:28] <wallyworld_> will do :-) i'm about to remove all the feature flags for the picker enhancements \o/
[13:29] <danilos> wallyworld_, cool, great to hear that!
[13:29] <wallyworld_> :-)
[13:30] <wallyworld_> i'll think about tests for conjoined bugtasks
[13:30] <danilos> thanks
[13:30] <danilos> wallyworld_, sorry for being such a PITA, but you got to know me already :)
[13:30] <wallyworld_> a pre impl talk showed the code base doesn't really place any significance on them though
[13:30] <wallyworld_> no, not a pita. i really appreciate the input
[13:31] <danilos> wallyworld_, yeah, if so, then ignore me on that point, I just wanted some confirmation (you did mention the pre-imp with lifeless in the MP I believe)
[13:31] <wallyworld_> shows you have taken the time to think about the code
[13:32] <danilos> or that I am good at coming up with things which resemble arguments about code, yes
[13:32] <wallyworld_> i talked with wgrant about the conjoined tasks in particular. he showed me how the gui/code now doesn;t care if a conjoined master/slave is there or  not
[13:33] <danilos> wallyworld_, ah right, lifeless raised the issue, you talked it over with wgrant, which means you are pretty well covered :)
[13:33] <wallyworld_> i would prefer to be challenged rather than a simple +1. that's the best way to avoid base code :-)
[13:33] <wallyworld_> s/base/bad
[13:34] <wallyworld_> yeah, if those guys make a mistake, it's pretty rare :-)
[13:34] <wallyworld_> i'll add a note to the mp so that sinzui can see what we discussed when he looks at it
[13:38] <bigjools> hey benji, I decided to sit down and fix that keyring corruption thing in launchpadlib, and blow me if it's not happening any more .... !
[13:39] <bigjools> you can't make this stuff up
[13:39] <benji> bigjools: heh, that's life for you
[13:40] <bigjools> benji: I'm trying to work out exactly what the keyring was doing to the credential string in the first place. Maybe it was a bug in the kwallet and it's now fixed.  Hmph.
[13:42] <mrevell> danhg is here and rockin' like Dokken
[13:42] <danhg> I sure am
[13:43] <bigjools> Dokken... not heard them for ages
[13:44]  * bigjools welcomes danhg to the public channel too
[13:44] <rvba> Hey danhg!
[13:48] <nigelb> Hello! danhg
[13:53] <james_w> welcome danhg
[14:02] <deryck> allenap, ping
[14:02] <allenap> deryck: pong
[14:03] <deryck> allenap, hey man! :)  Did I hear correctly that you're looking into the ssh errors with test runs, that are supposed to be avoidable on Natty?
[14:04] <allenap> deryck: Not ssh errors, but database errors. Are you getting ssh errors too? Gulp.
[14:04] <allenap> deryck: The problem I'm working on is that some disconnections are not being detected as such and are bubbling up.
[14:04] <deryck> allenap, oh, sorry, no.  I thought that's what they were.  abentley is blocked running tests locally with these errors, I believe.
[14:05] <deryck> abentley, what allenap reports there is what you're seeing?
[14:05] <allenap> deryck: I'm waiting on reviews from Storm people. I'll go and hussle for them now.
[14:05] <deryck> allenap, thanks!  abentley is seeing this on Natty, too, so he's completely blocked landing some stuff.
[14:06] <deryck> assuming we're talking about the same issue :)
[14:06] <allenap> deryck: I've heard that the problem does not manifest in ec2, and mbp said tests run fine in a Lucid schroot. The latter only takes a few minutes to get set-up.
[14:07] <allenap> So that's a workaround for now.
[14:07] <deryck> ah, that's nice.
[14:07] <adeuring> danilos: r=me
[14:07] <deryck> abentley, ^^ Lucid schroot FTW? :)
[14:08] <danilos> adeuring, thanks, I am still on yours (sorry for taking so long, had a call in the meantime)
[14:08] <adeuring> danilos: np
[14:13] <abentley> deryck, allenap: I am experiencing the SSL connection has been closed unexpectedly
[14:14] <deryck> I knew there was an "ss" in there :)
[14:14] <allenap> abentley: Yes, that's the badger.
[14:16] <allenap> abentley, deryck: I'm sorry a fix has taken so long to be ready. Mainly it's been hard to replicate in tests, and I'm now blocked on reviews.
[14:16] <abentley> deryck: I have natty and maverick vms.  I haven't been using schroots.
[14:19] <abentley> deryck: I suspect that it was broken by recent changes to launchpad-dependencies.  I can try my maverick vm without upgrading, but having stale packages can itself be a problem.
[14:21] <adeuring> danI just noticed that the cover letter was quite nonsensical. I added a hopefully better readable comment...
[14:29] <danilos> adeuring, yeah, I kind of read it as random notes you were making for yourself, so other than figuring roughly what the branch is about, I didn't rely on them too much :)
[14:29] <danilos> adeuring, anyway, r=me with a few superficial comments :)
[14:29] <adeuring> danilos: thanks!
[14:29] <danilos> adeuring, btw, you can edit the MP as well, fwiw :)
[14:29] <danilos> adeuring, (no need to add a comment)
[14:30] <adeuring> danilos: ah, right! next time, then ;)
[14:32] <danilos> adeuring, and then nobody can tell ;)
[14:32] <adeuring> ;)
[14:49] <abentley> deryck: This branch has sorting, ajax and caching enabled: lp:~abentley/launchpad/cache-batches
[14:49] <abentley> deryck: If you branch off it, please merge only it, not devel, to avoid criss-cross merges.
[14:50] <danilos> wallyworld_, btw, I don't think the way you introduced security adapter is sufficient: in my reading, it modifies the launchpad.Admin privilege for BugTask to match the launchpad.Delete privilege, but does not really allow admins to do the delete
[14:52] <danilos> wallyworld_, your test is not really testing what I thought it should (i.e. log in as admin@canonical.com and not someone holding a contextual launchpad.Admin permission [like target owner])
[14:52] <danilos> wallyworld_, (or better yet, login_celebrity('admin'))
[14:58] <abentley> deryck: maverick had bugs related to pgbouncer files being missing.  Trying a schroot now...
[15:03] <deryck> abentley, ok, cool.
[15:47] <abentley> deryck: lucid schroot seems like a rather awful option, as it leaves me with the encrypted version of my home directory, and will have port conflicts with my system daemons.
[15:56] <deryck> abentley, hmm, yeah, yuck.  I'm not a schrod user so don't have much to offer in advice.
[15:57] <deryck> schroot even :)
[16:30] <micahg> bigjools: about bug 877122, the API syncing was a new feature, but it used to be that all packages had debdiffs and now they don't, so wouldn't that be a regression?
[16:30] <_mup_> Bug #877122: Packages synced through the API are not producing debdiffs <derivation> <Launchpad itself:Triaged by redsquad> < https://launchpad.net/bugs/877122 >
[16:32] <bigjools> micahg: it's not a regression if this feature never had that :)  The old syncing did it of course.  I have scheduled it to be fixed soon tjough, don't worry
[16:32] <bigjools> though*
[16:34] <micahg> bigjools: ok, it is a regression in functionality for Ubuntu though, thanks for getting it scheduled
[18:14] <dobey> hey guys, when do things fixed in launchpad stable, show up on production?
[18:36] <maxb> dobey: http://lpqateam.canonical.com/qa-reports/deployment-stable.html
[18:37] <dobey> ah, interesting. thanks maxb
[18:40] <maxb> dobey: IIUC, once something goes green there, the remaining steps are for someone on the Launchpad team to ask for a deployment to happen, and for it to be actioned by losas - so fairly soon, subject to working days, etc.
[18:42] <dobey> maxb: sure. just wondering when my bug will be fixed in production since jtv's branch landed :)
[18:48] <lifeless> mpt: an observation: your 'what should happen' entries in bugs are very close to 'shoulds'
[18:49] <mpt> lifeless, they are. It's the describing the problem first that's the important thing. :-)
[18:49] <mpt> Maybe I could use "What I expected:" instead
[18:51] <lifeless> mpt: Or 'one way I would not have been surprised:' :)
[18:52] <lifeless> mpt: I guess my point is to open the solution space out
[19:26] <mtaylor> I suppose folks know that launchpad login service is unhappy?
[19:26] <mtaylor> org.openid4java.discovery.yadis.YadisException: 0x706: GET failed on https://login.launchpad.net/+openid : 503:HTTP/1.1 503 Service Unavailable
[19:30] <lifeless> mtaylor: grah. Thats login.ubuntu.com. I'll go poke folk
[19:34] <lifeless> mtaylor: fixed
[19:34] <lifeless> mtaylor: sso is having some flakiness issues this week
[19:34] <mtaylor> lifeless: ++
[19:34] <lifeless> mtaylor: its escalated but not understood yet
[19:34] <lifeless> (theories abound, proof is tricky)
[19:38] <mtaylor> lifeless: distributed systems are hard
[19:38] <mtaylor> lifeless: btw - it's still broken
[19:39] <mtaylor> lifeless: https://jenkins.openstack.org
[19:39] <lifeless> mbarnett: ^
[19:39] <lifeless> mbarnett: ah you know, nvm
[19:39] <lifeless> mtaylor: cascading trouble
[19:40] <mtaylor> yay!
[19:40]  * mtaylor loves trouble
[20:16]  * mbarnett doesn't always break things, but when he does he breaks them all. 
[21:15] <thumper> hi people
[21:16] <thumper> I'm looking for a "stock" presentation for "intro to launchpad"
[21:16] <thumper> is there one around somewhere?
[21:16] <thumper> We have a growing team, and some don't really understand launchpad, so I'm doing a presentation next week to cover the basics
[21:30] <mwhudson> in unrelated news, launchpad's roles for managing (in various senses) projects make no sense to anyone