[00:22]  * thumper gets stuck into jobs
[00:42] <james_w> when I log in to ec2 during postmortem, where can I actually find the LP tree it is testing?
[00:43] <james_w> or am I misunderstanding how it works?
[00:44] <thumper> james_w: I expect that you should be able to find it, but I've never tried personally, perhaps mwhudson knows
[00:46] <mwhudson> james_w: /var/launchpad/test i think
[00:46] <james_w> thanks
[00:46] <mwhudson> yeah, that
[00:47] <james_w> I have some failures in the initial branch, so I'll squash them now
[00:47] <mwhudson> ok cool
[00:51] <thumper> mwhudson: quick sanity check
[00:52] <thumper> mwhudson: during my investigations I found a pile of stuff still in canonical/launchpad/event
[00:52] <thumper> mwhudson: worth making a new pipe to move them to lp.code.event?
[00:53] <thumper> mwhudson: or perhaps lp.code.interfaces.event
[00:55] <james_w> dammit, failures in pagetests
[00:56] <james_w>     - The code import has been updated.
[00:56] <james_w>     + There is 1 error.
[00:56] <james_w>     + Enter the URL of a foreign VCS branch.
[00:56] <james_w> so something (the readonly change?) breaks +edit-import it seems
[00:57] <mwhudson> james_w: oh that's not so surprising
[00:57] <mwhudson> james_w: easy to fix though
[00:57] <mwhudson> thumper: err
[00:57] <james_w> care to enlighten me?
[00:57] <mwhudson> what's in canonical/launchpad/event ?
[00:57] <thumper> mwhudson: interfaces for events
[00:57] <mwhudson> yay two conversations
[00:57] <thumper> mwhudson: not a lot to be honest
[00:58] <mwhudson> thumper: oh, lp.code.interfaces.event then i guess
[00:58] <wgrant> If the field is writable, why should it be readonly on the API?
[00:58] <mwhudson> wgrant: crack
[00:58] <mwhudson> of the 'updateFromData' kind
[00:59] <wgrant> mwhudson: But the import URL should be editable by some, shouldn't it?
[00:59] <mwhudson> wgrant: yes, but it's not edited by going "import.url = foo"
[00:59] <wgrant> Odd.
[00:59] <james_w> mwhudson: could we allow certain people to do that over the API?
[01:00] <mwhudson> james_w: this /should/ all be fixed to work like other objects
[01:00] <mwhudson> but it's quite a lot of work
[01:00] <james_w> right
 of $units of tech debt
