/srv/irclogs.ubuntu.com/2010/03/23/#launchpad-dev.txt

=== persia` is now known as persia
=== jamesh__ is now known as jamesh
* thumper EODs (for now), back tonight03:37
NCommanderIs there a good way to iterate thorugh SourceReleasePackage records? I need to iterate through ALL of them, download the source package, pop out the changelog, upload changelog to librarian, etc.03:59
NCommander(or at least, all published ones)03:59
wgrantYou'll probably have to use query using Storm directly.04:04
wgrantThere's no way to iterate over them all, AFAIK.04:04
NCommanderwgrant: ugh .... *groan*04:12
NCommanderwgrant: do I have to use Storm in writing migrationtools?04:13
* NCommander is not even sure how to attack this problem in a sane manner04:13
StevenKNCommander: Given the number of packages, is there a sane manner?04:13
NCommanderStevenK: I'm honestly not sure, since we're also including PPA packages in this04:15
StevenKNCommander: Do the math -- 9,000 * Dapper, Hardy, Jaunty, Karmic and Lucid times about 40% is still 18,00004:16
NCommanderStevenK: ugh ....04:17
NCommandermigration == PAIN04:17
NCommanderStevenK: (necessary pain, but still pain)04:18
persiawhy 9000?04:18
NCommanderStevenK: actually, we may want to include every source package so the changelog can be individually queried on a given SRP04:18
NCommanderThat requires discussion with BjornT, and bigjools04:18
wgrantWe don't have the files for lots of SPRs.04:19
NCommanderwgrant: we don't?04:19
NCommanderI thought ever SPR had at least a few files04:19
NCommanderfor the source packages anyway04:19
wgrantAll PPA sources that have been unpublished for more than a week, and all non-final primary archive versions from obsolete series.04:19
NCommanderwgrant: oh, that greatly reduces the numbers I was planning04:20
NCommanderwgrant: is there a special flag on SPR that states if there are files?04:21
wgrantNCommander: No.04:21
NCommanderi.e., published, superseeded, obsolete, etc.04:21
NCommanderugh04:21
* NCommander thought we had a removed from librarian status04:22
wgrantYou need to scan the LFCs of the LFAs of the SPRFs.04:22
wgrantSorry, the LFCs of the LFAs of the SPRFs of the SPRs.04:22
NCommanderwgrant: *blink*04:22
NCommanderow04:22
ajmitchneeds more acronyms04:22
* wgrant gives ajmitch a DASBPR04:22
mwhudsoni know let's switch launchpad to a nosql database that doesn't support joins!04:22
ajmitchwgrant: it's worrying that I know what that is04:23
* NCommander whacks mwhudson :-P04:23
NCommanderwgrant: https://edge.launchpad.net/ubuntu/jaunty/+source/hello/2.2-2 - they seem ot be there04:23
wgrantmwhudson: My NMAF optimisation does a 9 table join.04:23
wgrantNCommander: Jaunty isn't obsolete.04:23
NCommanderoh, d'oh04:23
NCommanderfail04:23
wgrantIt's possible that we only removed obsolete series' binaries. I reviewed the query, but really do not remember.04:24
* wgrant checks.04:24
NCommanderwgrant: https://edge.launchpad.net/ubuntu/feisty/+source/hello/2.2-1build1 - seems thats the case04:24
NCommanderyeah, the binaries were deleted04:24
wgrantOh, right, we kept the old primary sources just in case.04:25
NCommanderwgrant: that's a LOT of sources :-/04:25
wgrantAlthough they were very very close to being accidentally nuked.04:25
ajmitchperhaps to satisfy some legalities?04:25
wgrantajmitch: And to satisfy the bzr importer.04:25
NCommanderajmitch: we have to provide sources as long as we provide debs, so as long as old-releases exist ...04:25
wgrantNCommander: But old-releases still holds sources, doesn't it?04:25
NCommanderwgrant: oooh, bzr importer does pretty close to what I'm going to need to do, where's the source04:26
NCommanderwgrant: eh, I'm notsure04:26
ajmitchNCommander: I never knew if you were also required to provide sources for every package version published as well :)04:26
wgrantNCommander: It uses the API and stuff, though. You have DB access.04:26
NCommanderajmitch: legally speaking, we probably do as long as we distributed it on a release CD04:27
NCommanderthere's only a time limit to how long we provide sources if we use a written offer to get the source04:27
NCommander(at least on GPL'ed sources)04:27
NCommanderOther licenses, YMMV04:27
NCommanderwgrant: re: bzr importer: but it had to iterate on all SPRs, and if it uses the API, won't be cleaner?04:29
wgrantNCommander: But you need to get the SPR from the DB to set the changelog.06:42
NCommanderwgrant: wait, what?06:43
wgrantNCommander: The bzr importer doesn't have DB access.06:44
wgrantIt uses launchpadlib.06:44
NCommanderwgrant: ugh06:44
NCommandercrap06:44
wgrantYou can't set the changelog with launchpadlib, so you need DB access.06:44
NCommander*sigh*06:44
mrevellMorning all09:07
mwhudsongmb, allenap: have you seen ParallelLimitedTaskConsumer (in the context of bugwatch updating)?09:33
allenapmwhudson: Yes, I looked at it briefly yesterday after I saw your message on IRC. That works with the job runner doesn't it?09:34
mwhudsonallenap: no, it's not at that level09:34
allenapmwhudson: Okay, I'll look again.09:34
mwhudson(the branch puller uses it, and that doesn't even connect to the database)09:35
NCommandermwhudson: your up late :-/09:35
mwhudsonNCommander: a bit yeah09:35
mwhudsonNCommander: why don't i look at that branch of yours09:35
mwhudsonNCommander: it must be a considerably sillier time of night for you09:35
NCommandermwhudson: can't sleep unfortunately09:36
mwhudsonNCommander: :(09:36
NCommandermwhudson: insommia == suck09:36
allenapmwhudson: Would this be a replacement for the ThreadPool stuff I've done in TwistedThreadScheduler?09:41
mwhudsonallenap: maybe09:41
* mwhudson has to go away sorry09:41
allenapmwhudson: Thanks for the pointer, bye :)09:41
mwhudsonallenap: talk to jml maybe09:41
allenapOkay.09:41
=== stub1 is now known as stub
deryckMorning, all.10:06
wgrantbigjools: Did you inspect any of the data collected by the script yesterday?10:07
NCommandermwhudson: thanks for taking a look at the branch again10:08
bigjoolswgrant: no10:17
bigjoolswell, I looked at a few rows in the table but didn't closely check10:18
NCommanderWhen are data migrations done usually? (i.e., importing changelogs into librarian and updating the SPR record)10:34
wgrantNCommander: That's a special one -- it can be done at any time after the release, and will take a long while.10:39
NCommanderwgrant: I wonder if we're looking at hours, days, or weeks :-/10:40
=== stub1 is now known as stub
wgrantNCommander: We're probably looking at around 200000 sources.10:43
NCommanderbigjools, wgrant: so it sounds like to me, to migrate the changelog data, I'm going to need a script that uses Storm to access the DB, access each SRP where changelog = NULL, download the source package, pop out the debian/changelog, upload to librarian, update the SPR and then go on to the next record10:44
NCommanderwgrant: that seems low ...10:44
jmlallenap, what?10:45
bigjoolsNCommander: sounds about right to me10:45
NCommanderbigjools: I assume at some point we may want to do this for copyright data as well?10:46
wgrantNCommander: There are only ~18000 primary sources per series, multiplied by a couple for the non-final versions, multiplied by say 10 for the number of releases, excluding most of those before Dapper (they weren't in LP).10:46
bigjoolsNCommander: you can make it faster by using store.execute()10:46
wgrantThen 30000 published PPA sources.10:46
NCommander(I think stub would be very happy to make the database loose several GiB of data)10:46
bigjoolsI don't care about PPA sources10:46
NCommanderbigjools: hrm ...10:46
NCommanderbigjools: we don't? I thought part of native sync sources was to let us go PPA -> main archive with a button click10:47
allenapjml: mwhudson mentioned ParallelLimitedTaskConsumer as (maybe) another/better way to solve the problem in checkwatches, of half-way Twistifying it.10:47
bigjoolswe also need to be very, very wary of the increase in librarian disk space required10:47
wgrantbigjools: The construction time for the few million Storm objects is going to be negligible compared to extraction time.10:47
bigjoolsI think the losas would quite like an estimate10:47
jmlallenap, oh yes10:47
stubbigjools: Its easier to scale the Librarian than scale PG.10:47
bigjoolsNCommander: well I meant historic PPA sources10:47
jmlallenap, do you want to run a bunch of tasks in parallel but with limitations until there's nothing left to do?10:47
allenapjml: We don't have time for it now, but yes, it does look interesting. It's working for now :)10:47
NCommanderbigjools: oh, of course.10:47
NCommanderbigjools: if we did the entire PPA history, I think the datacentre would probably implode10:47
bigjoolswgrant: I am more concerned about exhausting memory10:48
wgrantbigjools: Historic PPA sources don't exist any more, so there's no question of that.10:48
allenapjml: Yes, basically. At the moment, because each task must always run in a thread, I'm just using a ThreadPool.10:48
jmlallenap, :(10:48
NCommanderstub: oh, so to answer your quesiton, yess, we will have NULLs for changelogs10:48
bigjoolswgrant: quite true10:48
allenapjml: But when we get time to switch to non-blocking IO then something PLTC looks more interesting.10:48
NCommanderbigjools: it sounds like where I'm sitting we should just attempt a changelog import wherever we have sources available, and make sure the code can handle changelog=NULL10:48
allenapjml: I've not looked at how it's used in LP, only at its implementation, so I'm not 100% sure how it's meant to be used.10:49
wgrantNCommander: I think that's all it's possible to do.10:49
bigjoolsNCommander: +110:49
jmlallenap, the implementation is surprisingly hairy for a simple concept.10:49
NCommanderbigjools: great, now I need to figure out how to write it :-/10:49
bigjoolsNCommander: good luck :)10:49
allenapjml: PLTC or the one in checkwatches? If PLTC, I agree! ;)10:50
jmlallenap, concurrency is hard. luckily you're using threads so you can pretend it isn't.10:50
NCommanderbigjools: (I think raw_source_changelog will probably land this week in db-devel, I got a stub +1, just waiting on BjornT and the second code review)10:50
wgrantNCommander: Stealing code from archiveuploader will make your job very easy.10:50
NCommanderwgrant: which code?10:50
allenapjml: Yeah, that's the approach we're taking for now. Ear defenders and blinkers at the ready.10:50
* NCommander notes ripping packages apart isn't that hard10:50
jmlallenap, actually, PLTC is perhaps an ideal candidate for an informative doctest10:50
wgrantNCommander: The code that takes a source package, grabs files into a temp dir (some from the DB), extracts them, and inserts the changelog into the DB.10:51
NCommanderwgrant: oh, the code we ripped apart last week :-)10:51
wgrantMost of it, yes.10:51
NCommanderwgrant: that wasn't the part I was worried about, I was more worried about iterating through the databsae, but I think thats just due to not knowing much of storm.10:51
allenapjml: You're right. I'm so used to doctests being muddled that I didn't even think to look for one.10:51
jmlallenap, it doesn't have one10:51
* NCommander isn't even sure how we can test the importer script sanely10:52
bigjoolsNCommander: juse use store.execute() and you can write raw SQL.  This is better in this case otherwise it will exhaust memory when caching objects.10:52
bigjoolsthis is a real problem in some scripts that iterate a lot of objects10:52
bigjoolsNCommander: we can test this initally locally on your laptop, then on dogfood10:53
NCommanderbigjools: fair enough, but I'm going to need quite a few joins to get all the files.10:53
jmlallenap, http://paste.ubuntu.com/399839/ is probably the best example10:53
NCommanderbigjools: my laptop has a small SSD. Your going to blow it up10:53
bigjoolsNCommander: welcome to Soyuz SQL10:53
bigjoolsNCommander: I have an SSD too.  Aren't they great? :)10:53
NCommanderbigjools: is that SQL or SOL :-P10:53
jmlallenap, the consumer just has an upper limit of parallel tasks and a logger. You tell it to consume from a "source" and it just runs whatever the source gives it until the source is exhausted10:53
NCommanderbigjools: I dunno, I didn't want to burn my out within a week10:53
NCommanderbigjools: this laptop takes 510 minutes to run the entire LP test suite (although it didn't swap doing it, which was nice)10:54
allenapjml: That's nice.10:54
bigjoolsthat's what guarantees are for :)10:54
bigjoolsNCommander: 510?!  jeez, mine takes about 18010:54
NCommanderbigjools: I dunno why it took so long.10:54
bigjoolshow much free memory and what cpu?10:54
NCommanderbigjools: 8 GiB of RAM + 2.2Ghz dual core processor10:54
NCommanderI'm thinking something must have hung for awhile10:55
bigjoolsyes10:55
NCommanderI got more failures than ec2test10:55
jmlallenap, the source just has to implement start(task_consumer) and stop(), and to call appropriate methods on the consumer when it has tasks. we've already implemented a polling source.10:55
* NCommander will probably setup a karmic instance or UEC on my old laptop10:55
* bigjools needs to go back to working now10:55
NCommanderbigjools: sorry to distract you :-)10:55
bigjoolsthat's my life10:55
jmlallenap, the nice thing for us is that other than the source, the rest of the code would be identical even if we had some kind of event-driven infrastructure (e.g. message queues)10:56
bigjoolsI have a dead desktop today, I'm upset10:56
jmlallenap, anyway, I'll let you get to it.10:56
NCommanderbigjools: ugh, what happened to it?10:56
* NCommander notes he's run LP onhis ia64 desktop before :-)10:56
bigjoolsNCommander: it powers up but the monitor doesn't wake up, no bios messages etc.10:56
allenapjml: I'm can't immediately imagine how that'll fit into checkwatches, but it probably will. Thanks for explaining it.10:56
jmlallenap, np.10:56
NCommanderbigjools: sounds like your mainboard died10:56
bigjoolsNCommander: I am thinking gfx card actually10:57
NCommanderbigjools: try the intergrated graphics?10:57
bigjoolsit was working last night until I tried to suspend it10:57
bigjoolsand hung on the way down10:57
wgrantbigjools: lp.services.buildfarm?11:15
bigjoolswgrant: possibly11:15
bigjoolsincreases finger strain though :)11:15
bigjoolsnaming is the hardest part of software engineering11:16
wgrantYes :(11:16
jmlfunding is the hardest part of software engineering11:18
bigjoolsfun is the hardest part of software engineering11:18
NCommanderbigjools: not with python; just import fun11:18
jml(or maybe I meant concurrency, or dealing with massive applications)11:18
bigjoolsno, naming stuff is still the hardest :)11:19
jmlbigjools, I'll respectfully disagree.11:20
bigjoolsjml: it's tongue-in-cheek11:21
jmlbigjools, :)11:21
wgrantWhat became of the generalised builder history discussion?11:23
bigjoolsongoing AFAIK11:24
bigjoolsit got a bit stuck on the fact that the translations jobs don't have a build record11:25
wgrantRight.11:25
wgrantAnd adding one is going to make everything even more horribly duplicated.11:26
* wgrant likes http://people.ubuntu.com/~wgrant/launchpad/buildfarm/new-build-model.png as a solution to that.11:30
bigjoolswgrant: yes, we had something similar in mind11:43
bigjoolsnoodles775 and I discussed this11:43
wgrantAh, good.11:43
bigjoolsI want to ditch the use of Job11:44
bigjoolsit's been a royal PITA11:44
wgrantYep.11:44
bigjoolsrunning intel gfx at 1920x1200 really shows up how awful the performance is :/11:49
wgrantLucid or otherwise?11:49
bigjoolsanything11:49
bigjoolslucid right now11:50
wgrantHmm.11:50
NCommanderbigjools: I've nevcer had an issue with intel gfx running two screens at about that resolution11:50
bigjoolsit's fine at laptop resolutions, but on external monitors it's quite sluggish11:50
wgrantMy old i915 drives a 1920x1080 TV fine.11:51
bigjoolsit could of course be kwin...11:55
* wgrant is reminded of the oddities in Wellington.11:56
bigjoolsbut what about the laptop?11:56
bigjools<rimshot>11:56
gmbDoes anyone have any idea why I'd be getting psycopg2 import errors on db-devel branches? AFAICT it's installed correctly but LP seems not to see it. Could it be connected with the buildbot failures we saw yesterday?12:03
wgrantjml: Hm, lp/__init__.py isn't exactly an obvious place for that documentation.12:06
jmlwgrant, it is if you are browsing API docs, I think.12:06
jmlwgrant, such as at http://people.canonical.com/~mwh/canonicalapi/index.html12:06
wgrantHm, those are nice.12:07
jmlwgrant, I reckon we could do a lot worse than emulate Bazaar, and have a doc/hacking/ directory12:08
jmlor however they spell it -- it's easy to find when you need it.12:08
=== mrevell is now known as mrevell-lunch
jmlI really really need to end this zope testing branch and figure out what the hell to do with these images12:11
bigjoolsgnargh, testfix mode12:11
wgrantjml: Any idea why http://people.canonical.com/~mwh/canonicalapi/lp.soyuz.interfaces.build.IBuild.html has only IBuildFarmJob linked, and none of the others?12:12
wgrantbigjools: That db_lp failure from four hours ago with me in the blamelist?12:12
jmlwgrant, backticks, I think.12:12
* bigjools is checking12:12
jmlwgrant, alternatively, it's because the others are backticked but lack sufficient context for pydoctor to find them12:13
wgrantjml: getFileByName' ILibraryFileAlias is backticked.12:13
bigjoolswgrant: test_sigusr2 failure?12:13
wgrantAnd IBuildFarmJob isn't imported in the other file.12:13
wgrantbigjools: No idea. I can't see buildbot failures.12:13
bigjoolsoh12:13
bigjoolslooks spurious12:14
jmlwgrant, in that case, I don't know. I *do* know that it's a bit of a black art, and that mwhudson is the person to ask.12:14
jmlheck, I don't even know if we have a convenience thing in tree to build those docs12:15
* wgrant didn't find one.12:16
bigjoolsjml: +1 for separate branch but it will be hard until we can split up LP better than it is12:18
jmlbigjools, it will be hard.12:19
wgrantThat sounds really really hard.12:19
bigjoolsbut totally necessary for a sane development experience12:19
jmlbigjools, it will always be hard. so will collaborating on a 350k line tightly-coupled Python app.12:20
bigjoolsthere are some strong arguments to make it more loose12:21
bigjoolsit also begs the question of why we made lib/lp/xxx in the first place12:21
jmlbigjools, to make the structure clearer.12:21
noodles775step-by-step12:22
bigjoolswhat structure?12:22
jmlbigjools, it then turned out that we had less structure than we'd hoped12:22
bigjoolsexactly :)12:22
jmlbigjools, but we had even less of an idea of that or the scope of that when everything was in one big directory12:22
jmlbigjools, also, I think that it's almost always a good idea to change your code to match the way you think about the problem space12:23
bigjoolsno arguments from me there12:24
jmlbigjools, in our case, we were talking always about "code" this and "bugs" that and "registry" whatever. the lp apocalypse has actually made our code clearer imo12:24
wgrantBut the API constraints make a complete split difficult.12:25
wgrantAnd the Soyuz<->Registry split is insane.12:25
bigjoolsI agree, but it's also pointed out the nightmare of tight coupling12:25
wgrant(although I guess most of the Soyuz-related methods in Registry have belonged on IArchive since archive-rework three years ago)12:26
bigjoolswgrant: it's a good idea to split it, the problems come because of other reasons12:26
bigjoolsyes12:26
jmlwgrant, API constraints are the biggest technical blocker I can see.12:27
jmlwgrant, bigjools: does the buildfarm code actually depend on stuff outside of the buildfarm?12:27
wgrantjml: Only a little.12:27
wgrantI've removed most of them.12:27
jmlso it wouldn't be _that_ hard to move to a separate branch12:27
wgranteg. BuildBase stuff depends on Archive.12:28
wgrantBut BuildBase could reasonably move to Soyuz.12:28
wgrantAnd the builder UI code is still in Soyuz.12:28
bigjoolswell12:28
jmlI mean, apart from the base level of hard involved in doing anything that changes our build & deployment processes.12:28
bigjoolsthere's probably room for another module between the buildfarm and soyuz12:28
wgrantjml: But splitting something out when it depends on the DB?12:28
bigjoolswhatever "soyuz" is nowadays anyway12:29
jmlwgrant, I don't see why that's an issue12:29
wgrantjml: Oh, also, buildmaster is currently tested with Soyuz objects, since it has no concrete job implementations of its own.12:29
wgrantWhat is the purpose of splitting it into a separate branch? It can't be run independently.12:32
bigjoolsideally it should be12:33
jmlwgrant, can't it? perhaps I misunderstand what it is.12:33
jmlI'd put the bloody buildd slave code in a separate branch first, tbh.12:33
wgrantIdeally it should be.12:33
wgrantBut it probably depends on DB details and blah blah blah.12:33
wgrantAlthough I guess it really needn't.12:33
bigjoolsthe only thing I know about is tachandler.py12:34
jmlwgrant, ideally it wouldn't, but that's not _actually_ a blocker12:34
bigjoolsotherwise it really should be ripped out12:34
wgrantWhy is tachandler not somewhere like Twisted?12:34
bigjoolsnfi12:34
jmlwgrant, a few reasons12:34
jmlwgrant, in fact, Twisted might have grown better APIs since we wrote tachandler12:35
jmlwgrant, it's not code that a lot of Twisted apps feel the need for.12:35
wgrantjml: Well, a few unrelated bits of LP do. What's so special about them?12:36
jmlwgrant, tbh, I don't know why we use it.12:36
jmlwgrant, other than for integration tests.12:36
* jml greps12:37
jmlReadyService, afaict could be in Twisted and is only really there to make testing easier (icbw of course)12:38
jmland TacTestSetup is essentially an API for manipulating out-of-process Twisted applications12:40
jmlwgrant, I guess someone could spend a few hours and end up by getting rid of tachandler12:44
jmlmaybe I'll take on splitting out the buildd code as my hacking task after I land the zope.testing upgrade and my poppy work.12:45
jmlwgrant, there you go, I asked on #twisted.12:48
jmlthat is progress.12:48
wgrantI should probably get my buildmaster cleanup branches into potentially mergable condition.12:51
jmlI should probably do some strategy today :)12:54
NCommanderwgrant: jml: any chance you can make the ABORT button work?:-)12:57
bigjoolsso, removing my gfx card and booting works fine - I just don't get a desktop :)12:57
wgrantbigjools: Ah, easy fix, good.12:57
NCommanderbigjools: hope that card is under warrenty?12:57
bigjoolswell easy, but expensive :()12:58
bigjoolsno, it's about 18 months old12:58
wgrantNCommander: The slave changes aren't hard. The main difficulty is working out how to transfer the request through the DB.12:58
wgrantDo we have new Aborting and Aborted DB statuses?12:58
bigjoolswe also need a CANCELLED12:59
bigjoolswe're abusing SUPERSEDED right now12:59
wgrantRight.12:59
bigjoolslamont will love whoever fixes that12:59
wgrantThis should probably be thought about in the schema redesign, if that ends up happening.13:00
wgrantSince it applies to all job types.13:00
bigjoolsyes13:00
bigjoolsbut as much as I hate it, the job status is a separate status to the build status13:01
wgrant+ALTER TABLE ONLY build ADD CONSTRAINT build__archive__fk FOREIGN KEY (archive) REFERENCES archive(id) on delete cascade;13:02
* wgrant cries.13:02
bigjoolsha, if I had a hdmi cable my desktop would be working, it has an onboard nforce 750a13:02
wgrantbigjools: It has onboard HDMI but not VGA?13:02
bigjoolsyep :/13:02
wgrantWTF13:03
bigjoolsyep :/13:03
jmlNCommander, abort button? what do I look like? a programmer?!13:03
bigjoolswgrant: gar, that one is wrong isn't it. Crapola.13:03
wgrantThat is a seriously fucking dangerous DB patch.13:03
bigjoolsoO13:04
wgrantOh, no, it does leave a constraint or two that will stop it cascading too far into other archives. Good.13:05
wgrant(If BPPH.binarypackagerelease had been altered to cascade... oh dear)13:06
bigjoolswgrant: so, I could make the Build.archive on delete NULL, but that's gonna break lots of shit13:10
* bigjools thinks13:10
wgrantThat's what I said last night :)13:10
bigjoolsso there's a few options13:11
wgrantThere is no precedent for doing this sort of thing.13:11
bigjools1. don't delete the archive13:11
bigjools2. delete the binaries13:11
bigjools3, ??13:11
bigjools4. profit13:12
* bigjools is fed up with people insisting that ppa deletion is easy13:12
wgrantDeleting the archive means deleting all sorts of stuff. Future copy logging will be difficult, PackageUploads (and thus all upload accountability information and changes files) will have to be removed...13:12
wgrantIt's not like a branch, which is one object, pontentially with a non-critical tendril attached to another branch.13:13
bigjoolsyes13:14
bigjoolshowever I feel very strongly that we should delete them in their entirety if at all possible13:14
jmlwgrant, stacking is a critical tendril13:15
wgrantI am in two minds about it. It's difficult and wrong, but also much cleaner.13:15
wgrantjml: But you deny in that case, don't you?13:15
jmlwgrant, maybe.13:15
bigjoolswe could delay the full deletion until the last PPA that uses another's packages disappears13:15
* jml really likes the infrastructure abentley set up for deleting branches13:15
bigjoolsI'm starving and I really like the fact that my fridge is full of food, bbiab13:16
jmlheh heh13:17
=== mrevell-lunch is now known as mrevell
stubYou can delete the things its safe to manually, and leave the constraints there to raise exceptions when necessary.13:48
kfogelintellectronica: you saw https://code.edge.launchpad.net/~kfogel/launchpad/78565-bug-comment-link-to-bug/+merge/21896 ?14:00
dobeyhi all. i'm having some trouble filtering bugs for rhythmbox-ubuntuone-music-store (Ubuntu). they seem to be getting past my procmailrc filter (though all other Ubuntu bugs are being filtered just fine)14:04
maxbHi dobey. Perhaps you mean to be in #launchpad ?14:05
dobeybut for rhythmbox-ubuntuone-music-store bugs, there seems to be a newline inside the header... perhaps causing procmail to not interpret the header properly?14:05
dobeymaxb: no, i don't think so. this seems to be a bug in the launchpad bug mail creator14:07
maxbPlease paste the mail headers to a pastebin.14:07
bigjoolswgrant: still around14:10
bigjools?14:10
dobeymaxb: http://pastebin.ubuntu.com/399993/ <- this is from one mail that's failing14:14
dobeymaxb: and http://pastebin.ubuntu.com/399994/ is from a mail that is successfully filtered14:15
maxbdobey: I believe that's header folding, as specified by rfc2822.14:16
maxbI.e. it's your filter's fault14:16
maxbsorry14:16
dobey* ^X-Launchpad-Bug: distribution=ubuntu; sourcepackage=\/[^;]+14:17
dobeythat's the filter... and it works for the 59 other Ubuntu packages that i've gotten bug mails for14:18
dobeyi'm just trying to understand what the difference is14:18
intellectronicakfogel: i did, and for some reason i thought i approved it. it was early in the morning so i was probably confused. r=me and will tick the mp now14:18
dobeyand others seem to have 'folded headers' too14:18
thekorndobey: the "\n " between distribution=... and sourcepackage=14:19
dobeyoh right14:20
dobeyblah14:20
maxbdobey: A fully compliant filtering solution would apply rfc822 unfolding before applying regexps to header values.14:22
maxbOOI, do db patches ever get renumbered, or is the idea that the DBA only assigns them a real version number when they will be nearly guaranteed to land in the upcoming dev cycle?14:34
BjornTmaxb: the db patch numbers aren't version numbers. they are more like identifiers. it doesn't matter of a db patch gets a number and never lands.14:41
maxbBut, they do control the relative ordering of patch application14:41
maxb(right?)14:41
BjornTmaxb: yes. so in theory it could cause problems not landing them in order, but not really in practice. i can't ever recall that causing a problem.14:48
bachi leonardr15:15
leonardrhi bac15:16
leonardri'm on the phone but type away15:16
bacleonardr: when using utilities/ec2 i'm getting the "File name too long" error from httplib2.  you did a fix for that in lazr.restfulclient.  should it not be in 0.9.12?15:17
leonardrbac, i'd think so15:18
bacleonardr: your fix was on 2010-02-09 so it should've been in 0.9.11 and definitely 0.9.1215:20
leonardrbac, give me any information about the failure you can15:20
bacleonardr: http://paste.ubuntu.com/400029/15:21
james_wleonardr: is there a way to test the wadl that is generated for a particular entry from the LP test suite?15:28
james_wleonardr: I have to make a change, but the current tests pass and they use the webservice calls in the story tests, and show that the representation is correct. The bug is that the wadl is incorrect.15:29
leonardrjames_w: unfortunately you are #4 in line15:33
marssinzui, quick question: if I have a bug about a page's HTTP cache headers, should that bug go against launchpad-web or launchpad-foundations?15:44
sinzuifoudations15:44
=== salgado is now known as salgado-lunch
marssinzui, so launchpad-web is for UI only?  Not browser mechanics?15:45
sinzuimars: web is for css/markup issues that are common to all applications. web is thus about the site design15:45
marsright15:45
sinzuimars: no mechanics. these bugs should be fixable by designers15:45
marshmm, good category15:46
marsI was going through the list of bugs tagged CSS, and a number fell into that category.15:46
marsThere were three categories IIRC: inconsistent application of the LP style, stuff where the current UI design can't cope with the data, and browser-specific display issues15:47
sinzuiyes, I came to that understanding when I triaged the bugs gary_poster was uncertain of.15:47
sinzuiI note that users started putting application specific bugs in launchpad-web. I moved them to the specific app15:48
=== matsubara is now known as matsubara-lunch
marshmm. orthogonal concerns: responsibility, and category15:49
bacleonardr: i see in your safename replacement you limit to 117 (152-32-1) so it is less than 150.  but that is just limiting the key portion.  httplib2 then adds the cachedir name to it, which in my case is 52 characters15:50
bacleonardr:         cacheFullPath = os.path.join(self.cache, self.safe(key))15:50
leonardrbac: i see. you have a long cachedir name16:05
bacleonardr: not really.  it is the default.  yours would be longer.  (leonardr > bac)16:06
bacleonardr: i'll open a bug16:06
leonardris it the path name that is limited or the filename?16:06
baccurrently on the key is limited16:07
leonardri meant in the underlying ecryptfs filesystem16:07
=== deryck is now known as deryck[lunch]
leonardrjames_w: i'm not sure what you mean by the wadl generated for a particular entry. do you mean the wadl representation of /~leonardr? i suspect you mean something else but i'm not sure what, nor which wadl is incorrect16:10
james_wleonardr: the wadl declaration for ICodeImport is incorrect16:14
james_wit asserts there will be a "branch" parameter, when there is in fact a "branch_link" parameter16:15
james_wI know the code fix, but I don't know how to test it from that angle16:15
james_wI could do a test that ICodeImport.branch is a ReferenceChoice and not a Choice, but that doesn't seem ideal16:15
james_wthe issue is that lazr.restful changes its behaviour between the declarations and the marshalling when the attribute is an entry, but not declared with the extra information of a ReferenceChoice16:17
* james_w heads for some lunch, any suggestions welcome16:19
leonardrjames_w: ok, i need to think about this16:19
bdmurrayHow can I know when my branch is rolled out on edge?16:37
bigjoolsbdmurray: if you know the revision number that it landed with, you can compare against the rNNNNN at the bottom of each edge page16:38
bacleonardr: https://bugs.edge.launchpad.net/lazr.restfulclient/+bug/54519716:38
mupBug #545197: Cache file paths are too long for encryptfs <lazr.restfulclient:New> <https://launchpad.net/bugs/545197>16:38
bdmurraybigjools: I was hoping for a notification not something I'd have to check ;-)16:38
bigjoolsbdmurray: ah :)  edge is normally gets rolled out each day16:39
bigjoolsand please correct my English16:39
bigjoolsbdmurray: if there was a bug linked to the branch, you'll see its status change when it sees the branch on edge or staging16:40
bdmurraybigjools: okay, awesome that'll work16:41
leonardrbigjools: the problem is a misconfiguration on dogfood16:41
leonardrthe service root for the 'api' virtual host needs to have its /beta/ removed16:41
bigjoolsleonardr: ah ok, where do I edit that?16:42
leonardrbigjools: launchpad-lazr.conf16:43
leonardr[vhost.api].rooturl16:43
leonardryou _also_ need to remove /beta/ from your dogfood root url, or launchpadlib's first request will fail16:44
leonardrif you remove /beta/ from lputils.py but don't change dogfoot, the first request succeeds and the second one fails16:44
leonardrif you fix all this and dogfood credentials still aren't written to disk, let me know16:46
* bigjools is trying now16:48
=== beuno is now known as beuno-lunch
leonardrjames_w: ok, i understand what you're asking for16:53
=== matsubara-lunch is now known as matsubara
leonardrif you look at lib/canonical/launchpad/pagetests/webservice/xx-wadl.txt you'll see a test that retrieves the wadl description of launchpad and does minimal tests to it16:58
=== salgado-lunch is now known as salgado
leonardrif you look at lazr.restful/src/lazr/restful/example/base/tests/wadl.txt you'll see a more detailed test that dissects a wadl file16:58
leonardryou could use an xpath selector to grab the part of the wadl file you want to examine16:59
leonardrbut you might like this idea better17:00
leonardrthe launchpad wadl description is transformed into an html document17:00
leonardrlib/canonical/launchpad/pagetests/webservice/apidoc.txt grabs that html document and prints it out17:01
leonardryou could do something similar to verify that branch_link shows up under code_import17:01
leonardrso you have several options17:01
bigjoolsleonardr: ok, success on dogfood!  Thanks very much.17:02
leonardryay17:02
=== deryck[lunch] is now known as deryck
=== beuno-lunch is now known as beuno
=== gary_poster is now known as gary-lunch
=== salgado_ is now known as salgado
james_wleonardr: what about ObjectLookupFieldMarshaller  checking for field.schema? Would that be too intrusive?18:01
james_wleonardr: the idea being that it would refuse to unmarshall something that wasn't declared as a ReferenceChoice, and so not cause the skew between the wadl and the representation?18:02
mrevellnight18:06
leonardrjames_w: that might be a good way to stop errors from begin committed, since the normal wadl test would fail18:08
leonardrtry it and see if it interferes with existing tests18:08
james_wok, but I'm not keen on having to deal with eggs and buildout :-)18:09
leonardrjames_w: if you just want to try it, change the code in your existing lazr.restful egg18:14
leonardr~/.buildout/eggs/lazr.restful.*/...18:14
leonardrit'lll take effect immediately18:14
james_wah, cool, thanks18:16
bacUrsinha: i approved your MP18:31
bacthanks18:32
Ursinhabac: oh, thanks :)18:33
cody-somervillewgrant, ping18:49
=== gary-lunch is now known as gary_poster
mwhudsongood morning19:01
=== EdwinGrubbs_ is now known as EdwinGrubbs
jmlmwhudson, hi19:17
jmlmwhudson, I need an answer for you re https://code.edge.launchpad.net/~jml/launchpad/update-ec2-image/+merge/2180419:17
* mwhudson hadn't noticed it was back in question land19:19
mwhudsonoh, "do we need to support karmic"19:19
mwhudsoni guess not19:19
mwhudsonjml: replied19:19
jmlmwhudson, thanks. :)19:20
bacleonardr: so the 144 limit you discussed with dustin is just for the name portion, not including the path?19:23
mwhudsonjml: "someone" should write a twisted success story for launchpad19:31
leonardrbac: right, the path limit is more like 4096 characters19:44
bacleonardr: ok.  sorry then for the red herring in the bug report19:44
leonardrnp, it worked out19:44
=== EdwinGrubbs_ is now known as EdwinGrubbs
didrocksgmb: flacoste: hey o/ will it be possible to finish the second merge review on exposing ssh key this week (https://code.edge.launchpad.net/~didrocks/launchpad/expose-sshkeys-bug-357235/+merge/20995)? it prevents me from uploading last Quickly into ubuntu20:01
james_wis anyone else seeing a failure in lib/canonical/launchpad/ftests/../doc/webservice-marshallers.txt ?20:24
james_wI'm getting a TypeError on devel20:26
=== salgado is now known as salgado-brb
james_wmake clean && make hasn't fixed it, and neither has anything else I have tried21:48
james_wwould someone try running "./bin/test -cvvt lib/canonical/launchpad/ftests/../doc/webservice-marshallers.txt" in a (fairly) up to date copy of devel?21:49
gary_postersinzui: would you mind helping me categorize the following as registry,  foundations,  or something else? https://bugs.edge.launchpad.net/launchpad-foundations/+bug/231797  It doesn't feel terribly foundations-y to me, but I'll take it if you think it's appropriate.22:03
mupBug #231797: no sensible way to use debian/watch files with launchpad hosted tarballs <Launchpad Foundations:New> <devscripts (Ubuntu):Invalid> <https://launchpad.net/bugs/231797>22:03
=== matsubara is now known as matsubara-afk
wgrantcody-somerville: Hi.22:11
wgrantjames_w: What's the failure?22:12
james_wTypeError: a float is required22:14
wgrantMore traceback?22:14
james_wcanonical.launchpad.webapp.adapter.set_request_started() isn't being called, or some variation on that22:15
wgrantHm. You've updated sourcecode and download-cache and everything lately?22:15
james_wand I can't see what is supposed to call LaunchpadBrowserPublication.beforeTraversal22:16
james_whmm, I haven't done sourcecode22:16
wgrantIt'll be somewhere in Zope, probably.22:16
james_wyeah, that's my problem :-)22:17
mwhudsonjames_w: i get the same22:22
james_whooray!22:22
james_wwell, not really, but I'm glad I'm not alone in this ;-)22:23
mwhudsonhttp://pastebin.ubuntu.com/400246/22:23
james_wyep22:25
* mwhudson tries db-devel too22:25
james_wupdated sourcecode and download-cache, did make clean && make and still see it22:28
james_walso, why isn't buildbot complaining?22:29
mwhudsonlucid vs hardy maybe?22:30
james_wthat's possible22:32
james_wI haven't upgraded any packages since this test was working, so I think there is a code change associated too22:33
mwhudsonfails in db-devel too22:34
mwhudsonjames_w: i guess email the list and see what is said there22:51
=== salgado is now known as salgado-afk
mwhudsonjames_w: it fails for me too in production-devel which suggests some environmental change to me23:04
mwhudsonand test failures from ec223:05
james_wright23:05
* mwhudson grumps off to lunch23:05
* maxb runs 'lpnochange python-apt', and is very happy to have scripted these rebuilds23:20
wgrantWasn't staging meant to be moved to Lucid reasonably soon?23:27
mwhudson"reasonably soon after release" i think?23:30
wgrantI thought it was meant to be before release.23:31
wgrantBut I heard that a few months ago, so things might have changed.23:31
maxbIt would seem a bit odd to run a beta distro in the datacentre?23:32
lifelessmaxb: why ?23:44
maxbWhat's the rush?23:44
wgrantTest.23:44
wgrantMake it less disastrous than Hardy.23:44
wgrantThat sort of thing.23:44
lifelesscan't make changes to lucid after it releases23:44
lifelesscan't tell if its suitable for the dc if we don't deploy it23:44
wgrants/can't/shouldn't/23:44
wgrantMuch better to get the applications running on it semi-production now.23:45
lifelesss/cant'/won't/ then23:45
wgrantlifeless: Hardy proved otherwise.23:45
maxb?!23:46
wgrantHardy had far too many SRUs right after release. That showed that there wasn't enough testing, as usual.23:47
wgrantThe more testing Lucid gets in real environments before release, the better.23:47

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