/srv/irclogs.ubuntu.com/2011/09/11/#launchpad-dev.txt

=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
nigelbIs lifeless back tomorrow or next monday?09:34
LPCIBotProject db-devel build #855: FAILURE in 0.28 sec: https://lpci.wedontsleep.org/job/db-devel/855/11:00
Nigelouch, build failure in 0.28 sec, that is fast12:15
nigelbits going to get opened anyway :)15:41
nigelb(bah, wrong channel)15:42
LPCIBotYippie, build fixed!16:01
LPCIBotProject db-devel build #856: FIXED in 4 hr 41 min: https://lpci.wedontsleep.org/job/db-devel/856/16:01
=== aldeka is now known as aldeka-mobi
lifelessmorning19:15
lifelessnigelb: I am back now19:15
nigelblifeless: GOOD Morning!19:16
nigelbI just wrapped up a db-devel patch19:16
nigelbI have to run the entire *tests* before I submit an MP?19:16
lifelessno19:17
lifelessthey *have* to be run before landing ;)19:17
nigelbAh. Instructions said so.19:17
lifelessif you don't run them all then ec2 may find a missing change and you'll need to get reviewed etc again.19:17
nigelbI can start a test run, but I'm afraid it might take quite a while on my core 2 duo :)19:17
lifelesshow much memory do you have?19:17
nigelb2Gigs19:18
lifelessthe process is less likely to get restarted if you've run them all, but I consider that 'must' a 'should' :P19:18
lifelessyou might like looking into the lxc parallel stuff and run 2 test runners with 1/2 the tests each19:18
nigelbok, I'll start a test run and head to bed.19:18
nigelblifeless: Family doing okay now? :)19:19
lifelesswe're still learning, but the medical stuff seems to have settled down.19:20
nigelb:)19:20
nigelbThat's good to hear19:20
nigelbOh.19:22
nigelbdb-devel test != devel tests.19:23
jelmernigelb: are you running oneiric?19:29
nigelbNope. Old School! Lucid19:29
jelmerhah, ok19:32
nigelbHrm, one error so far. Looks unrelated. http://paste.ubuntu.com/687111/19:32
jelmernigelb: looks like you might be missing a copy of pgbouncer19:33
nigelbIsn't that a dep?19:35
nigelbOr rather, shouldn't it be a dep?19:35
nigelbwebapp-authorization.txt is failing as well.19:42
nigelbwoah.*lots* of fail :(19:46
nigelbARGH.19:52
nigelbHow often does devel get merged into db-devel?19:52
nigelbI may have made a *big* mistake :|19:52
lifelessdevel->db-devel - every time devel passes buildbot19:52
nigelbmakeBugTasks() in tests are failing because that field doesn't exit.19:53
nigelb*exist19:53
* nigelb looks at models19:53
nigelbGRAR.19:53
nigelbYep. Its here.19:53
lifelessthat means the process worked :P - we've just shown that we haven't (yet) removed deps on the field completely.19:53
nigelbWell, technically, no.19:54
nigelbI removed these deps the other day.19:54
nigelbI sense my db-devel is out of date.19:54
nigelb\o/ Yes. Stabbing myself in the foot++19:56
lifelessftw, ftw, ftw20:04
nigelbOn a more positive note, now I know why I should land the changes to not use fields first and then start the db patch.20:10
lifelessdoing teaches well :)20:11
nigelbYeah. The DB process is neat. Taught a bit of postgres as well.20:12
nigelblifeless: Is there already a bug about JS OOPS or do you want me to file one and assign to myself?20:19
lifelessI don't know20:19
nigelbA quick google search doesn't give me anything. But I might be phrasing it wrong.20:20
lifelessI wonder if we've fixed bug 294656 yet20:20
_mup_Bug #294656: Every page requests two JavaScript libraries (remove MochiKit) <lp-bugs> <lp-translations> <lp-web> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/294656 >20:20
lifelessbug 74199120:21
_mup_Bug #741991: launchpad users have to manually report javascript failures <javascript> <Launchpad itself:Triaged> < https://launchpad.net/bugs/741991 >20:21
nigelblifeless: nope, not fixed yet. Still see it.20:23
nigelbneed to start figuring out where to start.20:24
lifelesson mochikit or oopses ?20:25
nigelboopses20:25
lifelessmake sure you have read https://dev.launchpad.net/ArchitectureGuide/ServicesRequirements20:26
lifelessif you would like some ahead-of-time design, create a technical LEP (I don't think it needs one)20:27
nigelbI think you handed me a technical LEP the other day :)20:27
lifelessthen, bring up a microservice for it - involves making a new project - https://dev.launchpad.net/CreatingNewProjects20:29
nigelb"Don't be overly cute." HA.20:29
lifelessyou may need 2 projects - one for the js, one for the server.20:29
nigelbSo, just start a separate project on Launchpad?20:30
lifelessthat will depend on how you plan to get the js into lp pages20:30
nigelbI might need some help there, because I'm not sure how to do that.20:31
lifelesssure20:31
nigelbI've only touched Launchpad-related JS once.20:31
lifelessI wouldn't make the project until you've a handle on that then.20:32
lifelesscause you won't know if you're making 1 or 2.20:32
lifelessanyhow the microservice needs to be truely self contained, tested, etc.20:33
nigelbI guess the sensible approach is to just start writing the server-side code in a +junk branch and finish that off.20:33
lifelessfinally to integrate with LP, need to have a test that js failures in LP do reach out to the url with a GET, and that the url is correct20:34
lifelessnigelb: sure, thats what I did with gpgverifyd20:34
nigelbcool, so once I get this db patch done, I'll start writing the wsgi app.20:34
lifelesswallyworld: hi20:35
wallyworldlifeless: hello. how's parenthood?20:35
lifelesswallyworld: you seem to be the closest working js person :)20:35
lifelesswallyworld: *intense* :)20:35
wallyworldhah, you must be desperate :-)20:35
wallyworldhow can i help?20:36
lifelesswallyworld: nigelb is planning on working on bug 741991.20:36
_mup_Bug #741991: launchpad users have to manually report javascript failures <javascript> <Launchpad itself:Triaged> < https://launchpad.net/bugs/741991 >20:36
* wallyworld looks20:36
lifelesswallyworld: architecturally we're fine - but there is a pragmatic question around the (small) js needed.20:36
lifelesswallyworld: big picture this is a microservice that translates crafted GET requests into oops reports.20:36
lifelesswallyworld: with a couple of small bits of JS to turn errors in the page into GET requests to the url that that service is running on.20:37
lifelesswallyworld: some of that js is about encoding stuff to the service. The rest is about how to trap errors - baseline js, and then after yui loads a yui last resort handler.20:38
lifelesswallyworld: so the question is, how should we make that js available to LP pages?. The microservice URL can be mapped into our namespace (e.g. at <root>/+jsoops)20:39
m4n1shis curtis hovey around?20:39
m4n1shdont know his nick20:39
nigelbm4n1sh: its sinzui and he's around US timings I believe.20:39
lifelesshe is not. It is sinzui.20:39
m4n1shlifeless: nigelb  thanks20:39
nigelbUTC-0400 to be more precise.20:39
wallyworldlifeless: we could hook something in using base-layout-macros.pt. i'm not 100% familair with yui's error hooks though20:40
m4n1shwanted some help on lp-release-manager-tools20:40
lifelesswallyworld: I kindof meant - do we copy the js in (to avoid another page load), or do we have a combo loader that can talk across projects, or do we inline the code (and reference it via an egg or something?)20:41
lifelesswallyworld: this doesn't need to be sorted $now, just when nigelb is getting close to done on the service.20:41
nigelb(I'm just planning on starting the service this week)20:42
wallyworldlifeless: first thought is that if the code is small which i expect it will be it would be nice to copy it in to avoid another page load, hence the base-layout-macro suggestion20:43
lifelessinlining it but not having it in the LP tree itself would also avoid the page load20:44
lifelessand perhaps be easier to maintain (can't forget to do something you don't need to do)20:44
wallyworldyes. i didn't account for the fact that you want to have this as generic code outside of the lp tree?20:45
lifelessthats right20:45
lifelessif we do this well, u1, landscape, sso and perhaps others can use it.20:45
nigelbHrm, I hadn't thought that far.20:46
wallyworldwe could do what we do for yui - pack it with our stuff into a launchpad.js20:46
wallyworldyui is now a tarball which is versioned using buildout20:46
lifelessyeah20:46
lifelessok20:46
lifelessso this microservice can be released as a tarball20:47
lifelessand we can unpack the tarball and yank out the js20:47
wallyworldi added a buildout recipe for yui20:47
wallyworldyes20:47
lifelessgreat20:47
lifelessnigelb: I think one project20:47
wallyworldand pack the js into launchpad.js and include it inline where required20:48
wallyworldit will be nice to have this client error reporting functionality20:49
nigelblifeless: excellent, okay.20:49
lifelessnigelb: how does js-oopsd grab you as a project name ?20:49
nigelbNot cute, fits the bill :)20:50
lifelesswould you like me to set it up ?20:50
nigelbYes, please. I'm guessing a lot of it need Canonical powers20:51
lifelessit shouldn't20:51
lifelessbut I have it memorised :P20:51
nigelbHA20:51
nigelbYou used http://pypi.python.org/pypi/web for gpgverifyd?20:54
lifelessI did. I used even less for lp:gpgfixtures20:55
lifelesserm python-gpgfixtures. Something.20:56
nigelbYeah, I saw.20:56
nigelbBut it seems to be alpha.20:56
lifelessits not integrated to LP yet, but neither is gpgverifyd20:56
lifelessI am planning on dropping web.py from gpgverifyd for just plain ol wsgi20:56
lifelessor wsgi + paste20:57
nigelbI'm looking at paste as wel.20:57
nigelbIt seems simple enough but too much work.20:57
lifelesspaste is now webob20:57
nigelb*not too20:57
lifelessbut the bits I needed from paste for the gpg keyserver were -tiny-20:58
nigelbGah, I wish documentation was updated on the wsgi website.20:58
lifelessits 99% plain wsgi20:58
lifelessthere is an updated PEP20:58
nigelb3333?20:58
lifelessyes20:59
lifelessok21:01
lifelessjs-oopsd is all ready to go except for trunk having *content*21:01
lifelessyou can branch it though21:01
nigelb\o/21:01
lifelessWhat I've been doing for things like python-oops is copying everything but .bzr in from the project before and then tweaking21:02
lifelesschecking with 'bzr diff' that I've caught every occurence I need to worry about :)21:02
=== aldeka-mobi is now known as aldeka
nigelblifeless: Ah, the wsgiref.simple_server is the plain ol wsgi way?21:06
lifelessyes21:06
nigelbNow, I'm less confused. :)21:06
lifelesswsgiref is in the standard library21:06
nigelbI was thinking you wanted me to first implement a library based on the PEP and then use it.21:07
nigelbAnd I kept wondering what I got myself into :P21:07
lifeless-lol-21:07
nigelblifeless: This will be a stateless server right? Acting only on the parameters in GET.21:11
lifelessyes21:11
lifelessand the options passed to the command line :)21:11
nigelbOh.21:11
lifeless(like --oops-dir and --oops-prefix)21:12
nigelbWhat kind of options? Oh wait. Let me write iteration 1 tomorrow.21:12
nigelbah, right. those.21:12
lifelessthe gpgverifyd __main__ should show you how to configure that up [ except you will need *two* prefixes ]21:12
lifelessone prefix for failures in this wsgi app itself21:12
nigelbfailures?21:13
lifelessone prefix to use for failures generated from js pages21:13
lifelessunexpected exceptions :)21:13
nigelbAh, that prefix.21:13
nigelbWoah, 3 am. *heads to sleep*21:15
ajmitchso I finally got LP to run again on my laptop, it was of course a simple PEBKAC...21:39
ajmitchthe appserver can't talk to the openid provider when http_proxy/https_proxy is set21:40
lifelessajmitch: :P22:06
ajmitchlifeless: the exception wasn't being displayed or apparantly logged somewhere, so it took a little while to find22:07
ajmitchI didn't expect that it would be looking at proxy settings22:07
lifelessajmitch: not logged? thats surprising.22:08
lifelesswhat were the symptoms you had ?22:08
ajmitchan error page about OpenID provider discovery22:08
lifelessdid it have an oops id ?22:08
ajmitchnot that I recall, let me start it again & try22:09
ajmitchno OOPS, just "OpenID Provider Is Unavailable at This Time"22:11
lifelessajmitch: so, in a multi provider world, thats fairly reasonable. However we're stil single provider, and if/when we go multiple we'll still want to take action if Ubuntu SSO is having issues.22:12
lifelessajmitch: -> file a bug ('failure to talk to do provider discovery on the Ubuntu SSO does not OOPS')22:13
ajmitchfrom what I can see, it just uses lib/lp/app/templates/launchpad-discoveryfailure.pt22:14
ajmitchat least I can start looking at other stuff now instead of just being blocked on login :)22:14
lifelessindeed.22:16
lifelessyou'll filed that bug ?22:16
ajmitchin the process of doing so22:16
ajmitchbug 84782322:18
lifelessthanks!22:18
ajmitchs/823/423/22:18
lifelessmwhudson: 120 lines. Really?22:25
lifelessmwhudson: as in, can't hatchet it down to size ?22:25
mwhudsonlifeless: as in, this was presented to me as the way to do the query using our current data model22:25
lifeless><22:25
mwhudsonwhich we kinda knew was wrong, but this is a new illustration :)22:26
lifelesspgsql will probably have a hernia optimising it22:26
lifelessand degrade to to a genetic optimiser22:26
mwhudsonreally we should be using a kv store for this (i suspect)22:26
lifelesswhat thing?22:26
mwhudsonhttp://validation.linaro.org/lava-server/dashboard/reports/kernel-ci-data/22:27
lifelesswow22:28
lifelessI don't see how you can get to 120 lines for that :)22:28
mwhudsonwell, using django's contenttypes thingy is part of it22:29
mwhudson(and that wasn't my fault)22:29
lifelessthats a horrible name in a web app22:30
lifelesstruely inspired22:30
lifelessyou'd have to search quite hard to find something more ambiguous with a different default association22:31
mwhudsonthe horror does not stop with the name22:31
lifelessdid you mean 120 lines of python that generates sql, or 120 lines in the resulting sql ?22:37
mwhudsoni mean 120 lines of hand written sql22:39
lifelesswow22:41
lifelesshow does that related to the contenttypes thingy?22:41
jelmerhey lifeless, welcome back22:43
lifelessthanks22:44
lifelessflacoste: horrible name, but http://pypi.python.org/pypi/RunningCalcs/0.1 - online algorithms; might be able to simplify the PPR using this22:50

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