[01:01] <james_w> we can work towards that
[01:01] <mwhudson> james_w: anyway, to make the edit form work again, you need to edit the EditCodeImportForm schema in lp.code.browser.codeimport
[01:01] <james_w> for now I would like to fix the tests to make my work landable
[01:03] <james_w> I've got it open
[01:03] <mwhudson> james_w: to look like this: http://pastebin.ubuntu.com/396468/
[01:03] <james_w> it's fairly opaque to me though
[01:03] <james_w> aha!
[01:03] <mwhudson> (warning: code typed directly into pastebin, probably right though)
[01:04] <james_w> that's what we have tests for
[01:05] <mwhudson> this is what i thought would break, btw
[01:05] <mwhudson> if nothing else is broken, that's pretty good :)
[01:05] <mwhudson> grar testfix mode grumble
[01:05] <mwhudson> the testsuite seems to have problems with email at the moment
[01:06] <james_w>     KeyError: 'cvs_root' on import
[01:06] <mwhudson> james_w: oh haha
[01:06] <james_w> yah
[01:06] <mwhudson> s/IBranch/ICodeImport/ for the first three
[01:06] <james_w> yay for familiarity
[01:07] <james_w> beats me spending ages last night working why doctest was giving me syntax errors on
[01:07] <james_w> import = factory.makeCodeImport()
[01:09] <mwhudson> :)
[01:11] <wgrant> What's the db-lp failure?
[01:13] <james_w> same failures with that change
[01:13] <wgrant> james_w: s/read_only/readonly
[01:15] <james_w> thanks wgrant
[01:15] <mwhudson> wgrant: some crap involving sending mail and not having an interaction :/
[01:16] <mwhudson> wgrant: http://pastebin.ubuntu.com/396471/
[01:17] <wgrant> That line is too long.
[01:17]  * wgrant tries to read.
[01:17] <mwhudson> wgrant: http://pastebin.ubuntu.com/396472/ better formatted
[01:18] <wgrant> Ahh much better.
[01:18] <mwhudson> it's in "Failure in test testSimpleRun (lp.soyuz.scripts.tests.test_lpquerydistro.TestLpQueryDistroScript)
[01:18] <mwhudson> "
[01:18] <mwhudson> which i guess i could try running locally
[01:18] <wgrant> That looks like there's no MTA running.
[01:19] <mwhudson> but on the whole launchpad tests don't actually send mail through an MTA do they?
[01:20] <wgrant> Except for test-sampledata-setup.txt, they should not.
[01:20] <wgrant> (well, it shouldn't either, but it does)
[01:22] <james_w> thumper: https://code.edge.launchpad.net/~james-w/launchpad/export-code-import/+merge/21472 updated to pass tests. Seeing as you approved it would you now submit it for me please?
[01:23] <thumper> james_w: I'll take a look
[01:24]  * james_w has https://code.edge.launchpad.net/~james-w/launchpad/register-code-import/+merge/21505 on the go too, any suggestions appreciated
[01:24]  * thumper goes to grab coffee
[01:26] <wgrant> james_w: Why is IHasCodeImports separate from IBranchTarget?
[01:26] <james_w> wgrant: good question
[01:27] <james_w> wgrant: one good reason may be that code imports only support products so far
[01:27] <mwhudson> because for better or worse we don't support code imports for !product
[01:27] <james_w> wgrant: a less good reason is that I didn't know about IBranchTarget (though I now remember you mentioning it yesterday)
[01:27] <wgrant> Why does a code import have any idea what it's on?
[01:27] <mwhudson> good question!
[01:27] <james_w> I want to fix that in a later branch, but perhaps it should be done earlier
[01:27] <mwhudson> i really hope nothing uses ICodeImport['product']
[01:28]  * james_w sends a branch nuking all those things through ec2 to get an idea of the fallout
[01:30] <james_w> the only thing that might get in the way is ICodeImport['series'], as we can't really store that information on IBranch as far as I know
[01:31] <mwhudson> ah right
[01:31] <wgrant> Is that information used for anything?
[01:31] <mwhudson> i doubt anything uses that either
[01:31] <mwhudson> i'd certainly entirely forgotten about it
[01:31] <wgrant> It's potentially useful except not really.
[01:31] <wgrant> I've never seen any hint that it's used.
[01:31] <mwhudson> it was probably used during the transition from the old to new system
[01:33] <james_w> I'm nuking owner, product and series so that we can get an idea of where they are used
[01:34] <mwhudson> james_w: oh, i was going to do that, but if you're on it already...
[01:34] <james_w> assuming that anything that uses .owner should use .branch.owner, .product should be .branch.{product,sourcepackage}
[01:34] <james_w> I believe .assignee is different?
[01:34] <mwhudson> assignee is just not used
[01:34] <mwhudson> remove it
[01:34] <james_w> ok, bye bye
[01:37] <wgrant> Where does ICodeImport['series'] come from? I can't see it on the table.
[01:37]  * wgrant checks the code.
[01:37] <wgrant> Oh.
[01:38] <wgrant> It searches for the ProductSeries with the branch selected.
[01:39] <james_w> oh, so it only applies to focus branches?
[01:39] <wgrant> Yes.
[01:40] <wgrant> So it's not critical.
[01:40] <wgrant> So you could always leave it alone and it will just be None, and not break anything.
[01:40] <wgrant> But better to remove it entirely.
[01:41] <mwhudson> yes
[01:41] <mwhudson> if it'
[01:41] <mwhudson> s not used, kill it
[02:10] <james_w> error: (4, 'Interrupted system call')
[02:10] <james_w> oh, that's a great reason to error out from an ec2 test
[02:31] <james_w> tests finally running
[02:32] <james_w> I'll call it a day
[02:32] <james_w> thanks for your help team
[02:32] <lifeless> james_w: did you get the chance to mail me about bzr-builder?
[02:36] <mwhudson> james_w: thanks for working on this!
[03:18] <james_w> lifeless: no, slipped my mind, sorry, pls to be mailing me then I will remember
[03:18] <lifeless> k
[03:20] <mwhudson> thumper: what does 'reject' mean for the puller?
[03:21] <thumper> umm
[03:21] <thumper> what?
[03:21] <mwhudson> thumper: http://dev.launchpad.net/Code/RemoveHostedArea?action=diff&rev1=5&rev2=6
[03:21] <thumper> mwhudson: more context?
[03:21] <mwhudson> sorry, not a very clear question
[03:21] <thumper> mwhudson: hmm, can we not catch this while the user is pushing?
[03:22] <mwhudson> i guess we need to be more careful about the way say codebrowse opens the branch
[03:22] <mwhudson> thumper: not really, certainly not until we turn the vfs off
[03:22] <thumper> mwhudson: oh yeah
[03:22] <thumper> hmm...
[03:23] <wgrant> Branches aren't accessible over HTTPS at all, are they?
[03:24] <thumper> wgrant: no
[03:24] <wgrant> Ah, good.
[03:24] <thumper> at least I hope not
[03:24] <thumper> wgrant: actually
[03:24] <thumper> kinda
[03:24] <wgrant> Eep.
[03:24] <thumper> wgrant: from loggerhead anyway
[03:25] <thumper> what do you mean accessible?
[03:25] <thumper> branchable?
[03:25] <wgrant> but that hopefully won't serve the files directly.
[03:25] <wgrant> Since this will mean that bazaar.launchpad.net contains arbitrary user-generated files.
[03:25] <lifeless> it will serve the content
[03:25] <wgrant> And if that was HTTPS, then it could do horrible untold nasty things to the webapp and its cookies.
[03:25] <mwhudson> right
[03:25] <lifeless> via the bzr smart protocol, not as files on disk, AIUI
[03:26] <mwhudson> well
[03:26] <mwhudson> loggerhead _can_ serve branches, both as dumb and smart http
[03:26] <lifeless> anyhow, personally I'd keep the mirrored area and scale it out.
[03:26] <mwhudson> but it doesn't on launchpad
[03:27] <mwhudson> argh
[03:27] <thumper> mwhudson: yes?
[03:28] <mwhudson> given that it would be nice to serve bits of launchpad over http rather than https...
[03:28] <mwhudson> lifeless: what do you mean?
[03:28] <wgrant> mwhudson: Don't worry, you would not be the first to be serving arbitrary files under launchpad.net.
[03:28] <wgrant> It already happens, and worse.
[03:28] <thumper> mwhudson: the apache rewrite rules make anything not in .bzr go to loggerhead
[03:29] <thumper> mwhudson: although if someone put some random file in .bzr dir, it would be served
[03:29] <mwhudson> thumper: i'm getting a bit worried by the fact that if we eliminate the mirrored area, people will be able to get launchpad to serve arbitrary content over http
[03:29] <thumper> wgrant: yes?
[03:29] <thumper> mwhudson: yeah...
[03:29] <wgrant> eg. bug #420292
[03:29] <mwhudson> thumper: yes, but what if people put crap in .bzr ?
[03:29] <thumper> mwhudson: exactly
[03:29] <thumper> hmm...
[03:29] <mwhudson> currently what saves us here is the puller
[03:30] <thumper> I guess it comes down to "do we care enough?"
[03:31] <mwhudson> wgrant: heh, as soon as you mentioned the number, i thought "what about ..." and guessed the outcome
[03:31] <stub> Can we add a 'bzr tidy' or similar that removes crap from .bzr directories that shouldn't be there, or is that too dangerous as users could be using plugins that store arbitrary stuff in there?
[03:31] <mwhudson> stub: sounds difficult to get right to me
[03:31] <stub> I guess we could, as bzr tidy would just remove stuff that the mirror process skips already.
[03:31] <mwhudson> i think plugins do store stuff
[03:32] <thumper> mwhudson: there is a bzr concept right now of extra baggage (terminology may be wrong)
[03:32] <thumper> mwhudson: where push also pushes plugin extras
[03:33] <stub> Is the goal of removing the mirror step to remove an unwanted copy, or to remove the time between upload and published?
[03:33] <thumper> stub: to save space
[03:33] <mwhudson> clearly what we need is a file system with cow snapshots at the directory level, you could make a clone of the directory on write access, then pull from the snapshot to the original then delete the snapshot
[03:33]  * mwhudson falls out of the blue sky
[03:34] <mwhudson> thumper: very much at the concept stage though, right?
[03:34] <stub> So we could mirror, then replace the original with the mirrored copy
[03:34] <stub> Which should just remove anything that shouldn't be there
[03:35] <thumper> stub: that sounds relatively sane
[03:35] <wgrant> mwhudson: Could you abuse stacking to do something like that?
[03:35] <mwhudson> i guess that would reduce the time we're vulnerable for
[03:35] <mwhudson> wgrant: hnngh
[03:36] <mwhudson> wgrant: maybe
[03:36] <mwhudson> you could probably do it at the transport level too i guess
[03:36] <mwhudson> have writes go to one area, reads fall back to another
[03:36] <wgrant> say, a fallback repository?
[03:36] <mwhudson> all sounds a bit crazy though
[03:37] <mwhudson> wgrant: i think the problem with doing at the stacking level is that you don't know whether a branch is going to be written to when its opened
[03:37] <wgrant> True.
[03:38] <mwhudson> so you could present every branch over a writable transport as being stacked on the real branch, but that doesn't sound very sane
[03:39] <stub> Overwriting the original branch with the mirrored copy also gives us an opportunity for other fun, like pushing revisions into the stacking target (saving two thirds of the disk space used to store Launchpad code perhaps).
[03:39] <wgrant> True.
[03:40] <stub> Hmm... 3/4... dev branch, devel, stable, db-devel is four copies of each revision
[03:41] <wgrant> stub: You can save just about all of the space except for whatever is in db-stable.
[03:41] <stub> (for non private branches with a public stacking root)
[03:41] <wgrant> since almost every branch will end up in db-stable, so their branch data is entirely redundant.
[03:41] <stub> Yes.
[03:42] <stub> Most projects you would only save 50% though (dev branch -> trunk)
[03:43] <mwhudson> you could also do that in a garbo type job
[03:43] <mwhudson> probably fairly slow to do it for 200k branches though
[03:43] <wgrant> mwhudson: But most will end up with no revs after the first run, so they needn't be touched.
[03:43] <stub> Well... mirroring would become non-time critical so yes it could be done in batches rather than on-push
[03:44] <stub> (on-push = stick branch in queue, garbo == mirror and pack stuff from the queue)
[03:44] <mwhudson> stub: i meant just anyway, independent of changing how mirroring worked
[03:44] <stub> ok
[03:44] <mwhudson> wgrant: point
[03:48] <mwhudson> maybe i should just not worry too much about the arbitrary hosting thing and assume that sooner or later we'll be able to disable vfs-level access to branches
[03:49] <wgrant> is that a valid assumption?
[03:49] <wgrant> Hasn't it been happening reasonably soon for a long time now?
[03:49] <mwhudson> i don't know, but it's not /really/ a risk as long as the cookie is marked secure
[03:49] <wgrant> Right.
[03:53] <mwhudson> and then write a branch opener that's suitably paranoid about stacking and so on and have everything use this
[03:54] <mwhudson> (this will be easier once the hosted area/mirrored area distinction has gone away i guess)
[04:05] <lifeless> mwhudson: I mean simply that I'd keep the separation between 'mirrored and anything goes' and 'not mirrored owners only'
[04:06] <lifeless> I think its a nice data cleansing step
[04:06] <lifeless> and because the mirrored area doesn't need to worry about stuck clients or anything, its arguably easier to scale/mirror/replicate
[04:07] <mwhudson> lifeless: that does seem to imply using twice as much disk as we in some sense need though
[04:08] <lifeless> mwhudson: we can probably save that several times over by doing a gc on stacked branches, encouraging deletes of merged branches, ...
[04:09] <wgrant> lifeless: How much data is stored in a stacked branch with no revs of its own?
[04:10] <lifeless> mwhudson: I mean, look at pg - we use several times the disk we need to there, as well :)
[04:10] <wgrant> Deleting branches is bad.
[04:10] <mwhudson> lifeless: we use considerable more disk for branches than for postgres, i think
[04:10] <mwhudson> not as much as the librarian though
[04:10] <lifeless> wgrant: it depends; a stacked branch that has been merged to trunk has all the data ever written to it still
[04:10] <wgrant> lifeless: I mean after GC.
[04:10] <wgrant> If that exists yet.
[04:10] <lifeless> wgrant: deletion is a valid thing for users to do to their own data
[04:11] <wgrant> lifeless: But it deletes MPs and invalidates recipes and blah blah, so it would be really nice to minimise it.
[04:11] <mwhudson> deleting implies deleting the merge proposal which is a bit lame
[04:11] <lifeless> wgrant: oh, about 800 bytes or so, butprobably 25 allocation units
[04:11] <lifeless> wgrant: uhm, I *want* to delete stuff I'm done with. Its cognitive overhead I no longer care about.
[04:11] <wgrant> lifeless: Ew.
[04:12] <lifeless> wgrant: I'd like to make deletion easier, not harder.
[04:12] <wgrant> Why do you want to?
[04:12] <wgrant> what's wrong if they're hidden, as they are now?
[04:12] <lifeless> wgrant: because it has no value anymore. The history is in bzr
[04:12] <wgrant> Keeping MP history is useful.
[04:12] <lifeless> wgrant: sometimes. Its not an absolute.
[04:13] <lifeless> wgrant: 'trivial fix: doit' is not valuable historical data.
[04:13] <lifeless> wgrant: big debate about the right way, which noone ever looks at, is also not valuable historical data.
[04:14] <wgrant> lifeless: It also doesn't consume a significant amount of space.
[04:14] <lifeless> *if* someone looks at it, its a different matter
[04:14] <wgrant> And if we delete it, it can never be looked at.
[04:14] <lifeless> wgrant: nonzero cost, nonzero benefits. You can do the math.
[04:14] <wgrant> Should we delete bugs too?
[04:14] <lifeless> anyhow, gc doesn't exist yet. It should be able to zerg stuff back to nearly empty in principle. for merged branches.
[04:15] <wgrant> Right.
[04:15] <lifeless> wgrant: there are many I'd like to, yes.
[04:15] <lifeless> the name 'bubba' is floating in my consciousness right now
[04:15] <wgrant> Heh.
[04:32] <stub> Ooh... its about to bucket down on the protestors outside.
[04:33]  * stub goes to switch on the TV
[04:41] <mwhudson> stub: the current government seems to have been in charge for quite a while this time
[04:42] <mwhudson> unless i've missed a revolution or two
[04:42] <spm> mwhudson: blink and you miss 'em....
[04:42] <stub> I've lost track
[04:45] <wgrant> Can I do something like foo[0] in TALES without resorting to python: ?
[04:45] <mwhudson> wgrant: no
[04:46] <wgrant> :(
[04:46] <mwhudson> ugh, tests are failing again in buildbot
[04:46] <wgrant> Same one?
[04:47] <mwhudson> basically yeah
[04:47] <wgrant> Mine's the only untested rev, isn't it?
[04:47] <wgrant> But it doesn't look at all relevant.
[04:47] <mwhudson> wgrant: not testing any of yours in this build
[04:47] <mwhudson> 10530-10532
[04:47] <wgrant> The db-lp failure a few hours ago had me in the blamelist. Is this something else?
[04:47] <wgrant> Ah.
[04:48] <mwhudson> this is the other builder
[04:49] <mwhudson> i guess it's worth looking to see what these tests do
[04:49] <mwhudson> and, wow, i hadn't realised how much i used / to start a search in ff
[04:49] <wgrant> Doesn't work in Chromium?
[04:50] <mwhudson> nope
[04:50] <StevenK> Ick
[04:52] <lifeless> ctrl-F
[04:52] <lifeless> breaks my fingers all day atm
[04:55]  * StevenK hasn't found a compelling reason to switch
[04:55] <lifeless> it is faster
[04:55] <lifeless> more memory hungry though
[04:56] <wgrant> And uses ugly widgets.
[04:56] <lifeless> by faster, I mean lp bug pages don't feel like torture
[04:56] <mwhudson> StevenK: firefox started segfaulting continuously for me, i didn't want to switch
[04:56] <mwhudson> it seems mostly ok
[04:56] <wgrant> lifeless: Surely you jest.
[04:56] <mwhudson> it handles multiple windows in a rather strange way
[04:57] <lifeless> wgrant: no, I don't. The js is a huge component of bug page load times.
[04:57] <lifeless> and chromium is a lot fast at js
[04:57] <wgrant> Ah, yes, particularly for multi-tasked bugs.
[04:57] <lifeless> I haven't yet done my 'open 20 tabs by ctrl-clicking on a search' thing in chromium yet
[04:57] <lifeless> but on ff that used to take 4 or 5 minutes
[04:57] <StevenK> lifeless: Right, but then I hear people complain about things that I do constantly in a browser and I push looking at chromium further down the list
[05:03] <stub> mwhudson, wgrant: I think the db-devel and current devel failures are spurious
[05:07] <mwhudson> stub: hmm
[05:07] <mwhudson> stub: they're intermittent, and i suspect not directly related to the test cases that are failing
[05:08] <mwhudson> stub: but they've started happening every other run for the last week, so _something_ has changed
[05:09] <mwhudson> it's annoying because i have some kind of memory of looking at a checkin and going "ooh, i wonder if that's a good idea" in this sort of area
[05:09] <mwhudson> and now i can't find it :(
[05:12] <stub> mwhudson: They seem Librarian related. The only change I could think of might have been BjornT's persistent-resources change to the test suite, making it possible to keep the Librarian and memcached running between test runs.
[05:13] <mwhudson> stub: it's email related, really
[05:13] <mwhudson> the librarian is just being a canary
[05:14] <stub> Other branches were failing with Librarian issues anyway
[05:14] <stub> In non-email sections
[05:15] <stub> Looks to me that it is failing because the logging system is trying to upload the traceback into the Librarian and this is failing.
[05:16] <stub> So we get a different error message than expected
[05:18] <mwhudson> the current lp builder is definitely failing in an email related way
[05:41]  * mwhudson grinds to a halt
[05:43] <spm> night mwhudson
[05:57] <mwhudson> for the test failure, i reckon some test is putting things in the mail queue and then sometimes the mails are handled before that test process exits
[05:57] <mwhudson> and sometimes not
[05:58] <mwhudson> and then the next test to activate the queue processing thread blows up
[05:58] <mwhudson> maybe?
[05:58] <mwhudson> it'
[05:58] <mwhudson> s a guess anyway
[08:33] <adeuring> good morning
[09:06] <wgrant> Do I need a UI review for https://code.edge.launchpad.net/~wgrant/launchpad/show-package-sets-in-queue/+merge/21521? It's only used by a few people, and I have +1s from two of them.
[09:12] <mrevell> Howdy
[09:16] <jml> jelmer, take a look at https://code.edge.launchpad.net/~jml/launchpad/new-zope-testing/+merge/21539
[09:16] <jml> mrevell, hello
[09:16] <jml> mrevell, I'm in Worcestershire!
[09:16] <jelmer> hey mrevell
[09:16] <jelmer> jml: looking
[09:16] <mrevell> jml, Welcome to everything that is great about England.
[09:16] <mrevell> :)
[09:16] <mrevell> hey jelmer
[09:17] <mrevell> How long are you chaps sprinting?
[09:17] <jml> mrevell, just until Friday
[09:18] <jelmer> jml: yuck, hardcoded subunit version in buildout.cfg ?
[09:20] <jml> jelmer, I guess. I mean, we have hardcoded versions in versions.cfg
[09:21] <jelmer> jml: yeah, but it'd be nice to only have a hardcoded version in one place so that it's easier to update
[09:21] <jml> jelmer, I agree. I don't really know how to do that though.
[09:22] <jml> jelmer, anyway, did I end up deleting your code?
[09:22] <jelmer> jml: would it be possible to just use a checkout of a bzr tag rather than downloading the tarball?
[09:22] <jml> jelmer, not w/ the cmmi recipe
[09:22] <jelmer> jml: yep - around line 60 in the diff
[09:23] <jml> jelmer, but it's hard to tell. the docs might be incomplete because J1m only cared about writing tests.
[09:23] <jml> jelmer, do you want me to add your bit back?
[09:24] <jelmer> jml: If possible :-) But I guess it'd have to go into zope.testing now?
[09:25] <jml> jelmer, I _think_ it's equivalent to "if os.getenv("SUBUNIT_FORMATTER"): options.append('--subunit')"
[09:25] <jml> jelmer, the idea is that if the env var is defined, we do subunit, right?
[09:26] <jelmer> jml: Yep, and we pipe our subunit output into the command set in that variable
[09:27] <jml> jelmer, I'll have a look
[09:28] <jml> :\
[09:33] <allenap> jml: Building new-zope-testing fails for me, after merging into a fresh devel branch. Specifically, it breaks during the cmmi bit for subunit.
[09:34] <jml> allenap, can you paste the error please?
[09:42] <allenap> jml: I'm having trouble replicating it.
[09:47] <jml> allenap, so it works now?
[09:47] <allenap> jml: Not sure. I was being a muppet when trying to replicate. Having another go now.
[09:48] <allenap> jml: http://paste.ubuntu.com/396612/
[09:48] <jml> allenap, I guess you don't have CHECK
[09:48] <jml> allenap, I wonder if we can disable that
[09:50] <allenap> jml: Ah, "unit test framework for C"?
[09:50] <jml> allenap, yeh
[09:50] <jml> allenap, I guess that means I'd need to add that to deps or something
[09:53] <allenap> jml: Yes, guess so. I'm seeing if I'm missing any other deps now.
[09:53] <poolie> hello jml
[09:53] <jml> poolie, hi
[09:57] <allenap> jml: cppunit is missing too.
[09:59] <deryck> Morning, all.
[10:04] <jml> allenap, I see. Is that it?
[10:04] <jml> deryck, good morning
[10:04] <jml> mrevell, hi
[10:04] <mrevell> hey jml
[10:04] <allenap> jml: Yep, it's building fine now (for me, anyway).
[10:07] <allenap> jml: Yes, built fine, and subunit.__file__ eventually resolves to parts/subunit/lib/python2.5/site-packages/subunit/__init__.py.
[10:39] <allenap> jml: In new-zope-testing, --save-list is gone. Do you know of a good alternative? `bin/test --list` does not produce a reusable list (it needs a fair bit of munging).
[10:40] <jml> allenap, bin/test --subunit --list-tests | subunit-ls
[10:49] <jml> bigjools, what do you think about me moving a bunch of stuff to lp.poppy?
[11:02] <allenap> jml: Oh, that's beautiful, thanks :)
[11:05] <jml> I wonder what I need to do to get the check & cppunit stuff
[11:07] <allenap> jml: maxb seems to be the expert on that.
[11:08] <allenap> soyuz: Have you seen the test failures in buildbot? They don't seem to be transient, and they're in soyuz.
[11:08]  * bigjools looks
[11:08] <wgrant> Is this the same as the db-lp failure ~10h ago?
[11:09] <allenap> wgrant: Possibly. testMissingAction and testSimpleRun?
[11:10] <bigjools> this is the librarian issue again
[11:10] <wgrant> allenap: Yeah. mwhudson was having a look at that.
[11:10] <wgrant> it is probably not actually a Soyuz bug.
[11:10] <allenap> bigjools, wgrant: Okay, sorry for the noise.
[11:12] <stub> the current devel one is a weird traceback because librarian_client.remoteAddFile(...) is raising an AttributeError, but the exception handling code that is trying to stuff the traceback into the Librarian only deals with an UploadError.
[11:13] <stub> oh... hmm... there is a catchall there...
[11:16] <stub> That code should die anyway - I don't think we have a valid use case for stuffing exceptions in the Librarian any more. OOPS reports exist now for a start.
[11:17] <wgrant> It's handy for Soyuz.
[11:17] <wgrant> Since the upload processor sucks at reporting errors.
[11:17] <wgrant> Sometimes you have to look at the traceback.
[11:19] <maxb> allenap: hmm?
[11:20] <allenap> maxb: jml might need to add "check" and "libcppunit-dev" to lp-dev-dependencies. You seem to be an ace at packaging :) That's all.
[11:21] <maxb> wow, C code in launchpad? :-)
[11:22] <jml> allenap, no. C code in our dependencies
[11:22] <jml> maxb, allenap, maybe I should just manage subunit as a package dependency
[11:23] <maxb> works for me, but I have a somewhat jaded view of buildout/setuptools/distribute :-)
[11:24] <stub> Maybe the librarian is a red herring there in the failure... the test seems to be expecting a single ERROR line but is getting two ERROR's (plus extra traceback cruft from the handler)
[11:32] <wgrant> When did this start happening?
[11:43] <jml> maxb, how would I add subunit as a dependency?
[11:44]  * jml has nfi
[11:44] <maxb> First, you run 'rmadison python-subunit' and decide if the versions packaged across hardy-lucid are sufficient for your needs
[11:46] <maxb> Then you'd backport packages as needed
[11:46] <maxb> and lastly depend on it in launchpad(-developer)-dependencies
[11:48] <jml> maxb, ok, thanks.
[11:49] <jml> maxb, so I need to backport to hardy :\
[11:49] <jml> maxb, it's just "subunit" fwiw.
[11:49] <jml> which means I need to do more exploratory work
[11:50] <jml> making changes to Launchpad is so frikking hard :(
[11:54] <wgrant> leonardr: Why can't the apport fix go into lucid as well?
[11:55] <leonardr> wgrant: i don't know anything about the apport fix, so i just preserved what was written about it earlier
[11:57] <wgrant> Ah.
[11:58] <leonardr> wgrant: looking at bug 538097, i don't even thing the apport developers have been told they need to make a change
[11:58] <mup> Bug #538097: +storeblob fails with "500 Internal server error" on production (works on edge) <apport-collected> <oops> <Launchpad Foundations:Fix Released by gary> <apport (Ubuntu):Invalid> <https://launchpad.net/bugs/538097>
[11:58] <wgrant> It seems like a one line fix in apport now would be quite a bit better than 5 years of hack in LP.
[11:59] <leonardr> all right, i'm filing a bug against apport
[12:00] <maxb> jml: Hmm. subunit depends on debhelper >= 7.2.9 for the dh --without option
[12:00] <maxb> Some amount of packaging faff would be required. Not really all that hard, though
[12:01] <jml> jelmer, from canonical.launchpad.sqlbase import ZopelessTransactionManager
[12:01] <jml> jelmer, and then pass ZTM as txn
[12:02] <jml> maxb, ok cool.
[12:03] <jml> maxb, it will all be new ground for me anyway
[12:03] <jml> jelmer, from canonical.database.sqlbase import ZopelessTransactionManager, sorry
[12:03] <intellectronica> i have a problem logging in in my dev environment after updating. when i try to log in i get http://pastebin.ubuntu.com/396651/
[12:03] <intellectronica> DiscoveryFailure: Error fetching XRDS document: <urlopen error (-5, 'No address associated with hostname')>
[12:03] <intellectronica> anyone seen that, knows what this is about?
[12:04] <wgrant> intellectronica: Add testopenid.dev to /etc/hosts.
[12:04] <maxb> intellectronica: Have you got the new testopenid.dev vhost.....yes
[12:04] <intellectronica> wgrant, maxb: cheers!
[12:07] <leonardr> wgrant: bug 540212
[12:07] <mup> Bug #540212: Send a Referer header when making requests to Launchpad <Apport:New> <https://launchpad.net/bugs/540212>
[12:09] <wgrant> leonardr: Thanks.
[12:14] <jml> oh look
[12:14] <jml> there's a thing called lucilleconfig
[12:15] <wgrant> Heh heh heh.
[12:16] <wgrant> Two things, even.
[12:16] <wgrant> One of which seems to be redundant.
[12:19] <jml> :(
[12:19] <jml> bigjools, want to review https://code.edge.launchpad.net/~jml/launchpad/lp-poppy/+merge/21551 ?
[12:19] <wgrant> (DistroSeries.lucilleconfig appears to just list components, which would appear to also be the purpose fulfilled by ComponentSelection)
[12:28] <bigjools> lucilleconfig is an abomination
[12:28] <wgrant> Pfft, who needs a config in the config file.
[12:31]  * wgrant wonders about lp.archivepublisher.library, which has been XXXed for removal for nearly four years, and has just about not changed since the start of 2005.
[12:54] <stub> We should finally kill off ZopelessTransactionManager...
[14:05] <kfogel> Ursinha: wow, I like this new QA process better
[14:06] <Ursinha> kfogel: cool! what do you like best?
[14:07] <Ursinha> kfogel: and what would you change, of course -- feedback is gold :)
[14:07] <kfogel> Ursinha: so far nothing I would change.  I just like knowing that what I do is being captured by the system; also, knowing that there's an infallible way to do searches is great.  It's also interesting that we're organized by bug rather than by particular merge/commit now.
[14:09] <Ursinha> kfogel: to be honest I don't trust launchpad searches
[14:09] <kfogel> Ursinha: ?
[14:09] <Ursinha> kfogel: and I mean using the UI
[14:10] <Ursinha> kfogel: because there are default options that you may have no idea launchpad is using
[14:10] <Ursinha> you can't even know what you were searching when in the results page
[14:10] <Ursinha> (I've filed a bug for that a while ago)
[14:11] <kfogel> Ursinha: oh yeah, that's a big one
[14:13] <Ursinha> kfogel: but it's cool to be able to do that using the api
[14:20] <kfogel> Ursinha: <3 lp APIs
[14:47] <james_w> could someone give me some pointers towards writing a test for https://code.edge.launchpad.net/~james-w/launchpad/package-merge-proposal-permissions/+merge/21561 please?
[14:51] <leonardr> james_w
[14:51] <leonardr> the pagetests have different browser objects for differently-permissioned users
[14:51] <leonardr> you could use two of them to show that some users can carry out an action and some can't
[14:52] <leonardr> i can't be more specific than that, but that's the general idea
[14:52] <james_w> and where would I find those tests?
[14:59] <leonardr> james_w: i think the tests closest to what you want are in lib/lp/code/stories/
[14:59] <james_w> ok
[14:59] <leonardr> rockstar or someone might know which test you should add to
[14:59] <james_w> I've found some permission tests in lp.code.tests.test_branch
[15:00] <james_w> I'm tempted to do a parallel lp.code.tests.test_mergeproposal
[15:00] <james_w> branchmergeproposal
[15:00] <leonardr> james_w: yes, if you can do it, it would be better to test the permissions directly in a unit test
[15:00] <james_w> great
[15:02] <bac> reviewers meeting starting in #launchpad-meeting
[16:49] <james_w> are they any docs on what goes on Forms?
[16:50] <james_w> I need to provide a Product picker widget
[16:50] <james_w> there's https://dev.launchpad.net/LaunchpadFormView, but it doesn't talk about the schema
[18:10] <jml> james_w, no, there aren't documents
[18:10] <jml> james_w, or if there are, it's perhaps best to pretend there aren't.
[18:11] <jml> james_w, the standard way of doing this sort of thing is to find some other code that does something close to what you want to do.
[18:12] <bigjools> james_w: lib/canonical/launchpad/doc/launchpadform.txt
[18:12] <bigjools> jml hates doctests ;)
[18:54] <james_w> wow
[18:55] <james_w> deleting all the cruft from ICodeImport only gives a single failing test
[19:00] <mars> james_w, you should get massive karma for that :)
[19:01] <jml> I think thumper joked about giving extra karma for lines removed
[19:02] <mars> I think salgado would win
[19:02] <jml> at least for today
[19:03] <mwhudson> james_w: yay
[19:04] <mwhudson> james_w: want a review for that branch?
[19:04] <james_w> well, I assume we should fix the failing test first :-)
[19:05] <mwhudson> i guess
[19:05] <james_w> plus, I can't actually kill owner without db modifications
[19:05] <mwhudson> which test is it out of curiosity?
[19:05] <mwhudson> right
[19:05] <james_w> and presumably assignee
[19:05] <james_w> pagetest for creating new code imports
[19:05] <mwhudson> yeah, but you can just leave them lurking in the db
[19:05] <james_w> my hacksaw job to remove the reference to product was a little too rash
[19:06] <james_w> they have a non-NULL constraint
[19:14] <james_w> and if anyone can decode the question on https://code.edge.launchpad.net/~james-w/launchpad/export-code-import/+merge/21472 for me I would appreciate it
[19:14] <james_w> "Do we know if the security wrapper were properly defined for the exported field?"
[19:37] <james_w> mwhudson: https://code.edge.launchpad.net/~james-w/launchpad/nuke-code-import-warts/+merge/21586 if you would
[19:37] <james_w> oh, hang on, I need to set the prerequisite branch
[19:38] <mwhudson> i was about to say
[19:41] <james_w> mwhudson: https://code.edge.launchpad.net/~james-w/launchpad/nuke-code-import-warts/+merge/21587 should be better
[20:00] <thumper> here's a reminder that I'm not in this morning
[20:00] <thumper> james_w: you can't just make the code import status writable
[20:00] <thumper> james_w: unfortunately it doesn't work like that :(
[20:01] <thumper> james_w: mwhudson may be able to shed some light on it
[20:01]  * thumper off to the museum
[20:02] <james_w> but it has readonly=True?
[20:02] <mwhudson> james_w: ignore thumper :)
[20:02] <james_w> ok :-)
[20:03] <mwhudson> james_w: the question about "<james_w> "Do we know if the security wrapper were properly defined for the exported field?"" isn't relevant now its all readonly
[20:03] <james_w> ok
[20:08] <EdwinGrubbs> mars: ping
[20:09] <mars> hi EdwinGrubbs
[20:10] <EdwinGrubbs> mars: is the Makefile supposed to be smart enough to run jsbuild when one of the files is modified? Actually, it may be just bin/test that does not update it automatically?
[20:10] <EdwinGrubbs> mars: does base-layout-macros.pt still play any role in what gets combined by jsbuild?
[20:13] <mars> EdwinGrubbs, I think base-layout-macros does
[20:13] <mars> It is scrapped for the YUI dependencies
[20:14] <mars> EdwinGrubbs, I don't know about jsbuild.  It was supposed to, but last I saw it didn't.  That was one of those "we should let make do the work" things IIRC.
[20:15] <EdwinGrubbs> mars: does jsbuild scrape base-layout-macros for the dependencies? I don't see any mention of base-layout-macros in the Makefile.
[20:16] <mars> looking, it calls a different script to scrape the template
[20:17] <mars> EdwinGrubbs, utilities/yui-deps.py
[20:17] <EdwinGrubbs> mars: just to confirm, nobody should be loading js files inside any other .pt file besides base-layout-macros?
[20:20] <EdwinGrubbs> mars: hmmm, when I run yui-deps by hand, it doesn't list any of the files from lib/canonical/launchpad/javascript.
[20:30] <mars> EdwinGrubbs, it should not list any files in lp/javascript.  I think those are handled elsewhere.
[20:31] <mars> EdwinGrubbs, it is OK to list per-page javascript files, but the support for that is shaky right now.  Whatever you need will not be included in the rollup.
[20:32] <mars> I guess it is OK for the purpose though.
[20:32] <mars> The rollup is site-wide.   The per-page JavaScript is exactly that: files that are only needed by the given page.
[23:49] <mwhudson> lunchtime!