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

=== Chex changed the topic of #launchpad-dev to: Launchpad will be down/in read-only from 23:00 UTC up to 02:00 UTC for a code update | Launchpad Development Channel | Launchpad read-only 23.00 UTC Wed 3 March - 00:30 UTC Thu 4 March, for 10.02 rollout (http://is.gd/9tVfU) | Week 4 of 10.02 | PQM is in release-critical mode (thumper is RM) | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review i
=== bjf is now known as bjf-afk
jmlthumper, mwhudson: you should upgrade :)00:30
mwhudsonjml: week 4!00:31
jmlmwhudson, oh yeah :(00:31
jmlwe're going to fix that some day soon00:31
jmlactually, I should ask gary about that.00:33
jmlhe was going to do it as a part of an "only roll out QAd changes" mechanical solution00:33
jmlthey're orthogonal, but he wanted to use the former as a carrot for the latter00:33
jmlturns out the latter is really really hard00:33
mwhudsonjml: is this related to MergeWorkflowDraft ?00:35
jmlmwhudson, that's Bjorn's one right?00:35
mwhudsonjml: yeah00:35
jmlmwhudson, I think it's different.00:35
jmlanyway, really bed time00:40
jml(why do all you kiwis work such insane hours!)00:40
mwhudsonlaunchpad is behaving very strangely during this rollout00:41
wgrantTiming out, OOPSing, saying it will be going down really really soon, then read-only, then timing out again...00:45
mwhudsonwgrant: and despite saying "You cannot make any changes.", i can see all the editing options00:45
wgrantmwhudson: YOu're not logged in, are you?00:46
wgrantIt's kicked me out again.00:46
wgrantSo it shows all the actions.00:46
wgrantEven though launchpad.Edit and launchpad.Admin have been revoked from every object.00:46
lifelessjml: because we're committe?00:49
lifelessd00:49
lifelessd00:49
lifelessd00:49
mwhudsoni'm logged in00:49
wgrantHm.00:50
=== bjf-afk is now known as bjf
* mwhudson off for a bit01:16
wgrantHow is the internal community commit/review privileges discussion going?01:42
=== Chex changed the topic of #launchpad-dev to: Launchpad Development Channel | Week 4 of 10.02 | PQM is in release-critical mode (thumper is RM) | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes |
=== bjf is now known as bjf-afk
=== jamalta-afk is now known as jamalta
thumpermwhudson: https://code.edge.launchpad.net/~kiko/linux/2.6.3103:01
thumpermwhudson: first pass succeeded03:01
mwhudsonthumper: woo03:04
mwhudsonthumper: it's still going to take aaaaagees03:04
thumpermwhudson: yep, but at least it won't die part way through03:04
thumperjust take ages03:04
mwhudsonyeah03:05
=== stub1 is now known as stub
=== jamalta is now known as jamalta-afk
jtvstub: I cheated06:11
stubI'm dobbing06:11
jtvstub: I *did* have a look at your branch06:11
jtvdobbing?06:12
stubstrine06:12
jtvoh, sorry mate, I don't speak that06:12
stub'informing the authorities', normally parents06:12
jtvapart from "beware drop bears near billabong"06:12
jtvah06:12
jtvwhat in plain English we would call "ratting you out"06:13
jtv*drat06:13
jtvforgot to bring "dropbeertjes" from Holland06:13
jtv(beertjes == little bears)06:13
jtvstub: _anyway_...  the new feature looks cooler than I could have imagined.  I suspect we'll have to learn about or build a whole new set of tools to figure out where the savings are at this level of the stack.06:14
jtv(Although the hottest-bug listings come to mind :-)06:15
stubWe have tools to measure page generation times by analizing the zserver trace logs. Run the report, land your tweak, run the report a day later. If things look better, its a win.06:16
stubI'm thinking off adding cache_stores, cache_hits & cache_misses to opstats today. If the hits are low we are choosing badly. But we will have to find out what 'low' is by trial an error.06:17
jtvBut "land your tweak" also involves convincing a reviewer that you're doing something useful, which you'll only really find out in the next stage.06:18
stubNo, convincing the reviewer it is a good experiement.06:18
spmlosa cowboys on staging?06:18
stubIt really needs edge - not enough genuine traffic on staging to generate genuine reports.06:19
spmpoint06:19
jtvspm: good point, but a bit unreliable in terms of performance and staging updates06:19
spmjtv: unreliable staging updates would work IN your favour here :-)06:19
* jtv suspects spm of having his IRC client beep on the word "strine"06:19
jtvspm: unless they suddenly _do_ happen, is my point :)06:20
spmwas the word 'beer' actually... in '"dropbeertjes"'06:20
stubWhat we have to avoid is using the cache to optimize particular pages. We add caching to a page template, it actually makes the initial rendering slower. So this is purely about increasing overall performance - reducing the average time of a particular class of pages or perhaps freeing up resources for other stuff.06:20
jtvspm: funny because it's quite probably true06:20
jtvstub: that was one question I had: how sensitive is the caching to exact path & query parameters?06:21
stubSo make an educated guess, then measure the results over a day.06:21
stubIt is very sensitive - the getKey() method encapsulates all this. query parameters or url changes, cache is not reused.06:21
jtvgood to know06:22
spmthe only danger i'd see in this process approach, is late in a cycle. we really wouldnt want experimental code accidently getting rolled to prod06:22
wgrantSounds like MergeWorkflowDraft needs to be undraftified.06:22
jtvWould this also be a useful hook for profiling the fragments?06:23
stubI suspect it will be hard to make pages perform worse. It might be possible to put lots of pressure on the cache slowing things down, but we can fix that by increasing our cache size. But we shall see once I can land and do some real world tests.06:23
jtvwgrant: thou speakest in riddles, verily as Greek06:23
spmstub: please, for my sanity, do now throw down challenges like that. folks have a way of trying to achieve them. (....hard to make pages perform worse)06:24
jtvstub: is there a don't-cache-at-all mode to give us more flexibility there?  Especially handy with a hypothetical pofiling option06:24
stubjtv: Sure. You shutdown memcached.06:24
lifelessfragment caching++06:25
lifelessESI yaaaay06:25
jtvstub: I was thinking of a slightly finer granularity—as an addition to the list of caching modes for a given fragment06:25
stubIts similar to ESI, except we don't have to work out htf to get page templates to generate non-wellformed XML fragments and have access control so 'fred' doesn't see 'bobs' cache when we want that.06:25
jtvEnd System Identifier?06:26
jtvElectroStatic Interference?06:26
stubedge side includes06:26
stubSquid tech06:26
jtv...and there goes a new GTF entry.06:26
stub(and devs don't need to run squid locally)06:26
wgrantJust memcached :P06:26
jtvlifeless, stub: gtf entry #23517, with thanks06:26
mupBug #23517: adept is not translated in french <kde-i18n-fr (Ubuntu):Fix Released by carlos> <https://launchpad.net/bugs/23517>06:26
stubChewing up a whole 1MB of ram for its cache!06:26
jtvno mup, stay out of it06:27
stubjtv: esi is at least 6-7 years old...06:27
lifelessstub: well, on the squid side, the main pt is ~= an ESI processor anyway06:27
jtvstub: well, I didn't have it yet06:27
wgrantIs the TALES extension going to land soon?06:27
lifelessNot sure about the xml angle; dunno why you would care about welformedness per se;06:28
stubAs soon as pqm opens06:28
lifelessfred vs bob we should solve anyway06:28
wgrantExcellent.06:28
lifelessVary is generally sufficient06:28
jtvstub: status on the mp is still Needs Review IIRC06:28
stublifeless: PageTemplates is cool provided you want to generate well formed XML. If you want to generate anything else, your shit out of luck.06:28
lifelessstub: I get that; I don't get why that is an issue for ESI06:29
wgrantWhy are there multiple Linux imports going?06:30
wgrantWouldn't it make approximately several hundred times more sense to import the latest branch, stack the rest on it, and have all of them imported in only slightly longer than the last branch?06:30
lifelesswgrant: ask kiko :P06:30
stublifeless: You are right. I had a different use case when I first looked at it, and for it to be useful to me then I would have needed to cache non-wellformed XML fragments due to page layout issues (cause we still had to use tables back then for any non-trivial page layout).06:31
lifelessstub: ahha! mystery explained :)06:31
stubYou can't cache non-wellformed fragments with the TALES syntax either06:32
stub(cause they are generated with ZPT)06:32
jtvwgrant: that does sound like it makes several hundred times more sense, but maybe (and I really mean I don't actually know) the resulting number is considered less than the sense index for other things that could be done with the engineering time.06:39
jtvwgrant: we get similar questions about translations imports sometimes06:39
wgrantjtv: It doesn't take any engineering time, though.06:39
wgrantIt's not an engineering issue.06:40
wgrantSomebody just clicked Retry on too many imports.06:40
jtvwgrant: you're saying somebody expended effort to produce needless work for the server?06:40
wgrantjtv: It looks that way. The imports should have been suspended for months/years.06:40
jtvwgrant: they're that old?  Did somebody revive an entire category of old imports to apply a bug fix or something?06:41
wgrantjtv: One has been suspended for four months. I don't know why they're active again.06:43
jtvwgrant: al-maisan landed a branch this cycle that IIRC suspends imports when disabling an... archive I believe.  Maybe that's related.06:44
wgrantjtv: There was a 10.01 branch that suspended binary builds when disabling archives.06:44
wgrantIs that what you're thinking of?06:44
jtvoh, last cycle, OK06:44
jtvProbably it.  I reviewed the branch, but can't say all the details stuck.06:45
jtvstub: I'm trying to simulate read-only mode in a view unit test.  Do you know how I do that?  I tried setting test_request.annotations['launchpad.read_only_mode'] to True but that doesn't do the trick.06:46
jtvAnd I don't know whether zope will give is_read_only the same request that the test set up for the view.06:55
jtvlifeless: can squid reuse a single connection to a server between requests from different clients?06:59
lifelessyes06:59
lifelessbe a pretty freaking terrible proxy that can't do that06:59
jtvSo if the connections live long enough, I guess a local proxy (with the necessary setup to deal with https) could save me some ssl connections on multi-browser LP testing.07:00
jtvOh, but it'd all be one session to LP, wouldn't it07:01
jtv...would it?07:01
lifelessone ssl session07:02
lifeless!= one lp session07:02
lifelesslp doesn't see ssl07:02
jtvlifeless: I was wondering if LP sessions were designed on the assumption that nobody's proxying the SSL sessions.07:02
lifelesswe proxy them07:02
jtvIf they weren't, then great07:02
lifelessapache does SSL unwrapping07:03
lifelessbackends speak http07:03
jtvSo it all ends up in the same stomach after you swallow it anyway.  Gotcha.07:03
jtv(And the stomach can deal with that fact and fails to go antiperistaltic when it sees chocolate ice cream juxtaposed to haddock)07:04
lifelessonly if the haddock is deep fried07:04
* jtv checks07:04
jtvblast.  no haddock.07:04
stubjtv: I don't know sorry. When I left it, it was a config variable. Now we switch using a .txt file, but I'm not sure how it works in tests.07:05
jtvstub: I don't see a lot of code using is_read_only; we do in a few places to smooth over some bits that can oops out in read-only mode, and maybe that's just weird of us.07:06
jtvstub: I think I'll try reproducing the request-checking logic from is_read_only first... maybe it returns nothing at all and then I'll have to get into the function's head in a different way.07:08
jtvmorning al-maisan!07:08
al-maisanGood morning jtv, how are things :)07:09
stubI would think the process would be construct your request, set the read only annotation on it, invoke the publication machinery with that request.07:09
jtval-maisan: things are a lot warmer here than in Amsterdam, thank you :)07:09
stub(because the publication machinery is what needs to detect read only mode to install the read only database policy that triggers your bug)07:09
al-maisanjtv: we had the first lunch on our terrace yesterday :)07:09
stubWhich might be a saner way of constructing your test - just install the read only database policy and see if the code works.07:10
al-maisanjtv: It was a bit chilly but nevertheless we ate outside :)07:10
jtval-maisan: I had a hard disk temperature warning the other day where the temperature was lower than the one on my Gnome weather applet.  :)07:10
al-maisanjtv: oh :)07:10
jtvstub: it's based on a text file afaics... though there's also a global variable.07:10
jtval-maisan: to be fair, it was a "temperature has been too high in the past" warning07:11
stubjtv: Yes, but what that text file does is tell the publication machinery to install the read only database policy07:11
jtvbon dia dpm07:11
jtvstub: ah ok07:11
al-maisanjtv: pheww ;)07:11
dpmhey jtv, bon dia :)07:11
jtv"based on periodic measurements taken from my server's on-board sensors, global warming is going to kill us all within the coming week"07:12
stubThis is LaunchpadDatabasePolicyFactory in canonical.launchpad.webapp.dbpolicy, which is what is called when the publication machinery does IDatabasePolicy(request)07:12
jtvstub: thanks07:12
al-maisanjtv: Oh well, we have nothing to worry then ;)07:13
jtval-maisan: not until about halfway through the week, and for different reasons, not after the coming week :)07:13
al-maisanjtv: maybe you should pursue career options in astrology? ;)07:15
jtvstub: the app code checks is_read_only() itself though, which wouldn't be fooled that way... is that wrong?07:15
stubjtv: You would need to do both then. Maybe that can be simplified.07:16
jtval-maisan: "Pluto is in the house of...  Pluto is not in anybody's house, because nobody lives at the inner edge of the Kuyper belt.  Sorry."07:16
al-maisan:-)07:17
jtvstub: actually there's no reason to have the db policy at all, as long as I can convince is_read_only to return True for a moment.07:17
stubjtv: Quick hack would be to make is_read_only() return true if the currently installed database policy is LaunchpadReadOnlyDatabasePolicy07:17
stubjtv: Ok. I would have thought you would need the database policy installed to trigger the error, which you would then fix possibly using explicit checks to is_read_only() and choosing a different code path.07:18
stubIdeally, we would never need that sort of check but I suspect there are a few valid use cases buried in these 200k lines of code somewhere...07:18
jtvstub: in this case, checks to is_read_only deeper down in the call tree upset the logic that tries to describe to users what they can and cannot do with given translations.07:20
jtvstub: "can't do X, can't do Y, the usual explanation fails, BOOM."07:20
jtvI don't just want to replace the BOOM with "oh, we must be in read-only mode" and risk getting it wrong.  If worse comes to worst, I'll either create the read-only file (won't be cleaned up if you trip over your power lead during that split second though) or add a way to make is_read_only lie to you.07:22
stubMake it lie if tests need it, and LaunchpadFunctionalLayer can provide the API to twiddle it.07:23
stubThe 'you can't do that because we are in read only mode' exception should already generate a 'you can't do that now' error page. Perhaps some code is swallowing exceptions it shouldn't be?07:24
stubOh,... you are looking before you leap, so yeah.07:25
stubNobody else worries about that - read only mode is rare.07:25
jtvstub: looks like is_read_only is merely getting a different request object than I'm creating, so I can work with that07:27
jtvBTW I am seeing some repeat requests in these oopses, so somebody is clearly coming away with the impression that Launchpad doesn't work for them.  So might as well fix them.07:30
stubI think the error page is 'you can't do that now, maybe later' so it is reasonable for users to hit reload a few times (more reasonable to have a cup of tea between reloads though).07:33
jtvstub: that's not the case here... it's an assertion failure on a non-form page07:33
jtvSo somebody visits a page and just gets an oops.07:34
stubSounds like the problem is they get an oops instead of a ReadOnlyModeViolation exception getting raised and rendered by the error handler.07:35
stubYou might be papering over the real bug07:35
jtvstub: no, because it's a read-only, non-form page.07:35
jtvJust visiting the page should not be a mode violation.07:35
jtvSomebody visits a page and just gets an oops.07:36
stubI understand that, but it still shouldn't be generating an OOPS.07:36
stubIn fact, I can't see how it would oops due to being in read only mode if the page is genuinely read only. But I haven't seen the OOPS report.07:37
stubOh... because lower level code manually checks is_read_only() and returns values that other code can't handle?07:37
jtv'zacly07:38
stubSo you shot yourself in the foot ;)07:39
jtvstub: we work as a team.  So we shoot each other in the foot, which is a lot easier to do.07:40
stubsynnergy07:40
jtvand occasionally, gangrene07:40
jtval-maisan can praise himself lucky he missed that bit of TMI07:41
* al-maisan resists the urge to ask what he missed .. :P07:41
jtval-maisan: good.  Just be grateful your connection blinked.07:42
al-maisan:)07:42
jtvmwhudson: can tests access branches by their http URLs in any way?08:27
adeuringgood morning08:28
jtvgood morning adeuring08:28
adeuringhi jtv!08:28
jtvthumper: can you tell me of a way in which a test can access a branch by its http URL?08:45
thumperjtv: http://bazaar.launchpad.net/~user/project/name08:45
jtvthumper: in a test?08:46
thumperjtv: not at this time of the night08:47
jtvthumper: I'll take that as "too hard to test" then.  Thanks for responding though!08:47
thumperjtv: take it as "I'm tired"08:48
jtvthumper: ok, I'll go bother North-Americans when they get here.  Thanks.08:48
wgrantjtv: What're you trying to do?08:59
jtvwgrant: trying to test the bit where a buildfarm slave retrieves the contents of a branch through http09:01
wgrantjtv: I think you are violating the spirit of our poor slave code by adding tests to it.09:02
jtvwgrant: good point, thanks bye!09:02
jtvwgrant: then again, it wouldn't be a slave if its life was meant to be easy09:03
wgrantjtv: Heh.09:03
jtvRight now I'm testing it with a whatever-URL-LP-wants-to-give-for-it, but that little bit of extra realism would be nice09:03
wgrantHTTP branch access normally goes through Apache, doesn't it? I don't think it works for tests.09:04
jtvwgrant: that's what I think too, but I feel I would be remiss if I didn't at least look for a way.09:09
wgrantjtv: Indeed.09:10
mrevellMorning09:24
mwhudsonjtv: no :/09:39
mwhudsonjtv: in the testrunner config, branch.warehouse_url is a file:/// url that can be accessed09:39
mwhudson(with luck and a following wind, this area of the testing is pretty horrible)09:39
jtvmwhudson: I figured.  Accepted risk of this part of the code, I suppose.  But had to try.  Thanks!09:40
mwhudsonjtv: at some point we'll maybe come up with a testing http server that we can use in tests09:43
mwhudsonbut it doesn't exist yet09:43
jtvmwhudson: given what the weather was like in NZ this "summer," I can see that you'd want the extra dissipation from your CPU09:44
wgrantI think I've almost dried out from that lovely Saturday.09:44
mwhudsonjtv: summer waited until the day after lca09:44
mwhudsonit was a gorgeous day today09:45
mwhudsonbut gosh yeah, the weekend between the sprint and the conference was pretty special09:45
jtvmwhudson: I didn't.  Which is a shame because someone I missed at both LCA _and_ FOSDEM (note opposite sides of globe) had business calling me recently09:45
jtvTo be fair, FOSDEM was colder than LCA.09:45
jtvBarely.09:45
jtvMostly because I wasn't wearing my coat when I went outside.09:46
mwhudsoni took this yesterday: http://www.flickr.com/photos/mwhudson/4402652072/09:46
wgrantI thought it would be reasonable to walk between the hotels on Saturday. But no, no, it had to start ABSOLUTELY POURING when I was a few minutes out.09:46
mwhudsonwell, it doesn't actually ever get hot in wellington09:46
mwhudson(max temp ever recorded: 29 deg C)09:46
wgrantNice.09:46
jtvmwhudson: remind me to drop by sometime...  Shame my next round-the-world flight goes the other way around09:46
jtvmwhudson: wgrant and I met in the street that day because we were blown along different roads towards the same intersection09:47
wgrantAh, yes, that's right.09:47
jtvwgrant: good thing you managed to retract that elbow09:47
jtvIf I'd flinched I wouldn't have been able to grab the lamppost.09:48
wgrantHeh.09:48
jtvmwhudson: I can't begin to explain how exotic that view is to someone from a country where a subliminal slope in the landscape is counted as the national Mountain.09:49
mwhudsonjtv: wellington is VERY like that09:52
mwhudsonjtv: thailand has lumpy bits though, doesn't it?09:52
jtvmwhudson: to me wellington looks a lot more like your picture than like where I come from09:53
mwhudsonjtv: i mean, very not flat09:53
mwhudsonsorry, bit unclear09:53
jtvquite :)09:53
mwhudsonemma's workplace is 1000m across, 200m down09:53
jtvthe most densely populated parts (such as "here") are pretty flat09:53
jtvWhat parts get flooded has more to do with the state of the sewage system than elevation.09:54
wgrantThat seems to be the case in most places09:54
wgrantBut Wellington's founders were clearly crazy.09:54
=== mpt_ is now known as mpt
deryckMorning, everyone.10:59
mrevellGuten morgen deryck11:01
bigjoolseyup deryck11:04
adiroibanBjornT: hi! do you know how can I run windminll test in „headless” mode ?11:22
=== daniloff is now known as danilos
deryckintellectronica, what happened to your branch for better queries when calculating max_bug_heat?  Did it make the rollout?11:45
=== matsubara-afk is now known as matsubara
intellectronicaderyck: it landed, but didn't make the rollout11:46
intellectronicaiiuc it's designated for a reroll or cp?11:46
deryckintellectronica, that's what I thought, too.  Just didn't see the card on the kanban board.11:47
intellectronicaderyck: it seems cards disappear from the rightmost columns? i definitely moved the card there last night11:48
intellectronicaare you or someone else moving the cards, or is there some automated process?11:48
deryckintellectronica, ah, you had it in done-done?  I moved all of them to archive late yesterday, with the release out of the way.  no worries.11:49
deryckintellectronica, or maybe someone came behind me as part of the release and moved your card, if it was the lone card there.11:49
=== al-maisan is now known as al-maisan-lunch
=== mrevell is now known as mrevell-lunch
BjornTadiroiban: the easiest is to use xvfb-run. e.g. "xvfb-run -s '-screen 0 1024x768x24' bin/test -t test-to-run"12:21
adiroibanBjornT: well, I'm trying to produce an testing environment similar to ec2 on one of my remote computers12:22
adiroibanon which I have ssh and root account12:23
adiroibanok. so I have to manualy start the X framebuffer12:24
wgrant'make check' will use xvfb-run, won't it?12:24
bigjoolsDISPLAY= make check12:47
bigjoolsmuch easier :)12:47
didrocksjml: ok :)13:14
jmlhey folks13:14
didrockshey guys :)13:14
jmldidrocks & I are working on exposing some API stuff to make it much, much easier to opportunistically write Ubuntu apps13:14
leonardrsalgado, jml, do you know if there is a reason why the launchpad web service does not publish public ssh keys? is it for security reasons?13:14
leonardrit came up twice yesterday13:15
jmlleonardr, no, there isn't. I'm actively helping didrocks expose them :)13:15
leonardrok, awesome13:15
jmlleonardr, it's just https://launchpad.net/+people/me/+sshkeys after all13:15
didrocksthere should be a branch hanging somewhere :)13:15
jmlbut!13:15
jmlwhat is perhaps more interesting is exposing adding new SSH keys via the API13:15
jmland adding new GPG keys13:16
BjornTadiroiban: ec2 uses xvfb-run. you can look in test_on_merge.py, which is what ec2 runs.13:16
leonardrjml: yeah, i meant the functionality to add the keys as well as look at them13:16
didrocks(for the note, that's the hardest part for Quickly user)13:16
didrocksnot uploading the right gpg key, and so on…13:16
jmlleonardr, well, I guess the question is how much easier OAuth is to hack than whatever the browser normally does13:18
jmlleonardr, a question I'm almost wholly ignorant of.13:18
adiroiban thanks!13:19
jmlso where were we13:22
jmlahh yes.13:22
jmlwe want to add SSH keys so that people can upload branches13:22
jmland we want to create the user's first PPA, and guide them through everything up to that point13:23
jmlso we've exposed GPG keys and SSH keys...13:23
persiaUsers still just get/push public GPG keys and LP checks the keyserver, right?13:24
jmlI don't know13:24
james_wno13:24
jmlAt least we need to link a GPG key to an account and to sign the CoC13:25
persiaPlease confirm.  Lots of folk set expiration dates in keys and then republish updates if they don't wish them to expire, which is supported now, and would break if that wasn't still true.13:25
james_wyou decrypt a piece of text LP sends to you to get a string out of it which you give back to LP13:25
persiajames_w: No?  Was that way in November (last time I updated my key)13:25
jmlpersia, if that's a genuine concern then send an email please, I've got too much on write now to get distracted on another thing13:26
jmlso, my questions...13:26
jmlwhat's the right internal api for adding GPG keys?13:26
* persia will just test and file a bug if it breaks, expecting that it would only break from a structural change13:26
james_whttps://help.launchpad.net/YourAccount/ImportingYourPGPKey13:27
james_wjml: you mean internal API, or exposed API?13:27
didrocksjames_w: yeah, I remember about that. I think we can pause and tell user "check your email, past what's in it there" (and Quickly does the decrypt and send it)13:27
jmljames_w, internal13:27
james_wjml: that I do not know13:28
james_wdidrocks: yeah, that's probably about the best you can do absent events/callbacks in the API13:28
jmldidrocks, I guess for this we should just expose an API that takes a fingerprint and does whatever https://launchpad.net/people/+me/+editpgpkeys does13:29
didrocksjames_w: jml: agreed.13:29
jmljames_w, statik has started some work on events/callbacks13:30
didrocks(so, quickly should upload the public key in the ubuntu keyserver first, not sure about the delay before refreshing, but I'll take that by experience :))13:31
jmldidrocks, yeah, that sounds right.13:31
jmldidrocks, so, I guess that means we should add a 'registerGPGKey' method to IPerson13:32
didrocksjml: oki13:33
jmldidrocks, I don't know what to do with the codeofconduct stuff13:34
jmldidrocks, nor with "creating a PPA"13:34
jmlbut we can figure those out, or maybe bigjools will hepl13:34
didrocksjml: right, I think first target is gpg and ssh key13:34
bigjoolsjml: are you talking about adding a PPA through the API?13:35
didrocks(in any case, for the CoC, Quickly should still present this with a "do you agree?" before upload the signature)13:35
didrocksbigjools: yeah13:35
bigjoolsI have always avoided doing that because it's at risk from rogue scripts creating loads of junk PPAs13:37
didrocksbigjools: the issue is that a lot of Quickly users don't get how to create one and also some others app are doing screen scrapping for that IIRC13:38
didrocksbut I still understand your concern, and that's why I still think project creation should be manual and don't intend to automatize it in Quickly :)13:39
bigjoolsyeah - would we allow api creation of people etc?  same problem. and opens things up nicely for spammers.13:40
jmlbigjools, aren't they already at risk from screenscrapers?13:41
bigjoolsyes but that involves more effort13:42
jmlwhat's the cost of a PPA with nothing in it?13:42
bigjoolsrisk of spam descriptions cluttering the search13:42
bigjoolsalso13:43
bigjoolsonce you create one you can't change your name13:43
bigjoolsso I want people to see the big fat warning on the web ui13:43
* bigjools -> food13:45
jmlbigjools, we could work around those problems first by deleting inactive empty PPAs and secondly by encouraging clients to warn their users.13:45
bigjoolsppa deletion is a whole 'nother kettle of fish :)13:45
jmldidrocks, ok let's keep going :)13:48
didrocksjml: oki13:49
jmldidrocks, we need to find the code behind the editgpgkeys page13:50
jmldidrocks, and then push it down into the model and then expose it.13:50
didrocksjml: make sense13:51
jmldidrocks, ValidateGPGKeyView in canonical.launchpad.browser.logintoken13:53
jmlthe name "logintoken" scares me a little, I don't know how it fits in...13:53
jml_getGPGKey gets the key from the server13:55
didrocksjml: sorry, still grepping (my VM is very slow…)13:55
jmldidrocks, fix your install :)13:55
didrocksjml: if only I would have been able to install on my lucid box at Portland :)13:56
jmldidrocks, heh13:56
didrocksjml: ok, got it :)13:57
* jml is getting his zope migraine again13:58
jmldidrocks, afaict, 'validate' is called first13:59
* james_w hands jml an IAsprin13:59
jmldidrocks, and then 'continue_action_gpg' is called13:59
jmlhahaha13:59
didrocksjames_w: oh, you have a collection of IAsprin_set so? ;)13:59
jmldidrocks, the interesting methods are _getGPGKey and _activateGPGKey14:00
didrocksjml: ok14:00
jmldidrocks, they've got way too much logic for browser code imho.14:00
jmldidrocks, so I guess when I get back from the half-hour meeting I'm about to go to, I'm going to move them mostly into model code... maybe as methods on IGPGKeySet or something14:01
didrocksa lot of intercall hidden functions in that file :)14:01
jmlyeah14:01
jmland too much state stored on objects as a substitute for passing parameters :(14:01
jmlbe back soon14:02
didrocksjml: have a good meeting! Thanks again :)14:02
=== jamalta-afk is now known as jamalta
=== al-maisan-lunch is now known as al-maisan
adiroibanusing lazr.restful, can I export as a webservice operation, a method decored with @property ?14:19
gmbArgh. Is there something that I have to do to get store.flush() to actually work in a test? For some reason the objects that I create before doing store.flush() don't get stored unless I do a transaction.commit().14:32
Ursinhahey gmb, I see this oops happened during the rollout, do you know what could have caused that? https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1523EC163714:49
gmbUrsinha: Er... I think you're asking the wrong guy. That looks like a Soyuz oops.14:51
* noodles775 looks14:51
bigjoolsARGH14:51
Ursinhagmb: I don't actually know if that's Bug's, Soyuz' or foundations14:51
bigjoolssoyuz14:52
gmb\0/14:52
gmbI mean, too bad.14:52
bigjools:p14:52
Ursinhalol14:52
bigjoolsanother release-critical for me14:52
Ursinhabigjools: there are 23 recorded oopses of that kind14:53
bigjoolsnot surprised14:53
bigjoolsI can fix it14:53
Ursinhait seems all while the rollout was on14:53
bigjoolseasy fix - dunno how it slipped through14:53
bigjoolshmmm14:53
Ursinhabigjools: let me check again14:53
Ursinhafound 40 more14:54
bigjoolsUrsinha: the same url does not oops any more14:55
Ursinhabigjools: yes, I saw that too14:55
bigjoolsI think I know why it happened14:55
bigjoolsthe database changed and edge was still running old code14:56
bigjoolsso it's a rollout issue14:56
Ursinhabigjools: that's why I thought that could be a foundations issue14:56
bigjoolsUrsinha: could be, I don't know the exact details of how rollouts are done14:57
=== matsubara is now known as matsubara-lunch
jmldidrocks, I'm a loser.15:11
didrocksjml: no, just very busy :)15:11
jmlsalgado, hi. I'm looking at the GPG key stuff in browser/logintoken15:13
jmlsalgado, what is a logintoken?15:13
salgadojml, a temporary place where we store things that need validation (e.g. email addresses and gpg keys) before they can be added to their tables15:15
jmlsalgado, ahh, I see.15:15
jmlsalgado, so "context.consume()" means "remove it from the table"15:15
salgadothe logintoken is also what's used to handle the validation15:15
salgadoalmost. it means mark the token as consumed so that it can't be used again15:16
jmlsalgado, that makes sense15:16
doctormojml: are you working with didrocks to add the ssh key management?15:16
jmlsalgado, there seems to be a fair chunk of gpg key validation code in browser/logintoken15:16
jmlsalgado, any objections to me moving some of the logic to the model class?15:17
didrocksdoctormo: right, jml is making the gpg part and I try to adapt it to ssh :)15:17
jmldoctormo, yep. working on GPG right now.15:17
jmldoctormo, didrocks has a branch that does the beginning of the SSH key stuff.15:17
jmldoctormo, lp:~jml/launchpad/expose-gpgkeys-bug-389872 for the GPG work15:17
doctormodidrocks: In my code I download existing ssh public keys to compare them with local keys.15:18
jmlman, I still need to file an FFe for Twisted 10.015:18
salgadojml, nope, that should be ok, but you might want to check with registry as I think that's their code, no?15:19
jmlsalgado, I'm checking with you because your name is all over the 'bzr blame' output15:19
* didrocks was sure jml would choose the "blame" alias :)15:20
salgadojml, not for the gpg-specific bits, I'd expect.  I've always managed to stay away from that code15:20
jmlheh heh15:20
jmldidrocks, I don't have time to type out anno...15:20
jmldidrocks, the equivalent SSH code is in...15:22
jmldidrocks, lib/lp/registry/browser/person.py, class PersonEditSSHKeysView15:22
jmldidrocks, I think the add_ssh and remove_ssh methods could be split and put into model code too.15:23
didrocksjml: so, I should pull first, right? You changed that?15:24
jmldidrocks, I'm going to go head-down to do the GPG stuff, if you were here in person I'd talk it through ...15:24
didrocksoh no, ssh15:24
jmldidrocks, no, unchanged.15:24
didrocksok15:24
jmldidrocks, ask me any questions, I'll ping here as I make progress.15:24
=== bjf-afk is now known as bjf
didrocksjml: ok, I've to push some packages into ubuntu right now, but I stick around (will do the ssh part later)15:25
Ursinhad/315:28
Ursinha#fail15:28
deryckintellectronica, I can't find that card or any record of it -- the one you just landed to db-devel yesterday.15:29
deryckintellectronica, I'll just add a new card to "Landed."  You didn't QA this yet, right?15:29
intellectronicaderyck: I QAd this by cowboying it onto staging15:30
intellectronicamaybe i'm wrong about the card, but i was pretty sure i did something with the ban when it landed15:30
intellectronicaderyck: should i create a card to put in the archive?15:31
deryckintellectronica, yeah, create a new card, but put it in Done-Done, please.15:32
=== EdwinGrubbs is now known as Edwin-afk
=== salgado is now known as salgado-lunch
=== matsubara-lunch is now known as matsubara
Ursinhaintellectronica: hi :) today I'm choosing random bugs' people to ask about oopses :) I'm not sure if this oops is a known issue: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1524C201615:58
asabilhi all15:58
intellectronicaUrsinha: i'm not sure either, and can't look immediately (in the middle of a review and i have a call in 2m). promise to get back to you later15:58
Ursinhaintellectronica: ah, ok :) I can ask in the prod. meeting, don't worry15:59
Ursinha:)15:59
Ursinhaintellectronica: thanks anyway15:59
Ursinhaallenap: (or intellectronica :), could you help me with the oops I mentioned above, some time today?16:18
allenapUrsinha: Do you mean the one you asked about in the prod meeting?16:19
Ursinhaallenap: yeah - I've asked intellectronica a bit earlier today too16:20
jmleverything is far too complex.16:21
intellectronicaUrsinha: otp, will have a look soon16:22
jmlthere's a comment here that implies that it's possible to active a GPG key without being logged in.16:26
jmlthat seems odd to me.16:26
intellectronicajml: it makes sense in theory, since gpg in itself can provide the necessary validation16:27
intellectronicamaybe it can be done via email?16:27
jmlintellectronica, it's in browser code16:27
jmlintellectronica, which doesn't _necessarily_ mean it's not done by email16:27
intellectronicajml: well, cherche le pagetest16:28
jmlintellectronica, my French is weak. Does that mean "sucks to be you"?16:28
intellectronica:D16:29
intellectronicajml: just in case this was a series question, the phonetic similarity should have been a giveaway. it means 'look for the ___'.16:29
jmlintellectronica, it's not a serious question :)16:30
jmlI might even bust out the word "cognate" to prove it, if called upon to do so.16:31
intellectronicaUrsinha: i don't know what's the deal with that oops, and i don't want to push it back, but it looks like an authentication bug, rather than a bugs bug16:36
intellectronicaUrsinha: is there a bug for it?16:36
Ursinhaintellectronica: not yet, I wasn't sure if that was a known bugs problem or a new foundations one16:37
intellectronicaUrsinha: my guess is foundations, but feel free to subscribe me to the bug just so that i can follow up on it later16:37
Ursinhasure, thanks intellectronica16:38
intellectronicasorry i couldn't help more16:38
jmlphew16:49
deryckintellectronica, I moved your confirmation dialog bug into WIP but blocked, citing other work had to be done.16:52
deryckintellectronica, but I think we should consider it like this, to force us back to it sooner rather than later.16:52
deryckok?16:52
intellectronicaderyck: cool, makes sense16:52
deryckintellectronica, excellent.16:52
jmldidrocks, I have pushed up some code16:54
jmlstill no exposed API16:54
jmlbut maybe the diff means something.16:54
didrocksjml: ok, I'll have a look, thanks  :) /me really busy until… I don't know :)16:56
jmldidrocks, ok. cool. I'll keep plugging away at this.16:57
didrocksjml: thanks :)16:59
=== salgado-lunch is now known as salgado
=== deryck is now known as deryck[lunch]
intellectronicaflacoste: just a quick reminder that you've got an r-c request from me. another bug heat branch for the re-roll.17:09
flacosteintellectronica: ok, i'll look at it soon17:14
intellectronicacheers17:14
leonardrgary, bug #53202517:15
mupBug #532025: Hard-coded version names in old scripts are duplicated in new versions of lazr.restfulclient <lazr.restfulclient:New> <https://launchpad.net/bugs/532025>17:15
gary_posterah, I see leonardr17:15
leonardrgary: i don't think it's terribly urgent, but i could fix it in a couple hours17:16
gary_posterleonardr: I'm in favor of doing it now.  Please put it on the kanban board.  Force it in (we will be out of the limits)17:17
leonardrok17:17
leonardrgary: ok, i've got another bug w/r/t the fake launchpadlib browser which i'm filing now17:20
gary_posterok cool17:21
allenapUrsinha: Just read the scrollback. I'm at the same conclusion as intellectronica re. the OOPS from earlier. If you have filed a bug for it, or will, please can you subscribe me too?17:23
Ursinhaallenap: sure17:26
=== danilos is now known as daniloff
=== gary_poster is now known as gary-lunch
=== jamalta is now known as jamalta-afk
=== deryck[lunch] is now known as deryck
=== jamalta-afk is now known as jamalta
leonardrgary, the unpleasant truth is in bug 53205517:57
mupBug #532055: Trusted credential-management apps are broken and may be doomed <launchpadlib :New> <https://launchpad.net/bugs/532055>17:57
Ursinhaallenap: have you seen this issue? bug 53207818:29
mupBug #532078: Count of bugs with patches is wrong, +patches shows different information <Launchpad Bugs:New> <https://launchpad.net/bugs/532078>18:29
mwhudsongood morning19:13
Ursinhamorning mwhudson19:15
=== Edwin-afk is now known as EdwinGrubbs
=== gary-lunch is now known as gary_poster
gary_posterthanks leonardr.  flacoste, when you have a moment, you might be interested in looking at https://bugs.edge.launchpad.net/launchpadlib/+bug/532055 also (if you haven't already ;-) )19:28
mupBug #532055: Trusted credential-management apps are broken and may be doomed <launchpadlib :New> <https://launchpad.net/bugs/532055>19:28
marsderyck, ping19:33
deryckmars, on call19:33
marsok, np19:33
deryckmars, off now, what's up?19:46
marshi deryck, just wondering where the +patches view template is.  Trying to track down the revision popup positioning bug.19:47
deryckmars, I believe it's bugtarget-patches.pt in lip/lp/bugs/templates19:48
marsmy copy of trunk may be messed up, files missing19:48
deryckkfogel could confirm this.  ^^19:48
deryckheh19:49
deryckkfogel wasn't here, I'd guess, mars. :-)19:49
marskfogel / kfogel_, what was the name of the new +patches view template?19:49
kfogelderyck, mars: hi19:50
* kfogel reads19:50
kfogelmars: uh, one sec19:50
* deryck spins with all the kfogel*19:50
kfogelbugs-patches-view.pt I think19:50
kfogelmars: ^^19:50
deryckkfogel, bugtarget-patches.pt maybe?19:50
kfogelderyck: yeah, kfogel_ is from my under-surgery ubuntu box, whereas this one (talking now) is from my Debian lifeboat box.19:51
kfogelderyck: oh, that might be right19:51
marslol19:51
kfogelmars: ^^19:51
kfogelmars: is it missing for you??19:51
deryckmars, it's only in db-devel for me, but I haven't updated all day.19:51
marskfogel, yes, but I may have a serious branching issue at play instead19:51
kfogelmars: ok19:52
marsderyck, oh?  db-devel only would explain it :)19:52
marsI'm looking in devel19:52
kfogelmars: but it should have been merged over, no?19:54
marskfogel, did you land your changes on devel, or on db-devel?19:55
marsbut yes, with the rollout, devel and db-devel should be in sync19:55
deryckmars, kfogel -- perhaps we're waiting on a re-roll to merge db-stable back into devel?  Not sure how we normally do this honestly.19:57
marsbzr pull db-devel spat out 48 text conflicts.  Didn't know pull could do that...19:57
marsderyck, kfogel, I would like to rule out branch insanity on my end first, before delving too deep.  I'm using the +patches code as a lifeline - it's on edge, so it should be in devel19:58
deryckmars, I just updated and it's not in devel for me either.19:59
kfogelmars: landed on db-devel19:59
kfogelmars: all that work was on db-devel, because it involved db changes.19:59
marskfogel, ok.  My understanding was that a db-devel landing shows up on staging, but not on edge.  *If* I'm remembering correctly, we did that for the YUI3 upgrade.20:01
kfogelmars: I believe that is correct.20:02
marsok, so first I will rule out db-devel insanity on my end...20:02
kfogelmars: dev.launchpad.net/Trunk, but I think you're right -- db-devel changes show up on edge and main launchpad when we do a new release.20:02
kfogelwhich we either have done, or are in the middle of doing :-).20:02
marsright20:02
kfogelmars: devel always goes to edge; db-devel goes to staging.20:02
kfogelmars: just to be pedantically repetitive and prolixly verbose about it.20:03
marsso +patches is visible on edge, therefore...20:03
kfogelmars: therefore I think it must be in devel?20:03
kfogelmars: is it visible in non-edge?20:03
marsI am not insane, this exists: https://bugs.edge.launchpad.net/gwibber/+patches20:03
marsI am not insane, this also exists: https://bugs.launchpad.net/gwibber/+patches20:04
thumperguys, db-devel hasn't been merged back into devel yet20:04
marsthumper, so we're in limbo!20:05
thumpermars: go write some docs or something :)20:05
marswell, this means something was chewing up my local launchpad branches.20:06
kfogelthumper: I take it PQM is still gated then?20:07
thumperkfogel: yep20:07
kfogelCUZ I'M IN UR PQM WAITIN TO LANDZ20:07
kfogelok20:07
kfogelI guess that branch will wait :-)20:07
sinzuiadiroiban: I replied to bug 531261. There are some places in the code that may show you how to make ISeriesMixin complete20:11
mupBug #531261: Move ISeriesMixin to lp.registry.interfaces.series <cleanup> <tech-debt> <Launchpad Registry:In Progress by adiroiban> <https://launchpad.net/bugs/531261>20:11
adiroibansinzui: ok. I will try to move them.20:14
adiroibanI was also checking parent attribute, but distroseries already have the „parent” attribute and it returns the parent distribution20:15
sinzuiadiroiban: so we need to add a parent to productseries?20:16
adiroibansinzui: productseries already has a „parent” and it return self.product20:17
sinzuiso we can move attrs like bug_supervisor to the mixin right?20:18
adiroibansinzui: ah.. sorry. It looks like both „parent” implementations are ok20:18
adiroibansinzui: yes. we can move them in the mixin20:20
adiroibanI will try to move as much as posible and will come back with questions/issues. Thanks for now :)20:22
adiroibansinzui: do we still need „id” attribute in IProductSeriesPublic and IDistroSeriesPublic ?20:35
sinzuiI think so.20:35
adiroibanwhere are they implemented?20:43
adiroibanI can not find them in model.productseries or model.distroseries20:44
mwhudsongarara20:49
mwhudsonwhy is the code in canonical.launchpad.webapp, some of the most delicate and central in the whole system, so poorly tested?20:50
mwhudsonor tested in ways i can't find, anyway20:50
mwhudsonflacoste: you there?20:51
flacostemwhudson: i am20:52
mwhudsonflacoste: do you know where the tests for adding the notification messages about read only mode are?20:52
flacostehmmm20:52
flacostei would bet in the pagetest20:52
mwhudsonah20:53
flacostemwhudson: xx-read-only-=mode.txt20:53
flacostewithout the =20:53
flacostein lib/canonical/launchpad/pagestests20:53
mwhudsonah, you are right20:53
mwhudsonflacoste: do you know why api requests don't explode from having notifications added in read-only mode?20:56
mwhudsonflacoste: i was looking at fixing https://bugs.edge.launchpad.net/launchpad-foundations/+bug/40328120:57
mupBug #403281: public xmlrpc requests broken during read only period <oops> <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/403281>20:57
mwhudsonbut it seems like testing is going a bit awkward20:57
flacostemwhudson: API requests don't use notifications20:58
flacostemwhudson: and tbh, i don't understand how XML-RPC adds notification20:58
mwhudsonflacoste: well, it blows up trying20:58
mwhudsonINotificationResponse(request) raises CannotAdapt20:58
flacostedo you know where notifications are added?20:58
mwhudsonflacoste: yeah, publication.py:212 ish20:59
flacostemwhudson: api probably don't blow up because they can probably adapt21:00
flacostethey are a subclass of LaunchpadBrowserRequest21:00
mwhudsonright21:00
flacostethat's probably not the case for the XMLRPC ones21:00
mwhudsonbut PublicXMLRPCRequest isn't21:00
flacosteyou could override maybeReadOnlyRequest in the XMLRPC publiation21:00
flacosteto not add the notification21:01
flacosteor make PublicXMLR_PCRequest provide INotification...21:01
mwhudsonwhat i was thinking of doing was INotificationResponse(request, None) and coping with the None returned21:01
flacostethat's also valid21:02
mwhudsonflacoste: can you see what the try:/except ComponentLookupError: is for in maybeNotifyReadOnlyMode ?21:02
flacosteand probably the best option21:02
flacosteactually, i think it was meant to catch your use case21:02
flacostebut it's possible that a zope ugprade change the exception hierarchy21:02
mwhudson:/21:02
mwhudsonah21:03
flacosteor that code was bad in the first place21:03
flacostenever tested....21:03
flacostei'd say just change the exception21:03
* mwhudson deletes it21:03
mwhudsonoh, not do the , None thing?21:03
mwhudsonoh, i made up the CannotAdapt exception, it raises TypeError :(21:06
flacosteso handling None is probably better21:06
flacostesince TypeError can easily mask a programming error21:06
mwhudsonright21:08
mwhudsonflacoste: thanks for the hints21:09
flacostemy pleasure21:11
=== matsubara is now known as matsubara-afk
wgrantjml: Hmm, is it really a good idea to make authentication tokens writable by normal OAuth tokens?21:14
flacostemwhudson: is lp-serve something Launchpad specific or is it part of bazaar itself?21:15
mwhudsonflacoste: it's launchpad specific, but fairly small21:15
mwhudsonflacoste: it's like bzr serve, but backed onto the launchpad vfs, not the file system21:15
* mwhudson stabs TestReadOnlyModeSwitches21:16
flacostemwhudson: ok, how impossible is it to have that command show the branch it's serving in the command line?21:16
mwhudsoni guess i should just write a new class21:16
mwhudsonflacoste: you mean using setprocargs or whatever that's called?21:16
flacostemwhudson: you mean that the branch served is only known after the program is started, right?21:17
mwhudsonflacoste: right21:17
flacostemwhudson: is there a way now when a bzr lp-serve process starts eating all memory to know what was happening in it?21:17
flacostewhat branch was being served21:17
mwhudsonflacoste: not really :/21:17
flacosteis there a bug for that already?21:17
mwhudsonflacoste: i guess lsof21:17
flacosteyou mean, seeing which file it has open21:18
mwhudsonyeah21:18
flacosteyeah, that's heavyweight21:18
flacostei'll file a bug for the losa's sake21:18
mwhudsonthere's a bug about recording access statistics for branches21:18
mwhudsonwhich is related21:18
mwhudsonbut nothing for this losa use case that i know about21:18
mwhudsonflacoste: i hear crowberry was running out of memory even now it's got 32 gigs?21:19
flacosteyep21:19
mwhudsonowwwwwwwwwww21:19
flacostea bzr lp-serve process was chewing 21G of memory!21:19
flacostethat's a bug in bzr for sure21:19
mwhudson!!!21:19
mwhudson!!!21:19
flacostefor knowing the branch in cause would help21:19
mwhudsonyeah, i can see that21:20
sinzuiThat is a bug a big a Mothera.21:20
wgrantThat is impressive.21:20
mwhudsoni think setting an rlimit of 4 gigs or so for lp-serve processes would be uncontroversial...21:21
flacostemwhudson: can you file a RT about this? or is this something we should do in code?21:21
mwhudsonthat's something we can do in code21:21
wgrantmwhudson: Do you know why there are three Linux imports running concurrently? That seems insane, given how long even a single one will take.21:22
mwhudsonwgrant: all but one got suspended21:22
wgrantmwhudson: Ah, so they are. Great.21:23
mwhudsonflacoste: https://bugs.edge.launchpad.net/launchpad-code/+bug/53221321:25
mupBug #532213: limit memory bzr-serve processes can use <trivial> <Launchpad Bazaar Integration:Triaged by mwhudson> <https://launchpad.net/bugs/532213>21:25
flacostethanks21:25
flacostemwhudson: i also filed https://bugs.edge.launchpad.net/launchpad-code/+bug/53221021:25
mwhudsonflacoste: ok21:26
donatas_sHello21:32
donatas_sThere are problem with launchpad server:  Sorry, there was a problem connecting to the Launchpad server.21:33
mwhudsondonatas_s: which url?21:39
donatas_sIt just start to work, but there was problem with all launchpad url21:42
gary_posterone appserver has been acting up21:42
=== salgado is now known as salgado-afk
mwhudsonflacoste: able to review this publication fix, seeing as we talked about it already?22:54
mwhudsonit's pretty tiny22:54
flacostemwhudson: sure22:54
mwhudsonflacoste: https://code.edge.launchpad.net/~mwhudson/launchpad/read-only-xmlrpc-bug-403281/+merge/2070722:58
mwhudsonoh, damnit i forgot to add comments to the tests22:58
=== jamalta is now known as jamalta-afk
jmlflacoste, re lp-serve23:57
jmlflacoste, I got *this* close to writing decent branch access logs for it23:57
jmlwgrant, I don't know, honestly.23:58
wgrantjml: The point of OAuth is to allow users to revoke application privileges.23:59
wgrantIf applications can add authentication tokens, that becomes difficult.23:59

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