/srv/irclogs.ubuntu.com/2010/10/18/#launchpad-dev.txt

mwhudsonthumper: is there a bug report for the fact that i can be requested to review a branch i can't see?00:02
thumpermwhudson: probably00:03
lifelessmwhudson: I don't remember one00:03
thumperit rings a vague bell00:04
mwhudsonyeah, me too00:06
mwhudsonthumper: can't you actually fix https://bugs.edge.launchpad.net/launchpad-code/+bug/624009 now?00:10
_mup_Bug #624009: Email should not be sent for new WIP merge proposals <code-review> <email> <Launchpad Bazaar Integration:In Progress by thumper> <https://launchpad.net/bugs/624009>00:10
thumperyeah...00:10
thumperit is still showing on our kanban board :)00:10
mwhudsonand my bug is there https://bugs.edge.launchpad.net/launchpad-code/+bug/33029000:10
_mup_Bug #330290: Can request a review from someone who can't see the merge proposal <code-review> <confusing-ui> <privacy> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/330290>00:10
mwhudson$ time ./bin/py -c pass00:31
mwhudsonreal0m0.610s00:31
mwhudsonthat's quite slow...00:31
mwhudson$ strace ./bin/py -c pass 2>&1 | grep -c stat00:33
mwhudson1934700:33
mwhudsonthat's quite a lot of stats00:33
* mwhudson wonders if this has regressed again00:33
lifelessbuildout ftw00:37
lifeless?00:37
mwhudsonyeah, to some extent certainly00:37
lifeless(by which I mean pth files, egg lookups etc)00:37
mwhudsonstat()ing /home/mwh/canonical/checkouts/trunk/eggs/RestrictedPython-3.5.1-py2.6.egg three times seems a bit silly00:37
lifelessthat stack needs to be tuned and optimised for everyones sske00:37
mwhudsonthere is this pattern of stats for every egg afaics: http://pastebin.ubuntu.com/515317/00:39
* thumper has errands in town, back soonish00:44
wallyworldlifeless: can you please look at https://pastebin.canonical.com/38714/01:00
wallyworlddo you agree with the approach?01:00
lifelessmmm01:00
lifelessa few concerns01:01
lifeless'config' is establish as an idiom meaning 'the current config'01:02
lifelessso overloading that will confuse people01:02
lifelesslets not do that01:02
wallyworldso i just don't use the alias?01:02
lifelesssecondly, testrunner-appserver is hopefully deletable01:02
lifelesssee the current thread on the list01:02
lifelesseven if isn't deletable, it won't be usable because its still going to be static01:02
lifelessthat said, I'd expect that individual tests *already* are running in that config, aren't they ?01:03
wallyworldnot sure. i can check.01:03
lifeless(if not, how are they managing to connect at all ?)01:03
wallyworldone of the ones i'm looking at to start is lib/canonical/launchpad/doc/launchpadlib.txt01:04
lifelessif the answer is 'a subprocess is run in that config' then the approach of instantiating a specific config to let us refer to the config the external process is using makes sense, but lets not make it a global01:04
lifelessfor tw oreasons01:04
lifelesstwo reasons01:04
lifelessfirstly, I'm this || close to sending in a patch to dynamically generate configs in the test run, so any global like that will be stale01:05
lifelesssecondly we have way too many globals, lets reduce them.01:05
wallyworldsure, i was trying to fit in with how stuff had been done previously01:05
lifelessI appreciate that :)01:06
lifelessand I'm glad -very glad- you're looking at this01:06
wallyworldi can just create a config instance on the fly: config = CanonicalConfig('testrunner-appserver')01:06
lifelesssomething like01:06
lifelessappserver_config = BaseLayer.getAppserverConfig()01:06
lifelessis probably whats needed01:06
lifelessthe hard coded string there would be a problem01:07
wallyworldok. my exposure to this stuff is still very limited :-)01:07
lifelessmine too01:07
lifelessI started looking at the config system code on sunday :)01:08
wallyworldso the BaseLayer.getAppServerConfig() should return me the correct config instance?01:08
wallyworldi started 30 minutes ago :-)01:08
lifelessI think that that will work01:08
wallyworldok. thanks. i'll suck it and see01:08
wallyworldthere's quite a few hard coded urls to fix. that's why i wanted to ask first :-)01:09
thumperwallyworld: want a chat?01:10
lifelesswallyworld: yeah01:10
lifelesswallyworld: what I'm suggesting will give us one place to change if we need to change01:10
lifeless\o/ databasefixture has landed01:11
wallyworldthumper: ok01:11
wallyworldlifeless: that's what i was looking for too. i'll let you know how i get on. thanks for the input01:12
thumperlifeless: compile failed?01:33
lifelessthumper: did it?01:34
thumperlifeless: aye01:34
thumperlifeless: can you parse the error?01:35
lifelessCould not locate /srv/buildbot/slaves/launchpad/lucid-devel/build/orig_sourcecode/eggs/setuptools-0.6c11-py2.6.egg/setuptools/package_index.py:155: UserWarning: Unbuilt egg for ClientCookie [unknown version] (/usr/lib/python2.6/dist-packages)01:36
lifelessops issue i think, machine was being upgraded or some such01:36
spmhmm?01:37
mwhudsonlifeless: i presume the plan after edge and lpnet are running the same code is to remove the edge.launchpad.net domain?01:40
mwhudsonwell, not remove, deprecate & redirect from01:40
thumperwallyworld: https://dev.launchpad.net/Code/BranchRevisions01:40
lifelessmwhudson: yes01:43
lifelessspm: was any maintenance being done on that machine01:44
lifelessspm: that could cause that crazy output01:44
spmthe lucid-devel slave?01:46
lifelessspm: yes02:06
lifelesswallyworld: I'm exposing the config for you as BaseLayer.appserver_config_name02:07
wallyworldlifeless: ok. i'm just coding everything now. i can make my branch dependent on yours?02:08
lifelesssure02:08
wallyworldfor now i'll use a string literal in the getAppServerConfig, just to get stuff working02:08
lifelesssure02:08
wgrantHow often will qastaging's DB be clobbered?02:10
LPCIBotProject db-devel build (78): STILL FAILING in 4 hr 4 min: https://hudson.wedontsleep.org/job/db-devel/78/02:14
spmlifeless: is that a moderately recent error? because there hasn't been any work on the slaves in ~ 4 days ish. afaict/find02:25
lifelessspm: today02:25
lifelesswgrant: same time stagings is02:25
spmlifeless: http://www.mail-archive.com/launchpad-dev@lists.launchpad.net/msg02726.html ??02:27
spmie. lmgtfy ;-)02:28
lifelessspm: huh?! *today*02:28
spmsame error02:28
spmwe've seen this beofre. it's funky crap inside the test suite02:29
lifelessso you're thinkinging dirt in the lp buildbot build area?02:29
spmno. I'm thinking funky crap inside the test suite(s)02:29
lifelessspm: the only change was mine, and it passed ec2.02:30
spmlifeless: not sure. All I can say is that we've seen that error at least once before, back in March. it was weirdness inside the lp code/tests/includes/whatevers. I'd focus there.02:33
thumperlifeless: what are we doing about the thread garbage in ec2 tests?02:33
wgrantThe current policy seems to be "lalalala I'm going to throw it at the wall until it sticks"...02:39
thumper:(02:40
wgrantAlthough Hudson's incessant whinging has almost convinced me to dig into it.02:40
lifelessthumper: I'm going to talk with stub again02:42
thumperack02:42
lifelessI was advocating disabling the check last week02:42
lifelessI think it has to be downgraded to a warning for now, at most.02:43
lifelessbut I need data02:43
wgrantThe remaining failures are just Windmill, aren't they?02:43
lifelessI think so02:48
rockstarpoolie, hi. Do feature flags also work with the API?02:57
pooliewhat do you mean?02:58
pooliecan code called by the api consult flags?02:58
pooliei think it will work, but you may be the first to do it02:58
rockstarpoolie, I mean the web api.  If I land my work, it's going to show up in the web api, isn't it.03:08
thumperrockstar: yes, I think so03:10
rockstarthumper, yeah, that's what I figured.03:10
rockstarI'm not sure whether or not I care enough to try and fix it.  I mean, merge queues have been available through the API for a while.  :)03:11
rockstarI guess I'll just need to be quick.03:11
poolierockstar: i think it should just work but it depends on to what extent the web api uses the standard publication stuff03:13
pooliei would really appreciate hearing that either works, crashes, or silently fails03:14
thumperrockstar: just be quick :)03:14
poolie... by way of a bug in the latter two cases03:14
rockstarpoolie, how do you specify in an interface that a property is only accessibly through a feature flag?03:15
wgrantYou can't.03:15
wgrantYou have to check the flag inside the method.03:16
mwhudsoni guess you can make a method error in some meaningful way if a flag is not in effect03:16
mwhudsona property... dunno03:16
wgrant(I believe the DistroSeriesDifference API stuff is currently protected by flags)03:21
poolieright03:22
thumperlifeless: do you think calls like https://lp-oops.canonical.com/oops.py/?oopsid=1751XMLP32 could block the xmlrpc server for the other calls?03:22
poolierockstar: i mean presumably you would get... an AttributeError... if it didn't exist at all?03:22
poolieyou could raise that? or Unauthorized, perhaps?03:22
lifelessrockstar: you'd need to change the wadl processing to use a flag in that fashion03:25
lifelessrockstar: as wgrant says, its not designed for static things like that, because it depends on the db03:25
lifelessI'd just do your things, merge queues are classified as unsupported by thumpers fiat ;)03:25
rockstarlifeless, yeah.03:25
lifelessas long as what you land is working at any point, its ok03:26
rockstarlifeless, yeah, that's the plan.03:26
thumperlifeless: did you boot buildbot?03:29
lifelessyes03:30
lifelesshoping its nonsense03:30
lifelesswhich it looks like it was03:30
bacgood morning rockstar + antipodes03:50
wgrantAfternoon.03:50
bacwgrant: did you get all three of your branches landed, after the annoying ec2 faliures?03:54
thumperhi bac03:55
wgrantbac: And other three after that, yeah.03:57
rockstarbac, are you in Japan?03:57
wgrantAfter a couple of runs.03:57
bacrockstar: while i am big in japan i'm actually in vietnam03:57
lifelesswallyworld: rev 11741 in lp:~lifeless/launchpad/uniqueconfig is pushing now04:30
lifelesswallyworld: I'm not done, but the bits you need are done.04:30
wallyworldlifeless: thanks. only 100+ more tests to fix :-)04:31
wallyworldlifeless: i'm just assuming your rev with include the app config name - i've got methods for all the rest i need04:31
wallyworlds/with/will04:32
rockstarwallyworld, did you get your windmill issues fixed?04:32
wallyworldrockstar: no :-( but i talked to adam from the windmill devs and he suggested a windmill proxy issue may be the cause04:32
wallyworldi'm not 100% sure exactly what that means just yet04:32
wallyworldall i know is YUI and windmill don't play nicely together04:33
rockstarwallyworld, yeah.  Here's what I've found.  The same tests fail (relatively) consistently on my machine, but ec2 has failed 6 different runs with different tests failing each time with no changes from me.04:33
rockstarwallyworld, I don't see how YUI and windmill wouldn't play well together.  windmill doesn't know YUI from Adam.04:34
wallyworldrockstar: the same general failure mode? ie YUI breaks somehow?04:34
wallyworldfrom what adam said, there's some proxying the windmill does04:34
wallyworlds/the/that04:35
wallyworldrockstar: adam talked about needing to blacklist a url to prevent windmill proxying it and gave this reference04:37
wallyworldhttp://github.com/windmill/windmill/wiki/Preferences-File04:37
rockstarwallyworld, hm, I was under the impression that the windmill proxy was important.04:37
wallyworldi'm not sure - i haven't devoted enough brainspace to understanding the windmill architecure at this point04:38
wallyworldi was hoping it would make more immediate sense to you :-)04:39
rockstarwallyworld, it doesn't make much sense to me now, but it's also a bit late right now.  Maybe I can make some sense of it tomorrow.04:41
wallyworldrockstar: ok. we'll talk then. have a good evening04:41
lifelesswallyworld: it generates unique testrunner-appserver configs in BaseLayer.setUp04:47
lifelesswallyworld: it doesn't allocate unique ports in the generated config [yet]04:47
lifelesswallyworld: and really the whole config thing is backwards here, we want to start the server and readback the port as I described on the list04:47
lifelessEFUTURE04:47
wallyworldlifeless: np. i'll look at the branch to see what's there. atm, i'm fixing the test logic but the expected results still contain the hardcoded 8085. if the ports are generated, i'll have to come back and deal with that too04:49
lifelesswallyworld: what do you mean by 'expected results' ?04:50
lifelesswallyworld: the goal is to use different ports so we can run tests in parallel04:50
wallyworldlifeless: yeah, i realise that. here's a snippet from on e of the doc tests04:50
wallyworld    >>> browser.url04:51
wallyworld    'http://launchpad.dev:8085/~stimpy'04:51
wallyworldsee how the expected url value is hard coded04:51
lifelessok04:51
wallyworldi can deal with that. my first aim is to get the test logic sorted out, then come back around and fix this other stuff04:52
lifelessok04:52
lifelessnuking the darn doctests would be one way ;)04:52
wallyworldwell, the unit tests do the same thing :-)04:52
lifelesswallyworld: except assertions are easier there04:52
wallyworld+104:52
lifelessperhaps browser could grow some support04:53
lifelesslike04:53
lifelessvhost : launchpad.dev / bugs.launchpad.dev etc04:53
lifelessurlpath : /~stimpy04:53
wallyworldthe windmill layer setup does this sort of thing04:54
lifelessif browser had that04:55
lifelessthen you could write the above as04:55
lifeless >>> browser.vhost04:55
lifeless  launchpad.dev04:55
lifeless  >>> browser.urlpath04:55
lifeless  /~stimpy04:55
lifelesswhich would probably be easier than converting to unittest in the short term04:55
lifelessor even have a normalise_url, or something.04:56
wallyworldyes. doc tests are here for a while yet given how much is in them04:56
wallyworldwhat i am playing with now is I have a method called getRootLaunchpadUrl(sitename='mainsite') which delgates to BaseLayer.xxx04:58
wallyworldso with one line of doc in doc tests i can get the url i needed04:58
wallyworldbut i could look at adding that to the browser as you suggest04:58
lifelessthe main thing for doctests is that you need to be able to write the literal expected value04:58
lifelessif you can do that, awesome04:59
lifelessI'm just riffing on the approach is all04:59
wallyworldnp. it's always very good to discuss different ideas04:59
lifelesshttps://code.edge.launchpad.net/~lifeless/launchpad/uniqueconfig/+merge/38689 \o/05:06
lifelessjml: testtools upgrade broke bizarrely05:06
LPCIBotProject devel build (124): STILL FAILING in 4 hr 9 min: https://hudson.wedontsleep.org/job/devel/124/05:20
lifelessis there a config serialiser class ? for writing to the configs ?05:22
wgrantspm: Around?06:25
spmwgrant: ish...06:25
wgrantspm: The reporter of https://bugs.edge.launchpad.net/ubuntu/+source/beryl-core/+bug/109550 needs your magical banhammer.06:25
_mup_Bug #109550: Black/White/unrendered windows in Beryl  <beryl-core (Ubuntu):Invalid> <https://launchpad.net/bugs/109550>06:25
spmahh. a special person eh?06:26
wgrantSpam of some variety.06:26
wgrantOnly to that bug, that I've seen.06:26
spmawesome. ta.06:26
wgrantStevenK: Ohloh seems to be less glacial now... might be done tomorrow.06:33
StevenKColour me suprised.06:33
StevenKhttp://paste.ubuntu.com/515453/ :-(06:34
wgrantStevenK: That can mean a missing export_as_webservice_entry()06:35
wgrantI think.06:36
wgrantWhat's your diff?06:36
wgrantIt can also happen if your thing doesn't get imported into canonical.launchpad.interfaces.*06:37
wgrantBut your diff will tell me everything.06:37
StevenKhttps://code.edge.launchpad.net/~stevenk/launchpad/db-add-derivedistroseries-api/+merge/3818906:38
StevenKwgrant: It's messy due to the MP being targetted at db-devel, but now I'm free to land on devel, so read with caution06:38
wgrantStevenK: What's the real diff?06:44
StevenKwgrant: The test changes and lib/lp/registry/{interfaces,model}/distroseries.py06:45
StevenKAddition of deriveDistroSeries()06:45
wgrantAh.06:49
wgrantStevenK: You probably need to patch your 'distribution' argument's interface.06:50
wgrantSince IDistroSeries.distribution is an Interface for circular import reasons.06:50
spmwgrant: fyi. account zotted; old comments zotted as well06:50
wgrantYou know about the _schema_circular_imports fun, right?06:51
wgrantspm: Thanks.06:51
StevenKwgrant: Oh, right, so I can copy_field, as long as I also deal with circular_imports?06:57
wgrantI think so.07:01
wgrantAnyway, I need to run.07:01
lifeless\o/07:28
lifelessdynamic db names working.07:28
lifelessin tests as in.07:28
lifelesslets see if it works for the librarian too07:29
lifelessseems too, but something remade the ftest db. Hmm.07:32
lifelessO M G07:53
lifelesslp test start reads from dev/random07:53
jpdslifeless: Does it support sharding?07:55
lifelessjpds: it must. Its web scale.07:59
lifeless:!bin/test -vvt test_pgsql --parallel07:59
lifelessTests running...07:59
lifelessRan 15 tests in 27.225s07:59
lifeless^- woo07:59
lifelessStevenK: hey, what instance size are you using in hudson ?08:00
adeuringgood morning08:31
StevenKlifeless: The largest08:32
StevenKlifeless: If you're running out of space on /, fiddle things to use /mnt08:32
lifelessStevenK: well, its just that I'm curious how many cores it will get08:33
StevenKlifeless: Oh, right. Lemme check08:34
lifelessStevenK: largest is ill defined08:34
lifelessthere are ;argest-cpu, largest-memory etc08:34
lifelessm1.xlarge ?08:35
StevenKlifeless: Picking on one of the running instances, it has 2GB of RAM and 4 QEMU cores.08:35
lifelessc1.xlarge would be interesting to try08:35
lifeless8 cores08:35
StevenKThat is c1.xlarge08:36
lifelesssurely not08:36
StevenKYes08:36
lifelesshttp://aws.amazon.com/ec2/instance-types/08:36
StevenKIt isn't using ec208:36
lifelessoh08:37
lifelessthats right08:37
lifelessit would be nicer if they matched up08:37
StevenKFile a ticket? :-)08:37
StevenKBut I daresay, it's a problem of resource management08:37
lifelessStevenK: btw08:37
lifeless https://devpad.canonical.com/~lpqateam/qa_reports/deployment-stable.html08:37
lifelessblames you for needing to QA :)08:38
StevenKlifeless: Yes, I'm blocked on dogfood, I'm waiting for Julian and Tom.08:38
lifelessok08:38
lifelessplease file a bug / RT ticket explaining what we need to change to let this get qa'd on qastaging.08:38
lifelesswe /have/ to fix this pipeline08:38
* wgrant can hear people crying already.08:39
StevenKlifeless: Shell access08:39
lifelessStevenK: surely you can come up with a better answer08:39
lifelessStevenK: like 'this is a shell script, so I can write a test driver for it that the losas can run on request'08:39
StevenKlifeless: No, I can't. The bits are infrastructure and I need to reach in and rummage around.08:40
lifelessStevenK: why?08:40
StevenKlifeless: Because I'd like to confirm things look good at a database level before I kick off a script, etc, etc.08:40
StevenKI'd like to be perfectly clear the right things are happening08:40
lifelessStevenK: this sounds automatable08:41
wgrant(also, most of the archive admin tools still require shell access)08:41
lifelessbut even if its not, we need to be able to qa on qastaging08:41
lifelessthis is a fundamental tenant of being able to do continuous deployment.08:41
persia(wgrant: most of them can be run by waldo though, by someone else if given the arguments)08:41
lifelessit needs to be written down08:42
lifelesshanded off to a losa08:42
lifeless-or something-08:42
StevenKlifeless: In other news, can you poke at http://people.canonical.com/~stevenk/windmill-thread-debug-r11734.subunit.gz08:42
lifelessforbidden08:43
lifelessmail it to me or something08:43
* StevenK curses08:43
StevenKlifeless: Fixed, please retry08:43
lifelessso what do you want me to see?08:44
StevenKlifeless: I added some more debugging to the windmill teardown, there's an oddness with a Timer thread there08:45
lifelessI'd say thats a threading subclass08:46
StevenKlifeless: And I also got 'test process died with exit code 2, but no tests failed', which I don't believe.08:46
lifelessused by windmill08:46
lifelessI think that test process thing is damage in zope.testing's subunit support, which I put a patch up for months ago08:47
lifelessbenji landed it in the weekend I think08:47
StevenKOh, damn it08:47
StevenKThat revision is qa-ok, but Ursinha's script munged it08:47
StevenKlifeless: When does that page get re-generated?08:48
lifelessStevenK: 10 minutes or so08:50
lifelessUrsinha-afk: can you run it any more frequently now?08:50
StevenKlifeless: As in, 'in ten minutes' or 'every ten minutes' ?08:50
lifelessStevenK: its in cron, I think its a 10 minute frequency08:50
lifelessgrr wtf OperationalError: FATAL:  database "launchpad_ftest_template" does not exist08:53
StevenKRight, now that page doesn't blame me, excellent.08:55
wgrantDoes it blame me instead?08:56
StevenKNo, sinzui08:56
lifelesssinzui08:56
wgrantAh.08:56
lifelesshowever, anyone can qa08:56
lifelessin principle08:56
StevenKwgrant: We can change it so it always blames you08:56
lifelessBug 46581 is marked as not-ok.08:56
_mup_Bug #46581: Change a poll type URL manually crashes <oops> <polls> <qa-needstesting> <Launchpad Registry:Fix Committed by sinzui> <https://launchpad.net/bugs/46581>08:56
=== almaisan-away is now known as al-maisan
lifelessI gotta say, wtf is dropping the template db09:01
StevenKCrash dump was written to: erl_crash.dump09:03
StevenKKernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})09:03
StevenKWheee, yay for readable logs, rabbitmq09:03
StevenK-rw-r----- 1 rabbitmq rabbitmq 243K 2010-10-18 08:02 /var/lib/rabbitmq/erl_crash.dump09:04
* StevenK sobs09:04
LPCIBotProject devel build (125): STILL FAILING in 3 hr 44 min: https://hudson.wedontsleep.org/job/devel/125/09:04
LPCIBot* Launchpad Patch Queue Manager: [r=henninge][ui=henninge,09:04
LPCIBotsinzui][bug=639703] Correctly report bug tracking status for project09:04
LPCIBotgroups.09:04
LPCIBot* Launchpad Patch Queue Manager: [r=mwhudson][ui=none][no-qa] Cleanup some partially-migrated-from\n\ttest support code.09:04
LPCIBot* Launchpad Patch Queue Manager: [r=mwhudson][ui=none][bug=660843][no-qa] Move the garbo scripts into09:05
LPCIBotlp.scripts09:05
StevenKHm, I think I need to turn that off.09:05
lifelesshttps://bugs.edge.launchpad.net/launchpad-foundations/+bug/662519 made me cry09:09
_mup_Bug #662519: lp test startup exhausts dev/random <Launchpad Foundations:New> <https://launchpad.net/bugs/662519>09:09
lifelesstest run should be finished soon.09:21
lifeless\o/09:21
StevenKlifeless: I can kill that parallel-test build if you wish09:24
lifelessnono09:24
lifelessits nearly done09:24
StevenKEven with the no _template db errors?09:25
lifelessneed to get the details and debug them09:25
lifelessmost tests are passing09:25
lifelessits probably the tests that sampledata loading/dumping works, or some such09:25
lifelesshmm https://hudson.wedontsleep.org/job/parallel-test/4/ took 2 hours09:26
lifelessso it may have an hour to go09:26
bigjoolswgrant: how much testing have you done on bug 655690?09:33
_mup_Bug #655690: release_files_needed shouldn't live on FTPArchiveHandler <qa-needstesting> <soyuz-publisher> <tech-debt> <Soyuz:Fix Committed by wgrant> <https://launchpad.net/bugs/655690>09:33
lifelessAnnouncing Amazon SNS Management Console looks interesting09:36
wgrantbigjools: I've tested both a-f and NMAF fairly thoroughly.09:42
wgrantPlus the tests are a bit better now.09:42
jmlwant to see a blast from the past? https://devpad.canonical.com/~jml/mirror-failure.png09:44
lifelessmeep09:45
mwhudson_jml: wow09:49
jmllifeless: fwiw, something else weird is going on with your branch. You should definitely not get an email like that for test failures.09:49
lifelessjml: the long spew of info? i filed a bug, its having a root logging handler installed that uses std*09:51
jmllifeless: no, not the root logger09:51
jmllifeless: although that's another problem09:52
jmllifeless: I changed the email so that it should start with a list of failing tests, and then have only the error info for those tests09:52
jmllifeless: it sends out the full horrible dump only when something surprisingly bad happens.09:52
jmlbut a quick scan of the full log doesn't reveal anything09:53
lifelessjml: what full horrible dump ?09:55
jmllifeless: this is what a failing branch email is supposed to look like: Tests started at approximately 2010-10-16 10:04:52.24341009:56
jmlSource: bzr+ssh://bazaar.launchpad.net/~wgrant/launchpad/better-publisher-index-tests r988609:56
jmlTarget: bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/ r1172209:56
jml10565 tests run in 3:58:20.128578, 0 failures, 1 errors09:56
jmlTests with errors09:56
jml-----------------09:56
jml lp.code.windmill.tests.test_branchmergeproposal_commitmessage.TestQueueStatus.test_inline_queue_status_setting09:56
jml======================================================================09:56
jmlERROR: lp.code.windmill.tests.test_branchmergeproposal_commitmessage.TestQueueStatus.test_inline_queue_status_setting (subunit.RemotedTestCase)09:56
jml----------------------------------------------------------------------09:56
jml_StringException: Text attachment: garbage09:56
jml------------09:56
jml[<Thread(Thread-1110, started daemon 47989191493392)>]09:56
jml------------09:56
jml**NOT** submitted to PQM:09:56
jml[r=bac][ui=none][no-qa] Start de-duplicating the apt-ftparchive and native publishing tests, and add more thorough index generation tests.09:56
jml(See the attached file for the complete log)09:56
jmlsorry09:56
jmlhttp://paste.ubuntu.com/515540/ ← I meant to paste that09:56
wgrantSevere chastisement.09:56
lifelessjml: thats what mine looked like09:57
jmllifeless: no, it didn't. the testtools -> devel email has stdout in it, for example09:57
lifelessah09:57
jmllifeless: it does not have a list of tests with errors, for another example :)09:57
lifelessso, I think its because the *submitting tree* is used to control stuff09:58
lifelessnot the target/source branch09:58
jmlI don't follow09:58
lifelessI can't ec2 submit from my dev environment09:59
jmloh, you mean it's using remote.py from your branch? yes, that would be it.09:59
jmlyour local working tree, in fact09:59
lifelessI have a very old tree I never touch, because it 'works'09:59
lifelessits outside my dev vm09:59
lifelessgenerally when I touch it, it breaks. so I dont10:00
jmllifeless: ahh, ok.10:00
jmllifeless: well the new pretty email is very pretty and helpful.10:00
jmllifeless: but I can understand not wanting to mess about10:00
lifelessjml: testr looks after me ;)10:01
jmllifeless: I've updated run-test-improvements10:26
LPCIBotProject parallel-test build (5): STILL FAILING in 2 hr 15 min: https://hudson.wedontsleep.org/job/parallel-test/5/10:28
lifelessjml: how about run_with rather than run_test_with ? just a thought10:29
lifelessjml: def _run_test_method(self, result):10:31
lifelessjml: doesn't use result10:31
jmllifeless: thanks.10:42
jmllifeless: it never did.10:42
lifelessjml: interesting10:42
jmllifeless: also, _run_setup and _run_teardown10:43
bigjoolsjml: helleau.  Did you by any chance get to look further at the buildd-manager branch?  I'm about to run it on dogfood again, when DF is working.10:59
jmlbigjools: no, not yet. how about I do that now :)11:00
bigjoolsjml: that'd be smashing11:00
lifelessnightish, all.11:03
wgrantNight lifeless.11:03
jmllifeless: g'night11:03
jmlbigjools: you're landing it on devel, I take it?11:08
bigjoolsjml: that's the plan11:08
jmlbigjools: you're not doing getFile => deferred as part of this branch, right?11:25
bigjoolsjml: no, it's a lot of work11:25
jmlbigjools: ok.11:25
jmlbigjools: have you filed a bug about it?11:26
bigjoolsjml: no11:26
jmlbigjools: that might be a good idea. you've noted a few places where it needs to change in this branch.  A bug number will make grepping easier later :)11:26
wgrantbigjools: Can you think of a good reason to keep the behaviour where we skip publication of series without a lucilleconfig? An uninitialised series can't have any publications, so there's nothing to be published, so it seems pointless.11:27
bigjoolsjml: I don't care about grepping, the few XXXes that are there are the tip of the iceberg.  I have a list on my desk of what needs to change on the delightful piece of cardboard that we used :)11:27
wgrant(plus it's all that's keeping me from dropping the column)11:27
bigjoolswgrant: it was only being skipped to stop the publisher blowing up when it tried to get one that was not there11:28
wgrantbigjools: That's what I thought, thanks.11:28
jmlbigjools: the bus factor for that is dangerously high11:28
bigjoolsjml: I know.11:28
bigjoolsjml: but it's not like someone else couldn't do what I did11:29
bigjoolsI can add XXXes though11:29
bigjoolsBTW I can thoroughly recommend the Finca El Fany from Hasbean.  Apart from having a hilarious name, it tastes delicious.11:30
jml:D11:31
wgrantHmm. What's archivepublisher.root set to in the 'ppa' prod config?11:31
jmlI'm on Sainsbury's coffee until I return from the states11:31
bigjoolswgrant: why?11:32
jmlthe slave api needs to change11:32
bigjoolsthe Sainsbury's ground colombian is very nice11:33
wgrantbigjools: I believe the code currently uses Ubuntu's lucilleconfig's temp directory (/srv/launchpad.net/ubuntu-archive/ubuntu-temp) for PPAs.11:34
bigjoolswgrant: for doing what for PPAs?11:34
wgrantbigjools: One of my next few branches switches to ${archivepublisher.root}/ubuntu-temp instead.11:34
wgrantbigjools: It puts Sources and Packages in there first.11:34
bigjoolsoh ok, before the atomic-ish mv11:34
wgrantYep.11:34
bigjoolsit's set to the directory that contains all the repos11:35
bigjoolsthere's also a private_root11:35
wgrantIt isn't in my old copy.11:35
wgrantThat's the PPA root.11:35
wgrantNot archivepublisher.root.11:35
bigjoolsoh, meh11:35
wgrantI could change it, but we probably don't want the temp directory showing up under the Apache-served root...11:36
bigjoolswgrant: ppa does not override the values used in the ubuntu publisher11:36
wgrantbigjools: Does it inherit from ftpmaster?11:36
bigjoolsyes11:36
bigjoolswell11:37
wgrantAh.11:37
bigjoolsno11:37
bigjoolsI can't read today11:37
wgrantMy copy of the configs is a year old, and I believe things have changed a bit since then.11:37
wgrantBut by my reading it will inherit schema-lazr.conf's archivepublisher.root, which is /var/tmp/archive, which is probably wrong.11:37
bigjoolsyes it will use that11:38
bigjoolseven dogfood's config sets it.  Ha.11:38
wgrant:(11:38
wgrantHah, to /srv/launchpad.net/ppa. How odd.11:38
bigjoolsnot really11:39
wgrantBut the PPA config doesn't set it to that...11:39
bigjoolsjml: what's up with the slave api, apart from the fact it's crap?11:39
jmlbigjools: potato programming11:39
jmlsendFile, sendFile, sendFile, sendFile, ...11:39
bigjoolsyeah that blows11:40
jmlwhy not sendFiles?11:40
jmlnot only is it slower but it makes the client-side harder to write.11:40
jmlI guess a good thing about this change is that now everything goes through BuilderSlave, so you could change the API for BuilderSlave to look like what you want the XML-RPC API to look like11:41
bigjoolsindeed, it's a nice layer of abstraction11:43
wgrantRecordingSlave is gone?11:43
wgrantYay.11:43
bigjoolstotally gone11:43
bigjoolsthe new manager.py is about 30% of the size11:43
wgrantI meant to read the diff, but it's sort of big.11:43
jmlyeah11:43
jmlwgrant: I'm skimming the diff and then going to look at the new manager.py & test_manager.py – the diffs for those are so big as to be useless11:44
bigjoolsjml: there's one more bug I need to fix in the code - the failure counting assumes there's always a job on the builder, but the scan can fail before that happens11:44
bigjoolsalso I want to make it allow a few more failures on builders before killing them11:45
jmlbigjools: isn't that last one just changing a constant somewhere?11:46
bigjoolsno11:46
bigjoolsthe current code just checks that one is bigger than the other11:46
bigjoolsjobs hopping around builders failing need to be culled quickly.  builders  need a bit more leeway11:47
wgrantI think we need to be more careful about that, though.11:48
wgrantSince network issues can kill lots of builds that way.11:48
bigjoolsyes, I know, which is why builders need more leeway11:50
deryckMorning, all.12:04
=== Ursinha-afk is now known as Ursinha
=== jelmer_ is now known as jelmer
Ursinhalifeless, running every 5 minutes now12:42
LPCIBotProject devel build (126): STILL FAILING in 3 hr 44 min: https://hudson.wedontsleep.org/job/devel/126/12:49
LPCIBotLaunchpad Patch Queue Manager: [r=lifeless][ui=none][bug=631301] Prune CodeImportEvents.12:49
wgrantThe PQM regex doesn't actually confirm that there's a commit message?12:55
=== matsubara-afk is now known as matsubara
LPCIBotProject db-devel build (79): STILL FAILING in 4 hr 8 min: https://hudson.wedontsleep.org/job/db-devel/79/13:11
Ursinhagood morning launchpad13:16
jmldone13:22
wgrantYou finished Launchpad?13:23
jmlYeah, the end boss is tough13:23
jmlactually, I finished reviewing the new buildd-manager code13:24
wgrant!!13:24
jmlnot as thoroughly as I'd review a normal branch, of course, but thoroughly enough.13:25
wgrantI feel that the branch could have a better name.13:27
wgrantIt's a bit deceptive.13:27
jmlyeah13:27
jmllazr.config.interfaces.ConfigErrors: ConfigErrors: schema-lazr.conf does not have a initialisedistroseries section.13:30
wgrantjml: That was fixed in devel r1171513:31
wgrant11712, even.13:32
jmlahh right.13:32
jmlhasn't made it to bigjools' branch then13:32
bigjoolsI've not merged devel today13:33
bigjoolsjml: pushed a new one up13:38
jmlta13:40
bigjools"make check" is still screwed. Grar.13:55
marsbigjools, 'make check' is deprecated.  We will not be fixing it.14:12
bigjoolsmars: wtf?14:13
bigjoolsso how do I run tests locally?14:13
marsbigjools, bin/test is the recommended way.14:13
bigjoolsmars: provided running it with no args runs all the tests, then fine.14:14
bigjoolsbut I am intrigued as to why make check hangs half way through.14:14
marsbin/test runs everything.  IIRC there was no obvious reason behind the test hang.14:15
marsespecially since bin/test had no issue14:16
bigjoolsindeed14:17
jmlmars: why not delete it now?14:21
marsjml, the make check target?14:22
jmlmars: yes14:22
marsit is still used by automated systems14:22
bigjoolswhat does ec2/buildbot use?14:22
marssame14:22
mars'make check'14:22
bigjoolshmmm then I am quite concerned14:22
mars?14:23
marsabout what?14:23
bigjoolswhy does it work for those and not locally, basically14:23
bigjoolsjml: I don't understand why you think some of the comments are obsolete in this branch.14:24
jmlbigjools: hmm. gimme a sec and I'll explain why.14:25
marsjml, I should not have used the word 'deprecated'.  'make check' is not deprecated, but its use is not recommended for developer systems.  It is only intended for automated ones.14:26
jmlbigjools: e.g.14:26
jml>     def _startCycle(self):14:26
jml>         # Same as _startCycle but the next cycle is not scheduled.  This14:26
jml>         # is so tests can initiate a single scan.14:26
bigjoolsjml: that one is ok14:26
bigjoolsjml: it's the "# Trap known exceptions..." one14:26
bigjoolsanyway I like lots of comments.  Comments are rarely bad unless they're misleading.14:27
jmlbigjools: ahh right. What I mean there is that though the words are correct, it's incomplete, and the traceback/no-traceback thing isn't very interesting14:27
bigjoolsI think it is :)14:27
bigjoolsbitter experience of coming back to my own code 1 year later14:28
jmlbigjools: in that case, fix the grammar :)14:28
jmlbigjools: "Trap all errors. If it's a known error, log it; if it's not known, log it and include a traceback."14:29
jmlbigjools: but the main point of the review comment is that _scanFailed does much more now.14:29
bigjoolsI love seeing a well placed semicolon.  I'm still searching. :)14:29
bigjoolsindeed, I'll spruce it up14:29
=== Ursinha is now known as Ursinha-afk
jmljelmer: is there a PPA somewhere with a version of testr with streaming result support?14:45
jelmerjml: Not that I'm aware of. Rob has done all of the testrepository packaging so far. AFAIK there are only packages in Debian and Ubuntu's main archive.14:46
jelmerIt might be nice to set up a recipe build for testr.14:47
=== Ursinha-afk is now known as Ursinha
jmljelmer: yes15:04
cody-somervillejml, What you ever used twill? If so, whats your opinion of it?15:32
cody-somervilleerr15:32
cody-somerville*Have15:32
=== salgado is now known as salgado-lunch
=== Ursinha is now known as Ursinha-lunch
jmlderyck: hello16:01
deryckhi jml.  on call16:01
jmlderyck: can we have a call sometime this week to talk about UDS?16:01
sinzuijml, mumble?16:01
jmlsinzui: yep16:02
jmlsinzui: waiting16:02
jmlcody-somerville: never used twill.16:03
jmlsinzui: hello?16:04
gary_posterderyck: I decided to push bug 659697 back to you.  Maybe I'm being dense about our options, but right now I don't see a clear foundational solution, and even if it were, I think the degree we care about this use case is also an application-level decision.  Tell me what you think when you get around to it. :-)16:06
_mup_Bug #659697: [Wish] On-the-fly decompression of compressed attachments <Launchpad Bugs:New> <https://launchpad.net/bugs/659697>16:06
deryckjml, sure, I'd love to chat.  Early as possible this week actually.  Meant to ping already.16:23
deryckjml, can you calendar me a time that works for you?16:24
deryckgary_poster, I was wondering at first if it was apache settings to get content-type and content-encoding right so the brower would do the work....16:24
jmlderyck: sure thing16:25
deryckgary_poster, but having poked briefly at it, I guess the change has to happen in the librarian server itself.16:25
deryckjml, thanks!16:25
gary_posterderyck: right, and if I understood correctly, the proposal was to always unzip, and then let the server do gzip encoding if the browser supports it16:26
deryckgary_poster, right.  As I understand it, too. :)16:27
deryckgary_poster, so I'm happy for bugs to own it, but like you, I doubt we'll make it a priority anytime soon.16:27
deryckI didn't know with the librarian being a shared resource who should own it either.16:28
deryckthe whole "own" thing is silly, I know.16:28
gary_posterwhich...seems questionable, from the perspective of someone who feels fuzzy about the use cases.  My concerns would be how many browsers don't accept gzip, and how many people would *want* their browsers to display an arbitrarily-sized attachment rather than downloading it...16:28
gary_poster(sorry, that was a follow on from my first statement)16:29
deryckright, I agree with that, too.  Maybe we shouldn't do it.16:29
deryckaribitrary files are much different that static resources of css or js which other sites gzip and decompress on the fly.16:29
gary_posterright16:30
gary_posterbut so, even if you kicked something off to us for implementation, my concerns were whether we *should* do it from an application/usability perspective.  Which seemed to be Not Me. ;-)16:31
deryckheh16:33
deryckgary_poster, I didn't think about the arbitrary size issue before.  You having said that makes me agree.16:33
gary_posterok cool deryck :-)16:34
deryckI'm not even sure the alternate link idea is worth the effort either.  How much trouble is it letting the browser dialog guide you?16:34
LPCIBotProject devel build (127): STILL FAILING in 3 hr 49 min: https://hudson.wedontsleep.org/job/devel/127/16:39
LPCIBot* Launchpad Patch Queue Manager: [r=jtv,lifeless][ui=none][bug=652280]16:39
LPCIBot* Launchpad Patch Queue Manager: [r=gmb][ui=None][bug=644196] Allow derivers to create a derived16:39
LPCIBotdistroseries via the API.16:39
gmbDear LPCIBot: Please stop setting off my highlight.16:39
jtvAnd mine.16:47
maxblpcibot sould send notices, not messages16:52
=== benji is now known as benji-lunch
=== Ursinha-lunch is now known as Ursinha
jmland we should have a landing system that doesn't require reviewer nicks in the first line of the commit message17:09
=== beuno is now known as beuno-lunch
LPCIBotProject db-devel build (80): STILL FAILING in 3 hr 44 min: https://hudson.wedontsleep.org/job/db-devel/80/17:15
LPCIBotLaunchpad Patch Queue Manager: [rs=buildbot-poller] automatic merge from stable. Revisions: 11735,17:15
LPCIBot11736, 11737, 11738 included.17:15
jmlg'night all17:53
bigjoolsnight from me too17:56
=== benji-lunch is now known as benji
=== salgado-lunch is now known as salgado
=== al-maisan is now known as almaisan-away
=== matsubara is now known as matsubara-lunch
=== beuno-lunch is now known as beuno
=== henninge_ is now known as henninge
sinzuijcsackett, how many hours do you estimate it would take you to update that JoinNotAllowed raises a 403 over the API https://bugs.edge.launchpad.net/launchpad-registry/+bug/24452719:06
_mup_Bug #244527: JoinNotAllowed should cause a 400 response when raised on the API layer <api> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/244527>19:06
jcsackettsinzui: the exception just needs to be moved into lp.registry.errors and have a webservice code assigned to it.19:10
sinzuijcsackett, 2 hours?19:10
jcsackettassuming i don't get into import hell and the tests are easy, probably 1-2, yes.19:10
sinzuiokay. thanks19:10
=== matsubara-lunch is now known as matsubara
=== matsubara is now known as matsubara-afk
lifelessmoin19:44
lifelessUrsinha: awesome19:44
mtaylormoin lifeless19:56
lifelesshi mtaylor20:06
LPCIBotProject devel build (128): STILL FAILING in 3 hr 35 min: https://hudson.wedontsleep.org/job/devel/128/20:14
LPCIBot* Launchpad Patch Queue Manager: [r=jelmer][ui=none][no-qa] Extract a few refactorings and tests from20:14
LPCIBotthe abandoned check-in-wadl branch.20:14
LPCIBot* Launchpad Patch Queue Manager: [r=gary][ui=none][no-qa] update lazr.restful to the latest released20:14
LPCIBotversion (0.14.0)20:14
LPCIBot* Launchpad Patch Queue Manager: [r=michael.nelson, stevenk,20:15
LPCIBotjulian.edwards][ui=none][bug=653720] Commit after changing build20:15
LPCIBotstatus in the upload processor.20:15
lifelessbac: hi20:15
gary_posterIs this kind of thing expected when you try to view MPs on staging?  If not, is it indicative of staging's librarian having fallen over?  That's my impression of the traceback a skim of the pertinent code: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1752S20220:26
lifelessmmm20:28
lifelessno, its a 40420:28
lifelessit means 'the librarian is running but couldn't get your shit'20:28
lifelessnow the staging librarian is /meant/ to fallback, at least for public stuff, to the main librarian.20:29
gary_posteroh, just saw reply20:31
jamabentley: ping20:56
jammwhudson: ping about lp-service20:56
abentleyjam: pong20:57
mwhudsonjam: ping20:57
mwhudsonjam: ah crap, i didn't reply in the end did i?20:57
mwhudsonjam: basically i think it looks ok20:57
jammwhudson: I updated the test suite, I'm not sure if it is fully tasteful, but the test suite passes for me20:57
jamabentley: want to skype? I responded to your email, but it may be faster to iterate vocally20:58
mwhudsonjam: using fixed paths to communicate between subprocesses is (sadly) how it's done in lp tests currently20:58
jammwhudson: le sigh20:58
abentleyjam, sure.  I don't see your reply yet.20:58
jamabentley: just sent, may take a couple mins20:58
mwhudsonjam: lifeless is fixing that right now though :-)20:58
jamyeah, I've been reading the discussion on the parallel running, etc.20:59
mwhudsonjam: he also suggested that you might want to make your helper class subclass Fixture20:59
mwhudsonto make the transition away from layers that smidgeon easier20:59
jammwhudson: I'd be happy to if I understood Fixture. Can you give any pointers there?21:00
mwhudsonjam: http://pypi.python.org/pypi/fixtures/0.3.221:00
flacostelifeless: hi21:01
mwhudsonjam: oh yeah, at the atexit calls are a bit crazy21:01
lifelessflacoste: hi21:06
flacostelifeless: skype?21:07
lifelessyes, its hanging there o connecting21:07
mwhudsonjam: i posted another comment on the mp21:09
=== salgado is now known as salgado-afk
wgrantabentley: The chroot *does not provide security*.21:57
wallyworld_morning22:05
abentleywgrant: elmo appears to believe otherwise, because he didn't have a problem with it being possible to run that code inside a chroot on a non-VM machine.22:09
wgrantelmo: We install build-deps as root. Are the buildd kernels somehow protected from usual chroot escapes?22:12
rockstarmars, gary_poster, FYI, I've seen your emails, and will make sure you have a reply in the morning.  Is that okay?22:15
gary_posterrockstar: absolutely.  thank you22:15
gary_posterrockstar: we're intending to have hands ready to work on this on Wednesday, so you know.22:16
LPCIBotProject db-devel build (81): STILL FAILING in 4 hr 7 min: https://hudson.wedontsleep.org/job/db-devel/81/22:34
=== Ursinha is now known as Ursinha-afk
mwhudsonConflict adding file lib/canonical/launchpad/apidoc.  Moved existing file to lib/canonical/launchpad/apidoc.moved.23:00
mwhudsonwhat *again*?23:00
benjimwhudson: that's my fault; a fix will be comitted momentarily23:02
mwhudsonbenji: heh, i don't know if it's worth fixing once the deed is done23:02
benjithere are other bits that *are* worth fixing :/23:03
mwhudsonhey guess what23:21
mwhudsonthere's a blueprints pagetest that's misnamed and not run by default (i think)23:21
mwhudsonsurprise surprise it fails23:21
mwhudsonah maybe not23:22
thumpertestfix mode :-(23:27
=== thumper changed the topic of #launchpad-dev to: Launchpad Development Channel | Week 1 of 10.11 | PQM is open | firefighting: - | https:/​/​dev.launchpad.net/​ | Get the code: https:/​/​dev.launchpad.net/​Getting
=== lifeless changed the topic of #launchpad-dev to: Performance Tuesday | Launchpad Development Channel | Week 1 of 10.11 | PQM is open | firefighting: - | https:/​/​dev.launchpad.net/​ | Get the code: https:/​/​dev.launchpad.net/​Getting
LPCIBotProject devel build (129): STILL FAILING in 3 hr 34 min: https://hudson.wedontsleep.org/job/devel/129/23:49
LPCIBotLaunchpad Patch Queue Manager: [r=edwin-grubbs][ui=none][bug=612754] remove the trailing whitespace23:49
LPCIBotas23:49
LPCIBotpart of the newline canonicalization when checking the GPG signature of23:49
LPCIBotincoming email23:49

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!