/srv/irclogs.ubuntu.com/2011/02/28/#launchpad-dev.txt

wgrantlifeless: One could say the same for any other sourcecode change.00:02
wgrantWe could probably have make check that.00:02
wgrantDo a no-op update-sourcecode run00:02
wallyworldlifeless: how do you get the query count to show in the top right corner of the page?00:04
wgrant'visible_render_time default 0 on'00:05
wallyworldwgrant: thanks00:05
wgrantStevenK: Is this for the base version thing?00:05
lifelesswgrant: that might be nice00:05
lifelesswgrant: shipit is particularly weird though because it breaks on zcml, not on $specific tests.00:06
wgrantlifeless: bzr-builder is also very good at breaking model imports.00:06
lifelessah00:06
lifelesswgrant: anyhow, yes, these things all need communication :)00:07
lifelessor we could stop using source code00:07
wgrantHeh, good luck with that.00:07
wallyworldwhy do we use source code and not eggs for that stuff?00:08
StevenKwgrant: Yes00:09
wgrantwallyworld: eggs came along much later.00:09
wallyworldand we don't want to go in and eggify the source code stuff...?00:09
wgrantWell, I don't really like eggs.00:10
StevenKAnd everytime shipit is moved into an egg, it breaks and leaves this rotten smell ...00:10
wallyworldwgrant: what is your preference to eggs?00:10
lifelessgrah00:11
wgrantwallyworld: Real packages are nice, because they aren't programming languages feeling that they need to reinvent the package manager :)00:11
StevenKWe have 3 ways to inject dependencies into our tree: eggs, sourcecode and binary packages from the PPA.00:11
lifelesssample branches are not scanned00:11
lifelessno wonder its approximately useless.00:11
wgrantAlso, real packages don't involve downloading unsigned code over HTTP.00:11
StevenKwgrant: You mean that doesn't give you a warm fuzzy feeling? :-P00:12
wallyworldwgrant: yes, but python has eggs, java has jars etc - it a common paradigm. i can see the point of keeping such things separate from the overhead of a full blown package that is not universal across os's rpm vs apt etc00:13
wgrantIt is a common paradigm, but it also fucking stupid.00:13
wgrant:(00:13
wallyworldwgrant: you forgot IMHO :-)00:13
StevenKIt isn't just his opinion.00:13
StevenK*Anyone* who has done a bunch of distribution work shares it.00:14
StevenKExcept lifeless, because he's special.00:14
thumper:-( :-( make: *** [check] Error 100:14
thumperI tried running ec2 test --attached00:15
thumpereverything seems to pass00:15
thumperthen I get this ^^^00:15
thumperI had several detached ec2 test runs,00:15
wallyworldi haven't done any distribution work so i don't yet appreciate the drawbacks of eggs etc. all i see are packaging overheads and competing implementations00:15
wgrantthumper: Full output pls.00:15
thumperand they all fail00:15
StevenKwallyworld: So, we have a wheel. It's round, it mostly turns without issues, but it has been reinvented by PyPI, CPAN, Gems, ...00:15
spivwallyworld: you can't win, really00:16
wgrantAnd then the reinventors of the wheels decide that they don't want anything to do with distributions.00:16
wgranteg. Ruby00:16
thumperwgrant: I've emailed it to you00:16
wgrant"lol, why would people want distribution packages? end users should use gems"00:16
StevenKIt seems to be a bunch of NIH to me00:16
spivwallyworld: random python upstreams of course would rather not learn new packaging tools and conventions for Debian, OS X, Windows, etc...00:16
wallyworldi'm hit, bleeding badly, can't hang on much longer, copping it from all directions.....00:16
StevenKwallyworld: Well, you did just jump up and wave your shirt in the air and yelled "I'm over here, come get some!"00:17
spivwallyworld: but at the same time Debian, Fedora, OS X, etc don't want dozens of non-cooperating packaging systems where one would do00:17
wgrantthumper: That is a little bit special.00:17
wallyworldspiv: i guess that's one of my points - each os has it's own packaging mechanism, vs eggs for python which is universal00:17
wgrantwallyworld: Universal... for Python.00:17
spivwallyworld: it's the "for Python" bit that's the killer00:18
lifelessStevenK: uhm, don't malign me please.00:18
spivwallyworld: what happens when a Python package depends on a C library00:18
StevenKAnd then never mind rpm vs apt vs emerge ...00:18
spivwallyworld: etc :)00:18
lifelessStevenK: I *loath* gems jars eggs etc00:18
StevenKlifeless: I was poking fun, not trying to do so00:18
lifelessStevenK: and I've been pretty vocal about that00:18
lifelessI would love to just use debs for lp dependencies.00:18
wgrantthumper: Ah, there it is.00:19
StevenKlifeless: Hm. I had you in my mind as the other way -- so noted, sorry00:19
wallyworldspiv: fair point. if only each os would stop adopting it's own packaging implementation00:19
wgrantthumper: There are failures in the stream.00:19
lifelessbut the deb python maintainers want *upstream* to decide on how to handle conflicting APIs for multiple versions of the same package on disk00:19
lifelessStevenK: which is never ever ever ever ever going to happen00:19
wgrantthumper: But the summary doesn't show them because of a bug I'm currently writing a test for.00:19
spivwallyworld: if only each os was a derivative of Ubuntu :)00:19
thumperwgrant: why aren't they in the email?00:19
lifelessbecause python folk wave the virtualenv magic flag00:19
lifelessthe result is that every python transition is lockstep00:20
wgrantthumper: jml broke it when he added ec2 list.00:20
lifeless(and I don't mean python VM, I mean individual packages00:20
wgrantThe fix is easy, but a test is slightly harder.00:20
StevenKPackage management is hard00:20
lifelessand that results in us not being able to shift dependencies at all, which is why we're not using debs.00:20
lifelesssee for instance my threads on debian-python (both direct and through folk I've been poking about this)00:20
lifelessStevenK: its easy if we accept that upstream have different drivers than us00:21
StevenKWell, we're using a mix of debs, eggs and source trees00:21
wgrantAnd random things that people thought it was a good idea to import into the tree.00:21
StevenKwallyworld: Do you see why we don't discuss this often?00:21
wgrantHeh.00:21
StevenKwgrant: :-(00:22
wallyworldStevenK: yeah, i had no idea what a feeding frenzy it would create. wow :-)00:22
lifelessStevenK: and the debs give us routine production fail, the source treess toolchain isn't being fully used and the eggs we have to cripple the toolchain because we like verified code00:22
StevenKBaptism of Fire, part #5858500:22
_mup_Bug #58585: Installer is crashing (all disk activity stops) at scanning mirror message <ubiquity (Ubuntu):Invalid> < https://launchpad.net/bugs/58585 >00:22
lifelessStevenK: but you forgot, we *also* use:00:22
lifeless - bundled code in hidden bits of the tree00:22
* thumper sighs00:23
wgrant - more bundled code in other better hidden bits of the tree.00:23
StevenKlifeless: The debs only fail because there seems to be this magical step where packages jump from the PPA into CAT ....00:23
wgrantStevenK: The main problem is the multiple versions issue.00:24
lifelessStevenK: thats not the fail00:24
lifelessStevenK: the fail is when version A and version B are incompatible with each other as far as LP is concerned.00:24
lifelessStevenK: we then have to simultaneously upgrade the LP tree at the same time, or we have a fail00:24
StevenK:-/00:25
lifelesswhich means a more complex rollout - take the entire appserver machine offline, (== 20% drop in capacity - when we are already overloaded), upgrade debs, deploy new LP, bring the servers back online00:25
lifelessStevenK: what we need is what C/mono etc libraries have - sonames.00:26
lifelessthen we can install the new debs, lp ignores them, and then we upgrade lp to one that uses the new debs, bingo it works.00:26
lifelessStevenK: in a java world things like e.g. osgi go a long way toward this00:26
StevenK... or write code that can work with both version of the code. But I understand that isn't always possible.00:26
lifelessbut in python 'import' is global, there is no built in concept of 'library version' - you cant say 'import bzrlib 2.2 as bzrlib'00:27
lifelessand the plumbing for this goes deep00:27
lifelessStevenK: its both not always possible and its /harder/00:27
wallyworldosgi rules!00:28
lifelessgiven the choice of two ways to achieve something, only particularly opinionated or previously burnt folk will choose the harder way.00:28
lifelesswallyworld: for all its mind bending stuff, yes, yes it does.00:28
lifelessso its a long term goal for me to beat enough sense into python to permit this00:29
lifelessor JFDI a workaround in the distro using pkg_resources.require()00:29
wgrantThat could work.00:29
lifelessbut I suspect we'd end up auto rebuilding the entire python stack00:29
wgrantWhat is Fedora doing about this sort of thing?00:29
lifelessbecause the debian python group /don't get it/00:30
lifelessbecause they are thinking desktops and 'upgrade every 5 years' style server environments.00:30
lifelesswgrant: I've not seen anything - reality is most folk deploy python stacks using eggs / the django thingy / virtualenv etc - for the previously discussed reasons.00:31
lifeless*and* most really agile things I've seen are php or java, not python, so there isn't that much web world pressure on distros to fix this00:31
lifeless(because python is 10 times slower than either php or java)00:31
StevenKTo write, run, deploy, or all three?00:32
lifelessall three00:32
lifelessdeploy is about equal actually00:32
lifelessphp apps tend to be very lean00:33
lifelessjava apps aren't, but they have -wonderful- tooling around development00:33
lifelessand for execution time, php and java eat python for breakfast and lunch00:33
lifelessthe only /serious/ python thing at *scale* I know of is youtube : and they don't run CPython, rather they run bleeding edge experimental binaries00:34
StevenKWe aren't serious?00:34
lifelessStevenK: we're tiny00:34
lifelessStevenK: all our problems are self inflicted00:34
lifelesswe've < 1/2T of data00:35
james_wwgrant, I think Fedora still haven't got so supporting multiple versions of the python runtime, so I don't think they've tackled this00:35
wallyworldlifeless: python has good development tooling too. you don't *have* to use emacs :-P00:35
wgrantjames_w: Hah.00:35
lifelessa single (very high end) commodity PC server can run our entire backend load00:35
wgrantAnd I'm not going to ask about other distros like Arch... given that they've switch /usr/bin/python to 3.x.00:35
lifelessStevenK: we have the potential to be serious if we get our shit sorted and /fast/00:36
lifelessI will be delighted when we start getting user adoption scale problems00:36
wgrantA year ago I would have said we were doomed to be slow forever.00:36
lifelessrather than 'oh and we don't delete obsolete data' scaling issues.00:36
wgrantBut I think that may not be the case.00:36
lifelesswgrant: I wouldn't have taken the job if I thought it was insoluable00:36
lifelessbah00:36
lifelessunsolvable00:36
wgrantlifeless: Yes, but you are crazy :P00:37
StevenKIt doesn't dissolve in water either00:37
wgrantYet very effective.00:37
* StevenK peers at subunit00:37
StevenKsubunit-filter's default operation is to strip sucessful tests. Except one turns up ...00:39
StevenKI just love how the Australian Tax Office can give a recorded message saying that they are too busy to take the call ... for 3 weeks solid00:42
lifelessStevenK: if the stream gets corrupted by things printing to stdout00:44
StevenKlifeless: Such as test failures?00:44
lifelessStevenK: you can see what looks like something being not-filtered, whenthe parser actually thinks 'this is junk'00:44
lifelessStevenK: test failures shouldn't print to stdout, the raise exceptions internally00:44
lifelessStevenK: you can see if this is the case with --no-passthrough00:45
lifelessthat will squelch what subunit thinks is chatter on stdout00:45
StevenKI'm already using --no-passthrough00:45
lifelessmm00:45
lifelessthen if you're seeing a success,00:45
lifelessah perhaps a skip ?00:45
lifelesssome things fold skip to success00:45
lifelessand older subunit had a bug in that area00:45
lifelesstry --no-skpi00:45
StevenKAhh, no, it's these tests00:46
StevenKThere are two are cunningly named00:46
lifelesswoo, another stab at timeouts complete00:46
lifelesslp:~lifeless/launchpad/bug-72295600:46
lifelessI need a review https://code.launchpad.net/~lifeless/launchpad/bug-722956/+merge/5148100:50
lifelessdiff is generating still00:50
SpamapSlifeless: so.. curious.. how hard is it to setup a project as a distro w/ source packages and such?00:52
wgrantlol00:53
lifelessSpamapS: impossible00:53
lifelessSpamapS: starting this week julians team is working on making it possible00:53
lifelessSpamapS: a lot of ground work is in place00:53
lifelessthey were interrupted by the reorg00:54
lifelessStevenK can tell you how much work remains00:54
StevenKLots00:54
wgrantTonnes.00:54
lifelesso/~ I need a review o/~ to the sound of 'I need a hero'00:54
wgrantGetting it working isn't that hard. Getting it effectively usable is another thing.00:54
StevenKI'm working on low-level plumbing00:54
SpamapSlifeless: ahh.. thats good.. I think the principia ensemble project I started is going to need package tracking.00:54
lifelessare they actually packages ?00:55
lifelessor just vaguely similar00:55
SpamapSthey're called formulas..00:55
lifelessshould be called instruments00:55
lifelessor scores00:55
lifelessanyhow ;)00:55
wgrantHeh00:55
SpamapSlifeless: agreed.. would have been much cooler. :)00:56
SpamapSthough if it hadn't been formula.. I wouldn't have been able to come up with the name Principia Ensemble00:56
lifelessSpamapS: if they are similar but not the same, then I wouldn't shove them in as packages - packages are tied up in the whole package building machinery00:56
SpamapSlifeless: yeah I don't need that.. I just need sub trackers00:56
wgrantOr do you just want the bugtracking aspects of source packages?00:56
lifelessSpamapS: think crisp and clean; we can bring up a dedicated interface pretty directly.00:56
wgrantRight.00:56
lifelessSpamapS: project groups do that, but the components are 'project' which is pretty big.00:57
lifelessif we were to refine 'bug.target' we could do subtrackers on projects quite easily.00:57
SpamapSYeah I'd expect there to be 300 - 500  formulas00:57
lifelessthats the sound of 20 engineers screaming at me00:57
StevenKOnly 20?00:58
lifelessStevenK: 5*5 in theory but we're short atm00:58
lifelessplus I know at least 2 that agree00:58
wgrantlifeless: We're not short any more :(00:59
lifelesswgrant: we are, its just going to stay like that for a while00:59
lifelesswgrant: are you actually working on https://bugs.launchpad.net/launchpad/+bug/57545001:01
_mup_Bug #575450: Archive:+copy-packages nearly unusable due to timeouts <lp-soyuz> <ppa> <timeout> <Launchpad itself:In Progress by wgrant> < https://launchpad.net/bugs/575450 >01:02
wgrantlifeless: I haven't touched it for a couple of weeks, and don't have branches with any significant improvements. You may steal it if you wish.01:04
wgrantIt's not really difficult.01:04
wgrantI was just trying to make some infrastructure improvements to make testing easier.01:04
* lifeless gifts wgrant with a laserlike obsession with production performance01:04
wgranteg. ++oops++ doesn't work on form submissions or the webservice (as yet unsolved), query counts are difficult and non-deterministic (both solved)01:04
lifelesswgrant: those are great things to do01:05
lifelesswgrant: which query counts ?01:05
lifelesswgrant: oh, you mean the session thing?01:05
wgrantThat, and your new matcher.01:05
wgrantAlthough there is still that Storm thing where it will do a SELECT 1 to check if an object exists the second time. But I wonder if store.reset() will fix that.01:06
wgrantlifeless: The most difficult bit of those timeouts it the DAS queries.01:07
thumperwallyworld, StevenK: mumble?01:07
wallyworldthumper: ok01:07
wgrantlifeless: They're produced by createMissingBuilds' calls to getBuildByArch... and that is all a really big mess.01:07
lifelesszomg01:07
lifelessDistributionSourcePackage - 778 repeated lookups01:08
wgrantWhere? BugTask:+index?01:08
lifelessbug 70571301:08
_mup_Bug #705713: Bug:EntryResource Timeout trying to set bug private - death by sql / late evalation <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/705713 >01:08
wgrantHeat?01:08
lifelessnot obviously01:09
lifelessjust 1.4K sql queries01:09
wgrantIt was a good thing, though.01:10
lifelessbbiab, doctor visit.01:10
thumperwallyworld: https://dev.launchpad.net/PolicyAndProcess/MaintenanceRotation01:10
SpamapSok so the consensus right now is that sub-trackers will just have to be implemented using tags at the moment.01:12
SpamapS?01:12
wgrantSpamapS: Unless you want to use a project group, which you probably don't.01:12
SpamapSwgrant: right I don't want to register 600 projects.. some of which will  have 8 - 20 lines of code.01:13
lifelessI think tags should work well01:48
lifelesswe probably have a few small bugs to sort out in making them scale and be usable enough01:48
lifelessbut that woul dbe significantly less than actual sub trackers.01:49
lifelessless work I mean01:49
lifelesswgrant: so what are you stabbing today?01:53
wgrantlifeless: The last of checkwatches.01:53
lifelesswgrant: would you like to get the loggerhead thing too?01:54
wgrantlifeless: You mean jam's branch that I reviewed last week?01:54
lifelessI think it just needs a merge to trunk + a merge to the lp deploy branch + a sourcecode rev01:54
lifeless+ a bug filed for capturing timeouts01:54
lifelessyeah01:54
wgrantlaunchpad_loggerhead is in the tree now.01:55
lifeless15K in one hit. It would be a record of some sort01:55
wgrantIt just needs to land.01:55
lifelessoh true01:55
wgrantWhich relies on us being out of testfix.01:55
StevenKWhich relies on a LOSA01:55
wgrantRight.01:55
* StevenK writes a test, getting UploadFailed, and sighs at this layer crap01:56
wgrantIs it unacceptable to cheat by forcing the build then landing stuff?01:56
StevenKHaha01:56
StevenKIt will fail in the same way and never make it to stable01:56
lifelessif your thing passed ec2 its fine01:56
wgrantRight, it will just fail again, but at least stuff will get landed.01:57
* wgrant does it.01:57
lifelesswait01:57
lifelessyou could rollback the apt thing01:57
wgrantCould.01:57
lifelessfile a bug with the checklist of missed systems01:58
wgrantAh, it's building again anyway.01:58
StevenKWho landed that, anyway?01:58
lifelesslink it to a branch to reinstate it01:58
lifelessjtv I think01:58
wgrantStevenK: jtv. The RT says it's rolled out everywhere.01:58
wgrantBut apparently not buildbot.01:58
wgrant(it did ask for it to be rolled out to buildbot)01:58
lifelesslp.soyuz.scripts.tests.test_publishdistro.TestPublishDistro.testPublishDistroRun02:08
lifeless soyuz-set-of-uploads_txt02:08
lifeless^ is that the apt thing ?02:08
lifeless soyuz-upload_txt02:08
wgrantYes.02:08
lifelessfrom ec2. sigh, I need a new ami don't I02:08
wgrantErm. AMI 508 should be enough.02:09
wgrantWas this a really old branch?02:09
lifelesswgrant: I have a different tree for submitting from02:09
lifelessso ec2 vaguaries don't bit me - but when the upgrade is mandatory, it bites02:09
lifelessthumper: wallyworld: now you're on maintenance - 5th top timeout : 26 /   18  RootObject:+daily-builds :)02:12
wallyworldlifeless: i'm working on that one right now02:12
wallyworldactually, just context switched to land some branches from alst week02:13
lifelesswe can't land anthing today02:14
wallyworldlifeless: i probably missed the discussion as to what's wrong with landing stuff?02:14
lifelessbuildbot's vm was not updated with the new apt, so when jtv landded the code to depend on it we went into testfix and cannot get out without a losa02:18
lifelessor reverting his branch02:18
wgrantAnd reverting his branch when the fix is so easy and it's not going to cause a QA chain of pain seems bad.02:18
wallyworldok. thanks02:20
SpamapSlifeless: is it possible the compaction error is happening because of the low fd limit?02:27
lifelessSpamapS: no02:42
lifelessSpamapS: its a classdefnotfound error02:43
lifelessSpamapS: got a lucid vm ?02:43
lifelessSpamapS: I've pushed my test code to lp:~lifeless/oops-repository/trunk02:45
lifelessSpamapS: just needs the cassandra ppa, the lp ppa02:46
wgrantHmm.02:55
wgrantCodebrowse is down?02:55
SpamapSlifeless: ah ok.. right02:55
lifelessSpamapS: I think its a missing jar that isn't wrapped into the war for whatever reason02:56
lifelessSpamapS: but, branch my code, run make check.02:56
lifeless(oh, read README and install deps)02:56
SpamapS3 hours later.. ;)02:56
lifelesswgrant: faaaark looks like it02:57
lifelessand yet, noone has complained02:57
lifelessspm: are you lurking? cause if you are, and aren't on leave, I'd rather bug you than wake elmo.02:57
StevenK3am London time :-(02:58
wgrantpjdc: ?02:58
wgrantlifeless: Is codebrowse downness critical now? I thought it had some ridiculously high threshold before it could be treated as such.03:01
wgrantHm.03:03
wgrantThere is no guava.03:03
wgrantEverything else is pingable, so I presume the03:03
wgrantmachine itself is down.03:03
StevenKguava replies to pings here?03:04
wgrantIn..deed.03:04
wgrantBut not from the DC.03:04
wgrantLooks like it is up, and carob can rsync from it, but not ping it.03:06
wgrantAll the other prod machines are pingable :/03:06
mwhudsonwgrant: guava is in the dmz03:06
mwhudsonfor stupid reasons03:07
wgrantHmm.03:07
wgrantguava CPU graphs are a bit sad.03:07
wgranthttps://lpstats.canonical.com/graphs/GuavaCPU/03:07
wgrantmwhudson: I suppose this isn't documented anywhere that non-IS can see?03:08
mwhudsonwgrant: not that i know of03:09
wgrantHeh.03:09
mwhudsoni guess you can probably see the rt i filed for "please move guava out of the dmz" about two years ago03:09
wgrantAnyway, looks like both codebrowses wandered off to chew on a CPU each at 01:2003:09
wgrantAh, Francis rejected it.03:13
wgrantSad.03:13
wgrantStevenK: OOPS-1884A168403:14
lifelesswgrant: its gritical03:16
lifelesswgrant: we have two redundant codehosting instances03:16
lifelesswhy was the move rejected ?03:17
lifelesswgrant: so yes, if its down, it needs to be fixed. This is bread and butter facilities for our users.03:17
wgrantlifeless: See the bottom of https://rt.admin.canonical.com/Ticket/Display.html?id=3317303:17
wgrantlifeless: I recall that previously it has been said that it was not as critical as everything. I disagree, but that is how it was.03:18
lifelessif we've killed the arch mirror03:18
lifelesswe can move within the main network03:19
lifelesswgrant: the old definition of critical is what you're thinking of, I think03:19
lifelesswgrant: that got overhauled late last year03:19
wgrantI recall it also had the Soyuz threshold at 24 hours, or something stupid like that.03:20
lifelessany launchpad service or feature becoming unusable03:20
lifelessimmediately03:20
lifeless...03:20
lifelessWe aim to have none of these, ever.03:20
lifeless...This includes beta features03:20
StevenKwgrant: :-(03:34
wgrantStevenK: ?03:34
StevenKwgrant: The OOPS you linked me03:34
wgrantAh, yes.03:34
StevenKI bet I just generated another oops03:35
StevenKHm. Only the no signer packages do that.03:37
StevenKWhy do I have this bad feeling there's a deleted recipe involved.03:38
wgrantThere is.03:39
StevenK:-(03:39
* StevenK tries to swap in the branch details.03:40
StevenKwgrant: So a test for this would be create a recipe, link it to an SPR, call recipe.destroySelf() and then look at the view?03:43
wgrantStevenK: I think so.03:43
wgrantYou may need to make sure that the SPRelease has no signer.03:43
StevenKThat's going to be fun to do in TAL.03:44
wgrantWhy?03:44
wgrant(I suspect it's more your new thing than the signer, but best to be thorough)03:44
StevenKI certainly am blaming my addition03:46
StevenKwgrant: I have a test written, let's see ...03:51
StevenKwgrant: Confirmed, the test fails in the same way as the OOPS.03:54
* thumper is attacking a sub-100k bug number03:56
thumpermade more fun by the blueprint and email aspect :)03:57
StevenKWhee, 350 lines of traceback03:57
StevenKwgrant: So, I can ignore printing the built by if the recipe is deleted, or I can say 'deleted recipe' -- what are your thoughts?04:04
wgrantI'd say "deleted recipe"04:05
StevenK... or can I? How do you do if else in TAL?04:05
StevenKOr can haz a link to TAL documentation that doesn't make my eyes bleed?04:06
wgrantYou'll have to use a tal:condition.04:07
wgrantThere's nothing like genshi's py:when.04:10
lifelesstal:iban04:10
StevenKlifeless: Two drums and a cymbal fall off a cliff.04:10
lifelessboom boom tish ?04:10
StevenKPTRuntimeError: ['Compilation failed', 'HTMLParser.HTMLParseError: EOF in middle of construct, at line 34, column 9']04:13
StevenK:-(04:13
thumperpretty simple review: https://code.launchpad.net/~thumper/launchpad/blueprint-email-handler-bug-83414/+merge/5148804:13
thumperand un-contentious04:14
wgrantIsn't it illegal to have a Blueprint branch which adds more lines than it deletes?04:15
lifelessno04:16
thumperlifeless: thanks04:16
lifelessdo the simplest thing possible04:16
lifelessvelocity with solid code04:16
thumperwgrant: not when the addition is tests04:19
lifelessdoesn't matter what it is04:19
lifelessits part of the same code base04:19
lifelesssame rules as for anywhere else apply04:19
lifeless*if* IssueTracker goes ahead, it will get folded in04:19
lifelessif it doesn't, we need it maintained, and that means having a level playing field for patches to it.04:20
lifelesswe *must not* make any part of the code less pleasant to work on than another, culturally, technically or otherwise.04:20
StevenK:-([A[APTRuntimeError: ['Compilation failed', 'zope.tal.taldefs.TALError: Invalid variable name "recipe" in expression u\'not sprb/recipe\', at line 37, column 9']04:22
StevenKCan I not do that in TAL?04:22
lifelessStevenK: what are you trying to do04:22
wgrantStevenK: Not like that.04:22
lifelessits also a bad idea even if you could04:22
lifelessyou need to use the ID if you don't want to trigger lazy loading04:22
wgrant'not: sprb/recipe'04:23
LPCIBotProject devel build #482: STILL FAILING in 5 hr 29 min: https://hudson.wedontsleep.org/job/devel/482/04:23
StevenKHm. I think that's with the new apt04:24
lifelesswgrant: probably a bad idea unless the rest of the page is guaranteed to show the recipe04:24
lifelesswgrant: not: sprb/recipeID04:25
wgrantlifeless: The rest of the page is guaranteed to show the recipe.04:25
lifelesswgrant: kk. I will keep pushing this meme :)04:25
wgrantDoes anybody have a Lucid LP machine?04:26
wgrantI guess I'll fire up an ec2 instance.04:26
lifelessI develop in a lucid vm04:26
lifelesswhats up04:26
wgrantAh.04:26
wgrantCan you run test_generateConfig?04:26
wgrantIn devel, with the new apt.04:26
wgrantThat is apt *ubuntu9.3+ppa1, or *ubuntu9.404:27
lifeless0.7.25.3ubuntu9.3+ppa104:28
wgrantDoes test_generateConfig pass?04:29
lifeless lp.archivepublisher.tests.test_ftparchive.TestFTPArchive.test_generateConfig04:29
lifeless lp.archivepublisher.tests.test_ftparchive.TestFTPArchive.test_generateConfig_empty_and_careful04:29
lifeless  Ran 2 tests with 0 failures and 0 errors in 7.168 seconds.04:29
wgrantTestFtparchiveIndices04:30
wgrantStevenK: Is it easy enough to fire up something identical to the Hudson slave and run a test on it?04:30
wgrants/Hudson/Jenkins/04:31
lifeless  Running:04:31
lifeless lp.archivepublisher.tests.test_publisher.TestFtparchiveIndices.testAllIndicesArePublished04:31
lifeless lp.archivepublisher.tests.test_publisher.TestFtparchiveIndices.testNoIndicesForDisabledArchitectures04:31
lifeless lp.archivepublisher.tests.test_publisher.TestFtparchiveIndices.testWorldAndGroupReadablePackagesAndSources04:31
lifeless  Ran 3 tests with 0 failures and 0 errors in 19.608 seconds.04:31
wgrant:(04:32
wgrantThanks.04:32
StevenKwgrant: Yes04:32
wgrantStevenK: Could you fire one up, check the apt version, try test_generateConfig and TestFtparchiveIndices, and then stab a-f in the face?04:34
wgrantAh, it's actually apt-utils that matters, but they are presumably the same.04:34
wgrantAlthough I wonder...04:35
StevenKLet's find out04:36
wallyworldlifeless: are you able to run a query against qastaging or prod and gather stats? or do i need a dba?04:36
StevenKwallyworld: All squad leads can run ro queries against {qa,}staging04:38
StevenKwgrant: Waiting for the builder to install04:39
wallyworldStevenK: cool thanks. i'll ask thumper :-) i also need an explain done04:39
wgrantStevenK: Thanks.04:39
StevenKwgrant: I'm doing it by hand, btw04:39
wgrant:(04:39
lifelesswallyworld: I can and thumper can04:40
lifelesswallyworld: pastebin away04:40
StevenKThe following polling activities are currently in progress: db-devel 7 hours 24 minutes04:41
StevenKEeeeep04:41
StevenKlifeless: How can I clean that up?04:41
wallyworldlifeless: it's a first cut at improving the dialy builds query. still has the group by but cuts out 3 tables from the join and appears perhaps significantly faster04:41
lifelessStevenK: the poll ?04:41
wallyworldlifeless: https://pastebin.canonical.com/44001/04:41
StevenKlifeless: Right04:41
lifelessStevenK: have a look - see if there is a wedged bzr process (and if so file a bug :))04:42
wallyworldlifeless: i just am interested in a comparison with what it does currently to see how much improvement there is04:42
StevenKThere is. What can I do to it to get some debugging?04:43
wallyworldjust tried to navigate to +daily-builds on qastaging and that timed out so qastaging's db should be sufficient to test against04:43
lifelesswallyworld: Time: 11231.630 ms04:43
wallyworldlifeless: :-( that's no good. i was expecting much better04:43
lifelesshttps://pastebin.canonical.com/44002/04:43
lifelesswallyworld: If I were working on this, I'd be executing on that thread we had about how the current page can be redesigned.04:44
lifelesswallyworld: I don't see any way of making it fast by sql tricks under the current schema04:44
lifelessyour query is Time: 616.543 ms hot04:44
lifelessbut IIRC the existing query is about that hot too04:44
wallyworldlifeless: yeah, but i just wanted to experiment a bit to see how much removing 3 tables from the big fat join would affect the results04:44
lifelessthe 11 seconds is cold04:45
lifelesswhat tables did you drop, and what is the new definition of the results04:45
StevenKlifeless: So this bzr has an open socket, and is blocked in recv() -- doesn't seem like much of a bug to me04:46
wallyworldlifeless: i dropped the joins to person, sourcepackagename, archive tables and got that data using a single query for each using the pre_iter hook04:46
lifelessStevenK: hmm, network should have killed it by now though04:47
lifelessStevenK: 7 hours ...04:47
StevenKYou'd think04:47
wallyworldlifeless: so the results are the same but without the ordering on archive , spname04:47
StevenKlifeless: I'm happy enough to wield kill and move on04:47
lifelessStevenK: yeah04:47
lifelesswallyworld: ah, you'd post process to do the archive ordering ?04:48
wallyworldlifeless: well, considering it if the query results were any good but alas. i really thought cutting out 3 tables would help04:48
lifelesswallyworld: it may well have04:48
lifelesswallyworld: staging cold is pretty cold04:49
lifelessthe query plan cost of 5320.82 is pretty reasonable04:49
wallyworldlifeless: i did it to just to see the numbers plus to teach myself how to use the pre_iter hook and do eager loading and insert SQL() expressions etc into storm queries04:49
StevenKhttps://code.launchpad.net/~stevenk/launchpad/link-deleted-recipe-ppa-page/+merge/5149004:49
lifelesswallyworld: its almost certainly an improvement:)04:49
lifelesswallyworld: I encourage you to get it reviewed and land it, even if you do more subsequent work on the page.04:50
wgrantwallyworld: Did you use SQL() just because you could, or is Storm missing something?04:50
wallyworldlifeless: no, i had to use the SQL since i wasn;t selecting a whole table (class) anymore and storm complained if i used that expression in the group by or select clauses04:51
wgrantHmm....04:51
wgrantYou should be able to do that in Storm.04:52
wallyworldlifeless: my thoughts with this were i would try it as a quick win and if it helped, deploy it and iterate again to doa better solution, so you're thinking matches mine04:52
lifelesswallyworld: whats the class you were not selecting anymore ?04:53
lifeless(not selecting the whole table, I mean)04:53
StevenKwgrant: Can haz review? ^04:53
wallyworldlifeless: SourcePackageRelease - the only thing i need from that table is the sourcepackagename column to that i can load the sourcepackagename objects04:53
wgrantStevenK: Sure.04:54
wallyworldlifeless: anything in the select() has to go in the group by so i wanted to remove as much as possible04:54
lifelesswallyworld: SourcePackageRelease.sourcepackagenameID is what you should use04:54
lifelesswallyworld: see my mail about fooID vs foo - last tuesdays performance tuesday mail04:54
StevenKwgrant: Ignore the comment for test, changing pushing now04:55
lifelesswallyworld: SourcePackageRelease.sourcepackagename is a Reference and storm utterly fails to compile those as you might want it to04:55
wallyworldlifeless: let me try that.  i thought that sourcepackagename was the id column in this case but i'm wrong. on a related note, i got a bit confused between xxx_id and xxxID04:55
lifelesswallyworld: so xxx_id is how folk writing native storm often spell xxxID.04:56
lifelesswallyworld: xxxID is magically created by the sqlobject metaclass04:56
lifelesswoo - another perf fix - lp:~lifeless/launchpad/bug-71106404:56
wallyworldlifeless: ah ok. i'm not fluent in storm yet. *much* better at Hibernate :-)04:57
wallyworldlifeless: off to pick up the kid from school. will clean it up when i get back and put up a merge proposal as a first step04:57
lifelesscoolio04:57
StevenKIf Hibernate is what you do at night, I'm pretty good at that too04:57
wallyworldStevenK: it's what i did before i joined Canonical :-)04:58
wgrantStevenK: Any progress on Jenkins?04:59
StevenKwgrant: "update-sourcecode"04:59
wgrantYay..04:59
StevenKHowever, the node is about 2 hops from crowberry, so bzr is nice and fast05:00
wgrantLaunchpad looks so nice in the Ubuntu font's Light variant...05:00
wgrantGnargh.05:01
StevenKwgrant: "make schema"05:01
lifelesshttps://code.launchpad.net/~lifeless/launchpad/bug-711064/+merge/5149105:02
lifelessanother I can has review plox05:03
lifelesshmm05:04
lifelesslinking to a bug report has broken05:04
lifelessif you put an invalid thing in, it just goes to lala land05:04
wgrantlifeless: https://code.launchpad.net/~stevenk/launchpad/link-deleted-recipe-ppa-page/+merge/5149005:05
lifelessbah05:07
lifelessback to bugtask:+index or distribution:+bugs05:07
StevenKDear buildout, MOVE IT05:07
lifelesswgrant: StevenK: btw, thats awfully close to 'too much code in the template'05:07
wgrantlifeless: BugTask:+index05:07
wgrantlifeless: It is.05:07
StevenKlifeless: Absolutely05:07
lifelessI'd consider a view property to give you want you want instead05:07
StevenKSo I'm happy to refactor slightly05:07
lifelessI value the fix more than the pretty05:07
lifelessIts just a thought for future work.05:08
lifelessno point reworking what you have05:08
lifelessdinner05:08
StevenKlifeless: Well, I already thought it was ugly when I submitted it ...05:08
StevenKI'm unsure if I can just add a property onto SourcePackageRecipeBuild and have it return a linkifed string05:09
wgrantStevenK: You'd do it on the view.05:09
StevenKwgrant: make schema done. Remind me the tests to run, sorry?05:16
wgrantStevenK: test_generateConfig should do.05:18
wgrantStevenK: But apt and apt-utils versions first pls05:18
StevenKii  apt                             0.7.25.3ubuntu9.3+ppa1          Advanced front-end for dpkg05:19
StevenKii  apt-utils                       0.7.25.3ubuntu9.3               APT utility programs05:19
wgrantAhaaaa05:19
wgrantThere is our problem.05:19
wgrantdoes apt-get upgrade want to fix it?05:19
StevenKYes05:20
StevenKI don't run apt-get upgrade on bring-up05:20
wgrantYou explicitly upgraded apt? Or does it just install launchpad-dependencies each time?05:20
StevenKIt explicity installs launchpad-developer-dependencies05:20
wgrantOK, I'll fix that.05:20
wgrantAnd update the RT.05:21
wgrantThanks.05:21
StevenKwgrant: You think the buildbot slaves have the same issue?05:21
wgrantStevenK: It would not surprise me.05:21
StevenKNeither05:21
LPCIBotProject devel build #483: ABORTED in 58 min: https://hudson.wedontsleep.org/job/devel/483/05:22
* StevenK tries to figure out how to get a URL in a view05:23
wgrantcanonical_url05:23
StevenKwgrant: http://pastebin.ubuntu.com/573322/05:27
wgrantStevenK: Use a structuredstring or I will05:27
wgrantstab you with an XSS.05:27
* StevenK smirks05:28
StevenKwgrant: Let me know when you've fixed launchpad-dependencies and friends and I'll tell Jenkins it can build.05:29
wgrantStevenK: Uploaded.05:31
wgrantWe should really run process-upload more frequently.05:32
StevenKWe should wait for the publisher anyay05:32
StevenK*anyway05:33
wgrantI will coerce bigjools into bumping it to */1 tonight.05:33
StevenKReally?05:34
wgrantWell, I will at least try.05:35
StevenKPersonally, I liked his idea that process-upload is always running05:35
wgrantWe already run it that often on cesium.05:35
wgrantSure.05:35
wgrantThat would be nice.05:35
wgrantBut it's much harder than changing one bit in a crontab.05:36
StevenKwgrant: So, you mean "from canonical.launchpad.webapp.menu import structured" or do I misunderstand?05:36
wgrantStevenK: That seems to be where it lives :(05:36
wgrantKarma, I hate you.05:38
StevenKwgrant: Happy with the method name?05:38
wgrantStevenK: You could possibly drop source_package_, but apart from that it's good.05:39
wgrantAnd return None instead of "", I think.05:39
wgrantjtv: Hi.05:39
StevenKYeah, already fixed that05:39
jtvhi wgrant05:39
jtvhi StevenK—I'm afraid I only gained a few hours on my previous timezone!05:40
wgrantjtv: Did you talk to IS about the apt upgrades?05:40
wgrantIt seems like buildbot only has apt upgraded, not apt-utils.05:40
wgrant(a-f lives in the latter, so buildbot is now broken)05:40
jtvDamn.05:40
wgrantI'm wondering if you have any details beyond what's in the ticket.05:41
wgrantSince we are ISless.05:41
jtvAre we!?05:41
wgrantUntil London wakes up, yes.05:41
jtvWhere's the ticket?05:41
StevenKjtv: spm would have only arrived home a few hours ago05:41
wgranthttps://rt.admin.canonical.com/Ticket/Display.html?id=4389105:41
jtvoh, poor man—where were they sprinting?05:41
wgrantLondon.05:41
StevenKLHR-SYD-CBR is like 34-38 hours05:42
wgrantNot quite *that* bad.05:42
StevenKDoor-to-door, it can be05:43
wgrantTrue.05:43
StevenKRight, I think that's enough time -- re-enabling Jenkins05:46
wgrantStevenK: Not published in Lucid yet.05:46
wgrantWill be in 4 minutes, hopefully.05:46
jtvI wonder whether it's worth rolling back the change.  Probably not.05:46
wgrantNot at this stage.05:47
StevenKThat's okay, I think I broke Jenkins view of the build anyway05:47
LPCIBotProject devel build #484: STILL FAILING in 58 sec: https://hudson.wedontsleep.org/job/devel/484/05:47
jtvIt's probably not worth rolling back the change, but it's damned annoying.05:48
StevenKLPCIBot: Shhh05:48
wgrantHudson should be fixed in a few minutes, and buildbot once we have an mthaddon.05:49
wgrantAnd that should be in just a few hours.05:49
wgrantSo we'll live :)05:49
jtvStill, buildnot build 666 couldn't very well have gone without problems, could it?  Just not appropriate.05:50
wgrantHeh05:50
StevenKwgrant: tal doesn't like structured()05:50
wgrantStevenK: What are you doing?05:50
StevenK    <li tal:content="view/recipe_build_details" tal:condition="context/sourcepackagerelease/source_package_recipe_build" />05:51
wgrantStevenK: s/context/structure context/05:51
wgrantEr.05:51
wgrantExcept on the other one.05:51
jtver :)05:51
wgrants/view/structure view/05:51
StevenKwgrant: http://pastebin.ubuntu.com/573328/05:53
wgrantStevenK: The tal:condition is redundant now.05:54
StevenKwgrant: Really?05:54
wgrantStevenK: recipe_build_details has an 'if sprb is not None'05:54
StevenKwgrant: Oh, that diff is against the approved MP rather than submit:, but I guess you figured that out05:55
wgrantStevenK: ppa:launchpad is now all published.05:57
* StevenK fiddles with Jenkins05:57
wgrantJedson may be happy now.05:58
StevenKJedson. *facepalm*05:58
StevenKwgrant: So you're happy with my refactor and I should commit and push?05:59
wgrantThis whole one-RT-account-to-rule-them-all thing is pretty confusing.05:59
wgrantStevenK: No, because you're bypassing the entire popint of structured()'06:00
wgrantSpot the XSS.06:00
wgrantAlso:06:01
wgrantSingle quotes around XML attribute values: Australia says no.06:01
StevenKDouble quotes? :-)06:02
StevenKOrsum. structured has no help06:04
wgrantDo you know what it does?06:04
StevenKSpits out an instance of IStructuredString06:05
wgrantWell, yes...06:05
StevenKAnd if I'm reading this doctest right, it escapes its second argument06:05
wgrantRight. It takes a format string as its first argument, and interpolates it after escaping the following arguments06:06
StevenKAh ha. Fixed by dropping % (06:06
wgrantRight.06:07
StevenKwgrant: Also dropped the structured() from 'deleted recipe' -- what's the point? :-)06:07
wgrantIndeed.06:07
StevenKwgrant: Would you like a new diff, or a commit and push?06:07
wgrantStevenK: A new diff would be nice.06:08
StevenKwgrant: Oh, from the new builder bring-up:06:08
StevenKGet:1 http://ppa.launchpad.net/launchpad/ppa/ubuntu/ lucid/main apt-utils 0.7.25.3ubuntu9.3+ppa1 [240kB]06:08
wgrantExcellent news.06:08
StevenKwgrant: http://pastebin.ubuntu.com/573331/06:09
StevenKNow to create an EBS volume with devel and db-devel checked out06:09
wgrantStevenK: Not sourcecode too?06:10
StevenKwgrant: Well, yes06:10
wgrantshipit has the LP history, so it takes ages.06:10
StevenKJenkins can't check out shipit06:10
wgrantStevenK:06:10
wgrantYou are missing quotes now...06:11
StevenK"recipe <a href=\"%s\">%s</a>",06:11
StevenKRargh!06:11
wgrantUse single quotes on the string.06:11
wgrantSo you can use unescaped double quotes inside it.06:11
StevenKNow you're just being difficult. Fixed.06:12
StevenK    <li><structured-string '<a href="%s">Built</a> by %s for <a href="%s">%s</a>'></li>06:15
StevenK:-(06:15
wgrantStevenK: Ah, add /escapedtext to the TALES06:17
StevenK    <li tal:content="structure view/recipe_build_details/escapedtext" />06:18
StevenKwgrant: ^06:18
wgrantYeah.06:18
wgrantOur templates should really do this automatically.06:19
wgrantA couple of people have made that same mistake recently.06:19
StevenKOh, damn it06:20
StevenKNow it escapes the recipe link06:20
wgrantHah, I wondered if it might do that.06:20
wgrantI presumed it would be smart enough to find notice that it too was a structuredstring...06:21
StevenK*And* confuses TALES enough to get: LocationError: (None, 'escapedtext')06:21
StevenKOH06:21
StevenKDamn it06:21
StevenKThat's TALES complaining when recipe_build_details() returns None06:22
wgrantHah.06:22
StevenKF. A. I. L.06:22
wgrantYou could make recipe_build_details return the .escapedtext06:22
StevenKIt's a property or a method?06:23
wgrantProperty.06:23
StevenKNow to figure out how to stop it escaping the recipe link06:24
lifelessnoddy queries R us: WHERE Person.id = $INT LIMIT $INT:06:26
StevenKHah06:27
wgrantThat sounds like a .find(Person, id=1).any()06:27
wgrantI don't think Storm is stupid enough to do that itself.06:27
StevenKwgrant: And no, structured() just does it, there's no special casing for an instance of IStructuredString06:29
wgrantI may have to declare war on our shitty string handling infrastructure at some point.06:32
StevenKwgrant: Before or after your current war of "Death to lib/canonical" ?06:33
wgrantStevenK: I only deleted lib/canonical/widgets last week :(06:33
wgrantThe active subwar is "death to Zopeless", which is going OK.06:33
* lifeless whispers death to timeouts06:34
wgrantMore like death to checkwatches.06:34
lifelesstim is looking at checkwatches mantis handling06:34
lifelessI'm awed06:34
wgrantAlso, tomorrow it is death to long PQM and cronspam.06:34
StevenKHeh06:34
lifelesswtf06:35
lifelessSQL time: 2724 ms06:35
lifelessNon-sql time: 11740 ms06:35
wgrantWhich view?06:35
lifelesshttps://lp-oops.canonical.com/oops.py/?oopsid=1884H223106:35
wgrantHuh...06:36
wgrantAh, anonymous.06:36
lifelessI wonder how many of these timeouts are due to e.g. storm overreleasing the gil (when its about to grab it again 2us later) and getting terrible scheduler performance as a result06:36
lifelessalso memcache really isn't pulling its weight06:37
lifeless232.1366124msmemcache06:37
lifelessbah06:37
lifeless24ms anyhow06:37
lifelesson a get06:37
lifelesstime to turn it off06:38
StevenKAnd remove it?06:38
lifelessno06:38
lifelessits useful for the front page06:38
lifelesswe should eager load the blog posts thoughj06:39
lifelessand depend on them being in memcache06:39
StevenKWould s/\(its\) \(useful\)/\1 only \2/ be more accurate?06:39
lifelessnot entirely06:40
lifelessneed to analyse case by case06:40
lifelessstub: hi06:42
lifelessstub: we didn't get the staging restore script quite right, I've filed a bug and assigned to you; it didn't set the value for the flag correctly (should be 'on' not NULL).06:43
jtvStevenK: I'm puzzled by something in the derived-distro work.  Hoping you can help.06:45
StevenKjtv: Hm?06:46
jtvWell, AIUI there was supposed to be a static maximum of 1 layer of derivation.06:46
jtvI got the impression that this was a completely separate relationship from those within a distro.06:47
wgrantI hope not.06:47
jtvAh06:47
wgrantWe can have Debian Sid -> Ubuntu 10.04 -> Linaro 10.0506:48
jtvI'm asking because DistroSeriesDifference.new rather suggests that this is all based on parent_series.06:48
wgrantBut the relationship is separate from the distro.06:48
StevenKDirect parent, we don't really want diffs from anything else06:48
wgrantRight. At the moment the derivation relationship is not modelled.06:48
wgrantSo everything uses parent_series.06:48
jtvSo as things stand, we can't have Debian Sid → Ubuntu 10.04 → Linaro 10.05.06:49
wgrantAt the moment we can have no derivation at all.06:49
jtvSo how does parent_series figure in all this?06:51
StevenKIt was the best place to put it, but it's the wrong place.06:52
wgrantIt does not affect derivation. Derivation needs a new attribute.06:52
jtvOkay, so that check for "this is a derived distroseries" will use the new attribute?06:52
StevenKRight06:53
jtvThanks.06:54
lifelessuhm06:55
lifelesswhy a new attribute?06:55
jtv?06:55
jtvBecause it's not the same thing as the "parenthood" relationship we have between ubuntu releases.06:55
wgrantThere are two types of derivation.06:55
wgrantRight.06:55
lifelesswhy do we have that relationship?06:56
jtvArguably I suppose we _could_ model this as "parent_series is not of the same distro," but then you still can't model the Sid → 10.04 → 10.05 chain.06:56
jtvWhy do we have which one?06:56
lifelessjtv: sure you could; linaro isn't ubuntu, its derived from. new distro06:56
lifelessjtv: we do we have a series->series relation within ubuntu, we don't have that for productseries.06:56
wgrantWe use parent_series to do some fairly revolting build-related stuff right now.06:57
jtvNot to mention translations.06:57
lifelessdetails06:57
lifelessoh crud06:57
jtvThere have been times I've wished for a parent_series on productseries, or a "trunk" series for Ubuntu, but I guess they're just different ways of workign.06:58
jtv*working.06:58
lifelesswe loaded the bug subscription filters on qastaging didn't we06:58
StevenKUbuntu does have trunk. It's called .currentseries06:58
wgrantjtv: The divergences are bugs.06:58
jtvwgrant: huh wha?06:58
jtvStevenK: sid is a trunk, natty is a current series.  Not the same to me.06:59
jtvOr if I'm wrong, I'll look mighty stupid for all the times I've told people "I'll do that when sid gets released."06:59
StevenKjtv: Huh? How is sid a trunk?06:59
wgrantAh, I see your point.06:59
StevenKSid will never get released06:59
StevenKBut, right07:00
lifelessso take bzr; it has a trunk and a series that will be released07:00
jtvStevenK: which is exactly why I like to tell people I'll do their tedious work for them once it gets released. :)07:00
StevenKYes, I get it07:00
lifelessour *data* model permits both07:00
lifelesswhy does our *data model* differ between productseries and distroseries in this fashion.07:00
jtvThat's a good question.07:01
StevenKI have some people you could ask. They don't work for us any more, though.07:01
lifelesslet me ask it differently.07:01
jtvIf we take the view that There Has To Be a parent series, then either it's always trunk or things get a bit weird.07:01
lifelesswhat stops us removing 'parent_series'07:01
StevenKlifeless: The fact that Ubuntu O might want to be initialised07:02
lifelessStevenK: I don't understand the relevance07:02
wgranti-f-p doesn't have to use parent_series.07:03
jtvBut we're not actually making use of the tree structure that the current data model supports through parent_series, are we?07:03
StevenKIt does currently, though07:03
jtvAFAIK it's all neatly linear.07:03
jtvMaybe it's really a holdover from when distroseries was distrorelease.07:04
jtvWhen you don't separate series from releases, then parent_series (or rather, parent_release) makes more sense.07:04
jtvOr am I getting my history screwed up and was it ProductSeries that used to be ProductRelease?  I _think_ I got it right the first time.07:05
lifelessgrrr07:05
lifelessI *wish* the ++show decorator didn't trim the report.07:05
lifelessI think I'll fiddle that next07:05
* jtv checks the vestigial test factory07:05
wgrantjtv: It was DistroRelease07:06
jtvYup07:06
wgrantThat's why we still have dr and dar everywhere.07:06
jtvBut you see my point?  parent_release makes a lot more sense when you don't have series.07:06
wgrantA little.07:07
jtvAFAICS the series replace a generic tree structure of derived releases with a fixed two-level one: series are created in progressive order and within each series, releases are created in progressive order.07:09
wgrantExcept that we don't model distroreleases yet, but yes.07:10
jtvParenthood probably isn't a very good relationship between releases—you get issues like "what if nobody tagged the most recent common ancestor?"07:11
jtvAnd "if I backpatch a bugfix to a maintenance series, isn't it arbitrary to say that the resulting maintenance release is a child of the series' preceding release but not from the fix in the development series?"07:13
jtvSo maybe lifeless has a point, and we want "predecessor" (which we could probably derive) rather than "parent" (which is more generic than AFAIK we actually use)07:14
jtvMore importantly, of course,07:14
jtvI'm out of coffee.07:14
wgrantAnd out of Internet?07:17
lifelesswe're still testfuxed, right ?07:18
wgrantYes.07:19
wgrantHudson should be testfixfixed, but buildbot needs an upgrade.07:19
=== almaisan-away is now known as al-maisan
lifelessoh my07:35
lifeless-fail-07:35
lifeless  File "/home/robertc/launchpad/lp-branches/working/lib/lp/bugs/browser/bugtask.py", line 512, in _get_task_for_context07:35
lifeless    for bugtask in list(bug.bugtasks):07:35
stublifeless: Is NULL ever a valid feature flag value? I suspect not, since there is no way to add that via the web ui.07:36
wgrantlifeless: That looks like the NullBugTask infestation.07:37
wgrantOr is that somewhere else?07:37
lifelessstub: no, its not07:38
lifelesswgrant: no, its the traversal07:38
lifelesswgrant: the traversal lazy loads *every bugtask*07:38
lifelesswgrant: sorry, late evaluates every bugtask target07:38
wgrantlifeless: That shouldn't be lazy...07:38
wgrantRight.07:38
lifelesswgrant: its late, my phrasing is fubared07:39
lifelessstub: for clarity, NULL isn't valid - thats why staging is down07:39
lifelessstub: but it wasn't meant to be null, or '', it was meant to be 'on'07:39
lifelessstub: if you could fix staging that would rock07:39
stubJust clarifying Bug #72612807:40
_mup_Bug #726128: staging restore script creates invalid feature rule <oops> <Launchpad itself:Triaged> <Launchpad Staging Scripts:In Progress by stub> < https://launchpad.net/bugs/726128 >07:40
stublifeless: staging db updated07:41
lifelessstub: brilliant, thanks, thats made it happy07:42
lifelessstub: , all - have a great day07:46
lifelessI'm going to call it a night for now07:46
lifelessI hope to be mass landing branches in the morning :)07:46
lifelessstub: you're on call reviewer now aren't you? if so - https://code.launchpad.net/~lifeless/launchpad/bug-722956/+merge/51481 and https://code.launchpad.net/~lifeless/launchpad/bug-711064/+merge/51491 are product from today.07:47
stublifeless: k07:47
=== al-maisan is now known as almaisan-away
=== henninge changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: henninge | https://code.launchpad.net/launchpad-project/+activereviews
=== almaisan-away is now known as al-maisan
jtvStevenK: did you get my questions in this channel around one hour ago?  Or perhaps answer them already?  My connection broke not long after I asked.08:43
StevenKjtv: If the other context is "I am out of coffee" none of them looked like questions?08:44
jtv"This connection has been quiet for minutes now.  That's not normal for Internet (http, torrents, and games).  Let's drop it."08:44
jtvStevenK: then they didn't make it out.  Mind if I paste?  It's pretty basic but I like to have my assumptions confirmed sometimes.  :)08:45
StevenKjtv: Sure, go ahead08:45
jtvOK, here goes:08:46
jtvStevenK, to make sure that I still have the right picture: we're trying to get to a state where every new sourcepackagepublishinghistory record for a distroseries that's in a derivation relationship also triggers creation of zero or more distroseriesdifferencejobs for distroseries that it's derived from and ones that are derived from it… correct?08:46
jtvand if so, the processing of a distroseriesdifferencejob may result in a distroseriesdifference being created or updated, right?08:46
jtvOr deleted, if the difference goes away.  I guess that's how synchronizing a package would go through the system.08:46
StevenKjtv: "distroseries that it's08:48
StevenK               derived from"08:48
StevenKOnly. Since the child didn't change, and we only do one level of indirection08:48
jtvStevenK: Oh—I thought reviews "upstream" from the derived series were to be reviewed (and optionally synchronized) through the same UI.08:49
StevenKjtv: Right, but not all the way upstram08:49
StevenK*upstream08:49
jtvOK, so all I need to worry about is "this new SPPH may constitute a new, or removed, difference from the parent DS."08:50
StevenKjtv: *Or* the child. Or both08:51
StevenKIn the Debian Sid -> Ubuntu 10.04 -> Linaro 10.05 case, if a new SPPH is thrown to Ubuntu, we want new DSDs for the Debian <-> Ubuntu case and then Ubuntu <-> Linaro case08:52
StevenKs/then/the/08:53
StevenKwgrant: Tossing the ugly TAL branch at ec208:53
jtvStevenK: okay, but then I don't understand the correction you made earlier—"distroseries that it's derived from, only."08:53
StevenKjtv: Following on from my earlier example, if there is new SPPH in Debian, I thought you meant Debian <-> Ubuntu and Debian <-> Linaro08:54
jtvAh OK, no I meant exactly what you said.08:54
jtvSo violent agreement there.08:54
StevenKAgreed08:55
jtvCool.  Then I can start looking at how to approach implementation.08:55
mrevellHello08:58
wgrantMorning mrevell.09:00
jtvhi mrevell!09:01
jtvStevenK: I suppose a derived series can have a SPPH with the same SPR as a SPPH in the parent release, in which case there's no need for a DSD?09:03
StevenKjtv: Exactly09:04
jtvs/parent release/parent DS/09:04
jtv(in case I'm not making my acronym quota)09:04
jtvI think there was mention of pre-existing derived series… how are those modeled?09:05
StevenKThere was? I can't recall09:05
wgrantjtv: Just wait until you start dealing with recipes.09:06
wgrantThen you have SPRs producing SPRs.09:06
wgrantAnd then they end up creating DASBPRs!09:06
jtvcool09:06
jtvThe last bit of course makes perfect sense—but I wouldn't think it was new.09:07
jtvAhh, the days when an inches-thick A4-sized operating system manual would boast "this is the only acronym in the UI module"…09:07
jtvYKYBRUTLW…09:08
wgrantI think I got that one.09:09
jtvThat is one of the many forms of YKYBRUTLW: YKYBRUTLWYUALT09:10
jtvYou Know You've Been Reading Usenet Too Long When You Understand Acronyms Like These.09:10
wgrantHeh.09:11
StevenKOoh, ITYJMTUOTS09:11
StevenKI Think You Just Made That Up On The Spot09:12
* wgrant is beginning to suspect that checkwatches is in fact an elaborate trap set for those who want to write tests for it.09:14
wgrantIt's like Soyuz, except with 10 extra levels on indirection, some of which are XML-RPC.09:14
jmlheh09:14
jtvwgrant: yes… there are some helpers for it though; allenap knows09:15
* jtv hates xmlrpc09:15
StevenKVallium helps with checkwatches09:15
* jtv once told one of the makers of XML it was all his fault09:15
allenapStrychnine is the checkwatches drug of choice.09:16
allenapwgrant: You have my unending sympathy. What are you trying to test?09:17
allenapThe question "what are you trying to test" can be hard to answer with checkwatches.09:17
wgrantallenap: Exception handling in _updateBugTracker.09:18
wgrantI think I will just entirely patch out _getExternalBugTrackersAndWatches, rather than trying to get a custom ExternalBugTracker in.09:19
allenapwgrant: Yeah, good idea.09:20
jtvStevenK: when comparing SPPHs for two DSes, can I just compare the two SPPHs with the most recent base_versions?  Or do I need to do this separately for each base_version I find?  Or is there even some guarantee that all I need is the most recent SPPHs?09:25
StevenKjtv: You know, I did finish work about three hours ago, right? :-)09:26
jtvStevenK: oh yeah?  Then why are you here responding to my question?  :-P09:26
StevenKBecause I have this OCD about red in my IRC client09:27
jtvThe correct answer was a timeout.  :)09:27
=== al-maisan is now known as almaisan-away
StevenKjtv: If you feed in the two latest SPRs into DSD, it should set the base correctly, but I suspect that isn't your question09:28
jtvNo, it's more how I find the right SPPHs with the right SPRs in them.09:28
StevenKAn SPPH has one SPR. You already have the SPPH that caused the change, so grab the latest SPR for that SPN from the other DS09:29
allenapwgrant: Do you know if anyone figured out why ec2 runs were not reporting any results?09:31
jtvSo that's the latest for that SPN, not the latest for that SPN plus base version?  I'm asking since I have to pre-populate based on existing data, so we'll have older SPPHs.09:31
jtvI guess a DS picks one base_version for an SPN and sticks with it?09:33
* jtv should leave StevenK in peace now09:33
StevenKHeh09:33
* StevenK goes to see how dinner is progressing09:33
jtvgood night!09:33
=== jtv is now known as jtv-afk
=== almaisan-away is now known as al-maisan
wgrantallenap: I landed that fix this morning.09:42
wgrantallenap: jml's excellent new ec2 list had the not so excellent side-effect of breaking that.09:43
wgrantBut it was an easy fix.09:43
wgrantStevenK: Confirmed does not exist :(09:45
wgrantjtv: buildbot seems happy now.09:46
adeuringgood morning09:46
=== jelmer_ is now known as jelmer
allenapwgrant: Fantastic! :)09:55
gmbhenninge: I have a 69-line JS branch if you've got time to review it.10:41
henningegmb: throw it at me!10:42
* gmb lobs https://code.launchpad.net/~gmb/launchpad/fix-subscribe-form-preloading-bug-722450/+merge/51510 at henninge 10:42
* henninge sometimes is a good catcher ... like just now.10:43
gmb:)10:43
=== al-maisan is now known as almaisan-away
=== henninge_ is now known as henninge
henningegmb: Sorry for being a bit slow. I got distracted but I also don't have much practice in JS reviews.11:47
henningegmb: I don't see the last sentence of your cover letter reflected in the code.11:48
gmbhenninge: That's okay. The diff looks a little funky anyway (I guess it's because of where I put the new function). If you'd rather wait for someone who's got JS experience to take a look, that's fine; it's not urgent.11:48
henningeno, I want the JS experience ... ;)11:48
henningegmb: my other question is: why can you do away with the spinner?11:49
gmbhenninge: Just a sec; someone at the door11:49
henningeas long as they are not trying to sell windows ...11:50
LPCIBotProject devel build #485: STILL FAILING in 5 hr 43 min: https://hudson.wedontsleep.org/job/devel/485/11:52
henningegmb: I am off for lunch, we can continue later.11:56
gmbhenninge: Okay, sure.11:57
* gmb takes the opportunity to lunch, too.11:59
=== almaisan-away is now known as al-maisan
jelmerjml: are there any plans to remove the "Recipe builds are experimental" box on recipe pages?13:00
jmljelmer: there'd better be!13:00
maxbAre there plans to expose performDailyBuild() in the web UI ?13:09
=== mrevell is now known as mrevell-lunch
jelmermaxb: There is a button for that actually13:14
jelmermaxb: but it only appears when there is a new version that can be built13:14
maxbhm13:14
maxbI have not seen this button13:15
maxbAnd I have usefully called it over the API13:15
gmbhenninge: I'm back from lunch, so just ping me when you want to resume our discussion.13:16
leonardrmaxb: my squad is working on that now13:16
maxboh *there's* that link13:16
maxbNow that's shiny13:18
jelmerit is13:18
tumbleweedleonardr: care to give me a hand with getting the new launchpadlib behaving over ssh? I proposed for ubuntu-dev-tools, but it seems a bit of a nasty regression that I can't use it over ssh https://code.launchpad.net/~stefanor/ubuntu-dev-tools/launchpadlib-1.9/+merge/5147513:20
leonardrtumbleweed: try putting "export `gnome-keyring-daemon`" into your bashrc. that will make the gnome keyring run in your x session when you ssh in13:21
tumbleweedleonardr: I tried doing that (not in bashrc, and didn't seem to do anything13:22
tumbleweeddo I really want one gnome-keyring-daemon per shell?13:23
leonardrtumbleweed: there's another workaround, let me try to find it13:23
leonardri don't actually know which workaround is better13:23
tumbleweedme knows very little about gnome-keyring, which probably doesn't help13:24
leonardri now know about gnome-keyring but not about x13:25
leonardrtumbleweed, what happens when you try this with gnome-keyring-daemon exported?13:30
tumbleweedleonardr: gnomekeyring.IOError13:46
jelmerwe've seen that with bzr-gtk as well13:48
tumbleweedjelmer: yeah I have too13:49
jelmerwe're working around it by ignoring gnomekeyring if it raises IOError13:49
tumbleweedwell, we have to get the launchpad credentials from somewhere13:52
tumbleweedso if we ignore that error, we need a fallback13:52
tumbleweedis there a standard location for an on-disk credential store, or must that be provided to login_with?13:53
=== salgado is now known as salgado-physio
=== henninge changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
jelmer'morning cr313:58
cr3jelmer: hola senor!13:59
leonardrtumbleweed: python-keyring handles the on-disk credential store13:59
leonardrso, yes, there is a standard location13:59
leonardrbut i would much rather figure out how to make gnome-keyring work for everyone13:59
=== mrevell-lunch is now known as mrevell
=== m4n1sh is now known as manish
leonardrtumbleweed, try this out:14:48
leonardrexport `dbus-launch`14:48
leonardrit does look like you're supposed to have one daemon per session. maybe that's something the gnome-keyring people could optimize14:48
tumbleweedit would be nice if launchpadlib printed the auth URL, rather than diving straight into elinks14:51
tumbleweedi.e. make elinks optional. I've always quit it and pasted theURL into my desktop's open browser14:52
tumbleweedanyway, I can't seem to login via elinks14:53
tumbleweedleonardr: I grabbed the token-auth URL from the process command line, authed it, quit elinks, and now I get "keyring.backend.PasswordSetError14:54
leonardrtumbleweed: launchpadlib does both. it prints the auth url and opens a web browser. i guess you don't see it because elinks takes over the console?14:55
tumbleweedyeah14:55
tumbleweedIIRC it used to wait for one to press enter after quitting elinks?14:55
leonardrtumbleweed: right. i took that out because it was unnecessary. launchpadlib can see whether you've authorized the token on its own14:57
tumbleweedleonardr: yeah, but I used to be able to quit elinks, do the auth, then press enter14:58
tumbleweedunless it's polling launchpad, in which case ignore me :)14:58
leonardrtumbleweed: it should work the same now, except without pressing enter14:58
leonardryeah, it's polling launchpad14:58
leonardrtumbleweed: this PasswordSetError you get14:58
leonardris that when you export dbus-launch?14:58
tumbleweedyes14:59
tumbleweedI have a desktop session open on the machine I'm ssh-ing into14:59
leonardrok, is it a gnome desktop?14:59
tumbleweedyeah14:59
leonardrcan you paste me the traceback of the error?14:59
tumbleweedleonardr: http://paste.ubuntu.com/573478/15:00
leonardrtx15:00
leonardrargh, it's re-raised15:01
leonardrlet me try dbus-launch and see what happens for me15:02
leonardrtumbleweed: for some random reason i seem to be using an unencrypted file instead of a keyring... solving that problem first and will then see how my setup compares to yours15:14
tumbleweedheh, cool15:14
tumbleweedI only have one machine running natty (my laptop), so I haven't played around too much15:15
leonardrtumbleweed: i would like to see the original context of that exception. if you wouldn't mind going into credentials.py and commenting out the try/except clause from CredentialStore.save()15:16
leonardrwe could make some progress15:16
tumbleweedsure15:17
tumbleweedleonardr: http://paste.ubuntu.com/573490/15:20
tumbleweedsorry, haven't dived into this wholehartedly, busy writing an ubuntu-dev-week talk for this evening15:21
leonardrnp15:23
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: benji | https://code.launchpad.net/launchpad-project/+activereviews
leonardrbenji, welcome to ocr15:32
benjileonardr: I'm a real boy now.15:32
=== matsubara is now known as matsubara-lunch
=== al-maisan is now known as almaisan-away
leonardrdid someone recently change the oauth 'invalid access token' message?15:58
leonardri think it changed recently and broke launchpadlib15:59
cr3is there any reason why bugs can't be searched by date range?16:00
henningegmb: let's finish this review ;-)16:05
gmbhenninge: Ah, I asked benji to take over since you'd gone off-call.16:05
gmbSorry, didn't realise you were still around for some reason.16:05
henningegmb: that's ok, I wasn't feeling too great earlier and took a longer break.16:06
gmbhenninge: Okay. Hope you feel better.16:06
henningethat's why I took myself off so I won't get more requests.16:06
henningeyes, pain killers kicked in ...16:06
henningethanks16:06
leonardrsalgado: i'm still asking you damn questions about oauth16:10
leonardris there a mechanism (manual or otherwise) for clearing expired access tokens out of the database?16:10
salgadoleonardr, heh, that's fine16:11
leonardrbecause it looks like they never used to be cleared out of the database, but now they are16:11
leonardriow i encountered a problem that i would have encountered a long time ago if they were cleared from the database regularly16:11
salgadoleonardr, I don't remember seeing anything that would delete access tokens16:12
leonardrah, i know what it is. this is on staging16:13
salgadobut I think we've always had working code to reject them when they were expired16:13
leonardrand on staging, the whole database is cleared16:13
salgadooh, right16:13
leonardrsalgado: yeah, i had it working for expired tokens16:13
leonardrbenji: an easy branch for you: https://code.launchpad.net/~leonardr/launchpadlib/handle-unknown-token/+merge/5156316:17
benjileonardr: thanks16:17
jcsackettgmb: have a moment?16:24
gmbjcsackett: Sure16:25
jcsackettgmb: i was told you landed some work at one point to allow admins to mark bug comments as not visible, but i can't find what that might be. could you point me in the right direction?16:26
gmbjcsackett: You were misinformed, sadly. I have no recollection of doing that.16:26
gmbIt *might* have been intellectronica that did it, back in the day, but I honestly have no idea.16:26
jcsackettgmb: that's disheartening. :-p16:26
gmbYeah.16:26
jcsackettgmb: thanks for clearing that up, though.16:27
* jcsackett goes back to the hunt.16:27
=== matsubara-lunch is now known as matsubara
=== beuno is now known as beuno-lunch
LPCIBotProject devel build #486: STILL FAILING in 5 hr 26 min: https://hudson.wedontsleep.org/job/devel/486/17:19
lifelessmoin17:25
=== Ursinha-afk is now known as Ursinha
=== Ursinha is now known as Ursinha-afk
=== matsubara is now known as matsubara-afk
=== beuno-lunch is now known as beuno
=== gary_poster is now known as gary-lunch
=== Ursinha-afk is now known as Ursinha
=== gary-lunch is now known as gary_poster
=== Ursinha is now known as Ursinha-lunch
=== bdrung_ is now known as bdrung
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
sinzuijcsackett: ping19:53
jcsacketthi sinzui.19:53
sinzuijcsackett: do you have time to mumble about bug/72662819:54
sinzuibug 72662819:54
_mup_Bug #726628: flag-expired-memberships can trip an assertion check <teams> <Launchpad itself:Triaged> < https://launchpad.net/bugs/726628 >19:54
jcsackettsure.19:55
=== almaisan-away is now known as al-maisan
manishhow does launchpadlib open the browser for authentication?20:08
manishuse gnome-open?20:08
sinzuiI think xdg-open20:08
manishthanks, trying20:08
manishsinzui: works. Thanks20:09
jcsackettsinzui: no need to chat later; found a fix.20:18
sinzui\o/20:19
=== al-maisan is now known as almaisan-away
LPCIBotProject db-devel build #402: STILL FAILING in 5 hr 54 min: https://hudson.wedontsleep.org/job/db-devel/402/20:22
=== Ursinha-lunch is now known as Ursinha
jcsackettclear20:48
thumperleonardr: mumble?21:04
leonardrthumper: wow, it's 4 already. sure21:04
thumperwallyworld, leonardr: https://dev.launchpad.net/MaintenanceRotationSchedule21:05
lifelessleonardr: hi21:12
leonardrhi lifeless21:12
lifelessleonardr: I have a question about how to glue some stuff up in the webservice21:12
leonardrsure21:12
lifelessif you look at bug.bugtasks21:12
lifelessits exported21:12
lifelessbut the code doesn't know the current user21:12
lifelessso we end up querying for all bugtasks21:12
lifelessthen doing late evaluation access checks on each task21:13
lifelesshow would I change it to use a method rather than a property, so that the user can be passed in21:13
lifeless(but still look like a collection to the web service)21:13
leonardrgood question. you can use @call_with(user=CURRENT_USER) to pass in the current user21:14
leonardri need to look at the code to see if you can do that and still make it look like a collection21:14
leonardrit may not be possible now21:14
lifelessok21:14
lifelesswell I'm currently hacking on BugTask:+index which shares the issue21:14
lifelessI'll add a new method for now21:15
lifelessand if we can figure out how to glue it up, that will be cool.21:15
maxbHmm. It would appear that SourceForge runs anonymous mercurial access on port 8000. Should I file a question and assign to the LOSAs asking for accomodations in the firewalling of the importds?21:23
leonardrbug 27101021:24
_mup_Bug #271010: OOPS accessing a non-existent oauth token page. <api> <lp-foundations> <oauth> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/271010 >21:24
leonardrlifeless: you might want to file a bug about it. 'accessor method' would be a useful analogue to 'mutator method'21:25
lifelessleonardr: on lazr.restful ?21:25
leonardrlifeless: yes21:25
leonardrand when i put it like that, i know we don't have this feature21:25
lifelesswe do it for /branches21:26
lifelesskindof21:26
lifelessleonardr: https://bugs.launchpad.net/lazr.restful/+bug/72680321:28
_mup_Bug #726803: not possible to export a method as a collection with bound parameters <lazr.restful:Triaged> < https://launchpad.net/bugs/726803 >21:28
lifelessleonardr: I hope I captured it clearly21:29
leonardrlifeless: looks great21:31
huwshimijml: I'm available whenever you are.21:31
thumpermaxb: yes21:32
* StevenK glares at buildbot21:32
leonardrthumper: the python-keyring bug i filed: https://bitbucket.org/kang/python-keyring-lib/issue/40/failures-happen-at-random-points-in-the21:33
* benji is startled to see buildbot glare back at StevenK.21:33
leonardrbenji, you might be interested in that bug as well -^21:34
StevenKHaha21:34
benjileonardr: hmm, taking a look21:34
StevenKWindmill hang in the last devel run, and buildbot has completly ignored that devel has changed for about five hours21:35
wgrantOh come on, that failed like 5 hours ago :/21:36
wgrantNobody forced it :(21:37
StevenKJust did.21:37
benjileonardr: I concur very much with the intent of your bug report; in my opinion the proximate cause is the unnecessarily eager choosing of the backend21:40
maxbthumper: filed, thanks21:41
lifelessoh wow21:55
=== lifeless changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: benji | https://code.launchpad.net/launchpad-project/+activereviews
lifelesswe've been disclosing the existence of private bugtasks all over the place forever.21:55
=== Ursinha is now known as Ursinha-afk
lifelesshmm22:01
lifelesscurrent user isn't clearly visible to traversal code :<22:01
jcsackettbenji: i know it's getting late, but is there any chance you have time to do a review on 150 line MP?22:06
benjijcsackett: if it's https://code.launchpad.net/~jcsackett/launchpad/bug-comment-visibility/+merge/51637, I just did. :)22:07
=== benji changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
jcsackettbenji: it is indeed. thanks a lot. :-)22:07
benjinp22:07
wgrant:( QA22:20
jcsackettsinzui: standup?22:36
=== salgado is now known as salgado-afk
huwshimisinzui: What did you want to investigate with light/regular?22:48
LPCIBotProject devel build #487: STILL FAILING in 5 hr 32 min: https://hudson.wedontsleep.org/job/devel/487/22:52
* thumper sighs23:01
thumperqa-bad makes me sad23:01
thumperhow to I say a new landing fixes a qa-bad?23:02
wgrantthumper: --rollback=123423:02
wgrantAnd tag the bug bad-commit-123423:02
thumperI don't want to roll it back23:02
thumperI want to fix it23:02
wgrantI know.23:02
wgrantBut you have to --rollback=123423:02
thumperthat kinda blows23:02
wgrantYup.23:03
lifelessso fix it23:03
wgrantWhat's bad?23:03
lifelessqatagger is the project23:03
thumperwgrant: the updating of the debversion and base branch23:04
thumperthe context is updated23:04
thumperbut there is a JS error on the page23:04
thumperI think it came from a weird merge23:04
* thumper is fixing23:04
wgrantIs it trivial to fix?23:04
thumperyes23:04
thumperdelete one line23:04
wgrantGreat.23:04
wgrantBypass ec2.23:04
=== soren_ is now known as soren
=== herb__ is now known as herb
=== Daviey_ is now known as Daviey
thumperwgrant: what is the pqm commit message I need for the rollback syntax?23:20
thumperwgrant: I don't have a merge proposal for the tweak23:20
thumperwgrant: nm23:20
wgrantthumper: [rollback=$BADREVNO]23:20
wgrantNo QA tags other than that.23:20
sinzuihuwshimi: sabdfl replied the the regular/light discussion on warthogs. Light ishould look good with content. as 12px, I thought it was too light. Maybe my screen is too small to judge.23:20
wgrantsinzui: It looks too light next to the monospace font that we use.23:21
wgrantBut apart from that i think it looks great.23:21
huwshimisinzui: Yes I saw that comment.23:22
sinzuiwgrant: are you looking at my branch that changes most of the font rules?23:22
wgrantsinzui: I was going to look at that at some point.23:22
wgrantsinzui: Is that your -1 branch?23:23
lifeless*sob*23:23
lifelessDistribution._init23:23
lifeless*stab stab stab*23:23
huwshimisinzui: Not sure what to think really.23:24
sinzuiif you think it is too light now, ~sinzui/launchpad/fixed-font-sizes-1 will make you cry with light23:24
wgrantlifeless: Yes, I pointed that out to you last week :)23:24
lifelesssimilarly Person._init23:24
sinzuiI favour landing it. We can change the font easily if users think it is too dark23:24
wgrantThat's fine.23:24
wgrantsinzui: Do you have screenshots?23:25
huwshimisinzui: I'm happy with that23:25
sinzuione moment23:26
wgrantHmm, all the heading styles have changed.23:28
sinzuiwgrant: this is the proposal http://people.canonical.com/~curtis/new-font-rules.png23:30
huwshimisinzui: I suspect there is a reason behind Mark saying that light is best for content. There must be some some data or research behind it and if it goes into the guidlines we can think about it more then.23:30
wgrantsinzui: The new monospace style is much nicer.23:31
wgrantBut some of the headings are too big.23:31
sinzuihuwshimi: I think the same. Since ubuntu.com is using 13px, I would not use it when judging light font23:31
wgranteg. https://launchpad.dev/bugs/1, the CVE References is huge.23:31
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:I23:31
sinzuiwgrant: h2's are meant to be huge. I made ours smaller than suggested23:32
huwshimisinzui: It's possible that CVE heading should not be a h223:33
sinzuiwgrant: I noted in the css and in discussion that many headings should probably be h3.23:33
wgrantI think we probably want to fix that first.23:33
wgrantI don't read the MP diff before looking at this sort of change, because it can affect how I explore.23:34
sinzuiA h2 for simple list seems to be an exageration23:34
maxbFrom https://answers.launchpad.net/launchpad/+question/147254, would anyone fancy telling me about OOPS-1885CMP2 and OOPS-1885CMP4 ?23:34
wgrantmaxb: Sure.23:34
huwshimisinzui: What this is helping us do is fix hour html as well23:35
wgrantmaxb: I am trying to locate them, since they are not in the usual places.23:36
sinzuihuwshimi: I agree. I want to stab the "see more" in the portlet first23:36
maxbfun23:36
lifelessCMP23:36
lifelesscode imports?23:36
wgrantCreateMergeProposals.23:36
maxbCreate Merge Proposal (from email)23:36
lifelessah23:36
wgrantPossibly loganberry-bzrsyncd...23:37
lifelesswgrant: they should be in lp-oops23:37
wgrantThey're not.23:37
lifelesswgrant: are they not? if not please file a bug on oopstools23:37
wgrantI plan to, once I work out where they are.23:37
lifeless(or better yet fix directly, but theres still a lot of black magic in there)23:37
lifelesswgrant: production-configs will tell you23:37
wgrantlifeless: It tells me the path.23:38
wgrantNot the machine.23:38
wgrantIt appears to be crowberry, oddly.23:38
lifelessit also tells you the service23:38
lifelessand cronscripts tells you the machine from the service23:38
lifelessStevenK: please tell me you are about to kill Distribution._init as part of the derived distros work.23:39
wgrantmaxb: They are not on devpad, which may just mean they are not part of the incremental sync. Just triggered a full sync, which will take a few minutes.23:40
wgrantsinzui: Interestingly, your branch almost fixes sprite alignment in Firefox 4.23:42
wgrantIt's also less broken in Chromium now.23:43
sinzuiwgrant: yes23:43
lifelessspeaking of sprites23:43
maxbok, thanks23:43
lifelessthe sprite code generates ValidPersonChecks23:43
lifelesswtf23:43
sinzuiwgrant: I still have not mastered all the variables in positioning23:43
wgrantlifeless: Yeah, since it shows a desaturated icon for invalid people.23:44
wgrantlifeless: lp-oops can see them, but they don't seem to sync regularly.23:46
wgrantmaxb: ValueError: tag/value separator not found in line '=20\\n'23:47
wgrantIn bzrlib.23:47
wgrantLet me check the content.23:48
james_wcodebrowse, are you there?23:49
wgrantjames_w: Is it down again?23:49
wgrantYes.23:49
wgrantNot again...23:49
james_w503 for me23:49
wgrantLOSA ping: ^^23:49
wgrantIt started dying on the 27th.23:50
wgrantNo obviously relevant changes :/23:50
lifelesswgrant: see anything wrong with r -1 of lp:~lifeless/launchpad/bug-72403323:50
mbarnettwgrant: seeing codebrowse issues again?23:51
wgrantmbarnett: Yes.23:51
lifelessmbarnett: hallelujah23:51
wgrantRestart one, please.23:51
wgrantNot the other.23:51
mbarnettinteresting, not alerting yet23:51
* mbarnett logs in 23:51
lifelessmbarnett: was anything changed on guava?23:51
lifelesslast weekend23:51
wgrantlifeless: I will tell you once one of the codebrowses is awake again.23:53
mbarnettlifeless: not that i am aware of .23:53
wgrantmbarnett: It's died three or four times since last week.23:53
wgrantAnd not before that.23:53
mbarnett2011-02-25 17:15:20 status installed libc-bin 2.11.1-0ubuntu7.823:55
mbarnettthere were a handful of changes when puppet was installed on the box23:55
wgrantNo sudo upgrades? :P23:55
mbarnettheh23:55
lifelessjust libc-bin; guess we need to check its changelog23:55
mbarnetthmm,23:56
mbarnett2011-02-25 17:15:20 status half-configured libc-bin 2.11.1-0ubuntu7.823:56
wgrantNothing interesting in 7.823:56
wgrantBut who knows what the old version was.23:56
lifelessthe apt log should say23:56
lifelessmbarnett: what was the replaced version ?23:56
wgrantThe dpkg log should too.23:56
mbarnettthere are a ton of changes with the puppet install23:57
* mbarnett stops looking for a moment to restart codebrowse23:57
wgrantmbarnett: Leave one process hung, pls.23:57
wgrantAnd a list of packages changed for puppet would be nice.23:58
mbarnettcodebrowse2 is left.23:58
wgrantThanks.23:58
wgrantStill borked.23:58
wgrantAnd of course now it works.23:59
mbarnetthttps://pastebin.canonical.com/44061/23:59
wgrantMeh, all ruby.23:59
mbarnettyeah23:59

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