/srv/irclogs.ubuntu.com/2012/03/08/#launchpad-dev.txt

lifelessStevenK: I -really- prefer stub to get a lookin with the narrow exception of him being away for an extended period; he is back today.00:19
StevenKlifeless: I would have really prefered to already have it landed, but you disappeared yesterday afternoon. Fine, I will wait for stub.00:21
lifelessStevenK: I EOD'd at 1700 here :)00:22
lifelessStevenK: and cynthia has a cold, so it really was EOD00:22
lifelessStevenK: in any event, I would have said the same thing yesterday00:22
lifelessso bigjools, tell me about messaging servers00:27
StevenKDo we have some report that reports if any patch in db-stable/devel isn't applied to prod?00:32
lifelessno, but we have a bug asking for one00:49
StevenKwgrant: Product done. Would about Distribution?00:52
wgrantStevenK: Yes00:53
StevenKBah, okay.00:53
wgrantYou expected otherwise?00:54
StevenKI didn't, actually.00:54
StevenKwgrant, wallyworld__: https://code.launchpad.net/~stevenk/launchpad/product-distribution-accesspolicy/+merge/9649901:23
* wallyworld__ has a look01:25
wallyworld__StevenK: you probably also need to create a proprietary policy when a product has a commercial subscription created for it01:27
StevenKHmmm01:30
StevenKwallyworld__: So I'm not sure if products go from non-commercial to commercial, or if they are created as commercial01:31
wallyworld__StevenK: i *think* they are created as non commercial and then the subscription is added by an admin01:32
wallyworld__?01:32
* StevenK can't see what method on IProduct is called for that.01:33
wallyworld__i don't think it's on IProduct01:34
wallyworld__StevenK: didn't you add a factory method to create a subscription?01:35
StevenKThat just creates a CommercialSubscription01:35
StevenKWe don't have CommercialSubscriptionS{et,ource}, just it.01:36
wallyworld__i think redeemSubscriptionVoucher does it perhaps?01:37
wallyworld__which is on IProductPublic01:37
StevenKHave you managed to read that function without your eyes bleeding?01:37
wallyworld__not yet01:37
wallyworld__yes, it looks like that is the one01:38
StevenKRight01:39
StevenKThe garbo job doesn't handle that process either01:39
wallyworld__not sure what to do when the subscription expires though. do we remove the policy?01:40
StevenKRight, that's the tricky question.01:40
wallyworld__wgrant: ? ^^^^01:40
wgrantwallyworld__: We don't know how that will work yet.01:42
wgrantwallyworld__: This is just for the initial migration.01:42
wallyworld__ok, just checking :-)01:42
wgrantAt what stage we create the policies once the New World is complete, we don't know.01:42
bigjoolslifeless: helleau01:43
lifelessbigjools: hellauo01:43
bigjoolslike the accent01:44
bigjoolswhat do you want to know then?01:44
lifelesswere they useful, what interface did they have, would you use one again, and whatever you think I should know about them01:45
wallyworld__wgrant: so, for StevenK's branch, do we want to add a proprietary policy when a voucher is redeemed?01:46
wgrantwallyworld__: No, proprietary doesn't exist yet.01:46
wgrantwallyworld__: We'll redefine at what point any policies are created at all later on.01:46
wgrantThe first step is to get bugs onto the new model, which just needs these two created at all times.01:47
wallyworld__ok. the current work i've done in the ui shows proprietary as an option in the disclosure picker for commercial projects01:47
wgrantThis is just a dirt cheap way to achieve that.01:47
lifelessbigjools: can go voice if that would be easier ;)01:47
bigjoolslifeless: can do01:47
bigjoolslifeless: I'll make it quick - I am starving :)01:47
lifelessskype/hangout?01:48
wallyworld__StevenK: r=me01:48
bigjoolslifeless: I'll skype you01:49
bigjoolslifeless: well I would do if you were on01:50
bigjoolsah skype is being crap01:50
lifelessI despair about my ADSL01:52
bigjoolsI despair about random desktop lockups01:53
StevenKlifeless: In your case, the A is not Asynchronous, but Abominable.01:54
bigjoolslifeless: frozen01:56
bigjoolslifeless: for f....02:00
bigjoolslifeless: reliable internets in NZ then?02:03
lifelesswill be if you answer, switching to tablet's skype rather than faildsl02:03
bigjoolslifeless: not geting your call02:04
bigjoolstried to call you and you didn't answer either :)02:04
wgrantStevenK: Any test failures from that branch yet?02:44
wgrantStevenK: I'd expect some in test_bug_mirror_legacy_access_triggers02:44
bigjoolswallyworld__: are you at home?02:48
wallyworld__yeeees?02:48
* wallyworld__ is nervous now02:49
bigjoolswallyworld__: eeeexcellent, can I pop round in a bit and print and scan sumting pleez :)02:49
wallyworld__it will cost you02:49
bigjoolswine?02:49
bigjoolsI can pay in wine02:49
wallyworld__we'll discuss it02:49
bigjoolsooerr missus02:51
* bigjools out02:51
stokachucould someone check out my headers and see if im missing anything when doing an authenticated call to me?ws.op=searchTasks? http://pastebin.ubuntu.com/873995/03:19
stokachuit times out, but doing an anonymous call works03:20
stokachui dont have OAuth realm="https://api.launchpad.net/" but that is optional according to the oauth specs03:25
wallyworld__wgrant: StevenK: what would i need to do to get a review of a branch which merely renames stuff, but the line count is high03:26
lifelesstimeout -> do you get an OOPS in the response headers ?03:26
StevenKwallyworld__: Beg.03:26
stokachulifeless: yea03:26
lifeless... which is ?03:26
* wallyworld__ is on his knees03:26
wallyworld__https://code.launchpad.net/~wallyworld/launchpad/fix-sharing-terminology-948083/+merge/9650603:27
stokachulifeless: one sec :)03:27
stokachulifeless: apparently a code update is in progress at this very moment03:27
stokachuim not sure how long those take03:28
lifelessstokachu: you're testing on staging ?03:30
stokachulifeless: yea03:30
lifelesstry qastaging03:30
stokachuok03:30
lifelessit should be up03:30
stokachulifeless: OOPS-7f4c62461a1ee30fcb05df7f03a8a3ef03:31
stokachulifeless: fwiw i just tried on production and it worked03:31
wgrantHeh, GitHub seems to have lost all their CSS03:33
stokachuthey had ssh problems earlier03:33
wgrantstokachu: Bug searches except in small projects will tend to time out on staging.03:33
StevenKwgrant: So I have an attribute that requires view to see and edit to change. Do I need a decorator for that?03:33
wgrantAnd qastaging.03:33
wgrantStevenK: That applies to most attributes in Launchpad.03:33
wgrantStevenK: It goes on IBugView03:33
wgrantWe don't usually use interfaces to specify edit permissions.03:34
stokachuwgrant: ok, is this not the correct approach i should take then?03:34
StevenKwgrant: Okay, so the IBugEdit I'm making is pointless?03:34
wgrantStevenK: Although in some simple cases (eg. if launchpad.Edit grants edit privileges on everything that launchpad.View can see) you can use interfaces.03:34
wgrantStevenK: IBugEdit would conventionally be things that you require launchpad.Edit to see.03:34
wgrantstokachu: I don't know... what are you trying to do? :)03:34
StevenKwgrant: There's a bunch of methods you need .Edit to call03:35
stokachuwgrant: im just trying to get my profile and see bugs (public/private) im assigned to03:35
wgrantStevenK: Then they belong on IBugEdit03:35
stokachuso far ive just been investigating searchTasks03:35
wgrantAlso, it should be illegal to have two people talking with the same first two letters.03:35
stokachuthen ill append like &assignee='adam-stokes' ?03:35
wgrantOne of you needs to go awawy :)03:35
stokachuLOL03:35
stokachuit is getting late i could go play some dawn of war03:36
wgrantstokachu: So, if you just want assigned bugs, specify assignee=, yeah03:36
StevenKLet's get stub in here too!03:36
StevenKThen we can have three!03:36
wgrantstokachu: By default it will do things like search by bugs you've commented on.03:36
wgrantstokachu: Which can be very very slow.03:36
stokachuwgrant: ah ok03:36
lifelessstokachu: so yeah, thats a simple code/performance issue for us03:37
stokachuso with assignee can it be just my name? like searchTasks&assignee=adam-stokes03:37
lifelessstokachu: however03:37
lifelessUser: Anonymous User03:37
lifelessDB id: Anonymous03:37
wgrantstokachu: Probably needs to be assignee=/~admin-stokes03:37
lifeless-> it hasn't logged you in03:37
wgrantEr03:37
wgrants/admin/adam/03:37
stokachuwgrant: ok :)03:37
stokachulifeless: ah i didn't get new credentials on qastaging03:38
stokachucan never have to many staging servers i guess :)03:38
lifelessstokachu: so you probably should if you want confirmation that the auth works ;)03:38
stokachulifeless: haha ok ill re-auth, in your opinion is it better to test against qastaging or staging?03:38
stokachui dont want to anger the gods by messing with production03:39
lifelessyou can use either03:40
stokachuok cool.. thanks for everyones help :D03:40
StevenKwallyworld__: I think this branch I'm in the middle of will turn out bigger.03:41
wgrantwallyworld__: addPillarSharee -> sharePillarInformation?03:43
wgrantI've already tried to make nouns out of these; it doesn't work well :)03:43
wallyworld__wgrant: that sounds reasonable03:43
wallyworld__i have bigjools here at the moment03:43
StevenKwallyworld__: Why did you remove 2011 from the copyright in sharingservice?03:43
wallyworld__because i only started that file in 201203:43
StevenKBut it's a renamed file :-)03:43
wallyworld__the original file was started in 2012 also03:44
StevenKNot according to the copyright :-)03:44
wallyworld__it was just a drive-by03:44
wallyworld__the copyright was originally wrong03:44
wallyworld__cut and paste03:44
wallyworld__from elsewhere03:44
StevenKFine03:44
StevenKI was mostly trolling03:44
wallyworld__:-)03:45
StevenKHmmmm.04:06
StevenKA bunch of methods that are in IBugEdit are mutators for properties in IBugView.04:07
StevenKI might split them all out into IBugPrivacy04:07
wgrantconfused04:14
wgrantStevenK: What?04:14
StevenKwgrant: So private and security_related are defined in IBugView, but there are few methods in IBugEdit that opperate on them04:17
StevenKSame for duplicateof, which is in IBugView, but markAsDuplicate is in IBugEdit and marked as a mutator of it.04:18
wgrantStevenK: Right, that's normal.04:20
wgrantOr does lazr.restful really not like cross-interface mutator_fors?04:21
wgrantIt should work...04:21
wgrantAs long as you define them in the right order/04:21
StevenKwgrant: pyflakes is complaining04:22
wgrantOh?04:22
StevenKlib/lp/bugs/interfaces/bug.py:840: undefined name 'private'04:22
StevenKlib/lp/bugs/interfaces/bug.py:841: undefined name 'private'04:22
StevenKAnd so on04:22
wgrantWell, yes, that's not going to work.04:23
wgrantIBugView['private']04:23
wgrantThis is Python, not magic :)04:23
nigelbhaha04:23
StevenKBut, it should be!04:23
wallyworld__bigjools has left the building04:24
StevenKRight, fixed.\04:26
StevenKSo now pyflakes is happy.04:26
* StevenK tries 'make'04:26
StevenK    @mutator_for(IBugView['private'])04:28
StevenK  File "/home/steven/launchpad/lp-sourcedeps/eggs/zope.interface-3.5.2-py2.6-linux-x86_64.egg/zope/interface/interface.py", line 552, in getDescriptionFor04:28
StevenK    raise KeyError(name)04:28
StevenKKeyError: 'private'04:28
wgrantIBugPublic['private']04:28
StevenKOh damn it, I should have realised that myself.04:29
bigjoolswallyworld__: back now and I can't stop thinking about your special offer04:32
=== jtv1 is now known as jtv
StevenKOh, bwahaha04:33
* StevenK tries VERY hard to not quotefile that comment04:34
StevenKwgrant: http://pastebin.ubuntu.com/874044/ Zope hates me04:34
wallyworld__bigjools: i've been thinking about you too04:34
bigjoolsand other things beginning with w04:34
stokachuwatermelon!04:35
wgrantStevenK: One of your interfaces probably inherits another one.04:35
wgrantStevenK: That is wrong.04:35
wgrantAnd bad and evil.04:35
wgrantAnd won't even work.04:35
StevenKI don't think04:35
StevenKso04:35
StevenKwgrant: http://pastebin.ubuntu.com/874045/04:36
wgrantPerhaps the wrong interface is inherited IPrivacy?04:36
wgrantStevenK: Recall that one of those interfaces redefines bits of IPrivacy04:36
wgrantSo declaring access on both won't work.04:37
StevenKRight, and linked_branches is probably in the exactly same boat04:37
wgrantI would assume so.04:37
StevenKwgrant: Working, but I'm not sure about IBugPublic inheriting from IPrivacy.04:44
wgrantIt's fine if it's OK.04:45
stokachuwgrant: are you or anyone else able to see private bugs assigned to me specifically?04:45
stokachui keep pulling up 0 bugs04:45
wgrantstokachu: How are you filtering to private bugs?04:46
stokachu'request' => 'GET /1.0/~adam-stokes?ws.op=searchTasks&assignee=https%3A%2F%2Fapi.launchpad.net%2F1.0%2F%7Eadam-stokes04:47
stokachuthats my urlencoded request being made, after ive retrieved my oauth token04:47
stokachuhttp://pastebin.ubuntu.com/874054/ heres my full response request04:50
wgrantstokachu: https://launchpad.net/api/1.0/~adam-stokes?ws.op=searchTasks&assignee=https%3A%2F%2Flaunchpad.net%2Fapi%2F1.0%2F~adam-stokes shows a private bug for me (it uses normal webapp cookies, so you can use your browser rather than an OAuth client)04:50
wgrantSo I suspect you're not authing properly.04:50
wgrantstokachu: Alternatively, are you sure you authorized your token for private data?04:52
stokachuhmm I have a header defined with my Authorization credentials04:52
stokachui used the change anything button04:52
wgrantThat should be fine.04:52
wgrantWhat happens if you just "GET /1.0/~" with appropriate auth headers?04:52
wgrantHm04:53
wgrantI'd expect the Authorization header to start with 'OAuth ', I think.04:53
stokachuso OAuth realm is not optional?04:54
StevenKwgrant: I'm getting a bunch of ForbiddenAttribute failures, including one that is in the ZCML, but not the interface.04:54
stokachuhttp://pastebin.ubuntu.com/874061/ here is the response to a /~04:54
wgrantstokachu: That's a response to /~adam-stokes04:56
wgrantstokachu: Which?04:56
wgrantBah04:56
wgrantStevenK: Which?04:56
StevenKOh, hahaha. maybeConfirmBugtasks is listed in the ZCML, not in the interface, but is defined in the model.04:57
wgrantstokachu: 'OAuth realm' isn't an atom. 'OAuth' is the authorization scheme, realm is a field like oauth_nonce04:57
StevenKwgrant: ForbiddenAttribute for things like name, tags, date_last_updated04:57
wgrantYou may be able to omit the realm field04:57
wgrantStevenK: On what operation?04:57
StevenK    current_bug.date_last_updated = now04:58
StevenKForbiddenAttribute: ('date_last_updated', <Bug at 0xcefb390>)04:58
wgrantStevenK: Right, you need to define set_schema or set_attributes04:58
stokachuwgrant: http://pastebin.ubuntu.com/874063/ :(04:58
wgrantstokachu: That's more like it04:58
StevenKwgrant: I should keep the enormous list of set_attributes for lp.Edit?04:58
wgrantstokachu: Prepend 'OAuth ' to your Authorization value04:58
wgrantStevenK: Probably, yes.04:59
wgrantStevenK: Note that some of them are obsolete.04:59
wgrantParticularly on BugTask04:59
wgrantAttributes that don't exist any more.04:59
StevenKI'll try setSchema IBugView04:59
wgrantNo.05:00
wgrantUnless all those attributes were formerly settable.05:00
wgrantBut I suspect they were not.05:00
StevenKYou spoil all of my fun05:00
wgrantSee Branch for a reasonable example of how to do things.05:00
StevenKBut okay, grabbing the list05:00
StevenKI think it's only hits{,timestamp}05:02
StevenKOh, community{score,timestamp}05:02
wgrantSee what I mean?05:03
StevenKAnd a few others05:03
StevenKRight, so there's 9 left05:03
StevenKI think that's a reasonable list05:03
wgrantMost should have setters.05:03
wgrantSo not too many should need naming explicitly.05:03
stokachuSUCCESS!05:05
StevenKHm, this branch isn't too bad. It's just going to be hell to get reviewed.05:05
wgrantstokachu: It works better when you specify an auth scheme? :)05:05
stokachuwgrant: lol sooo much better05:06
StevenKwgrant: My branch that makes ProductSet add AccessPolicy fails with missing db perms. :-(05:06
wgrantStevenK: I am unsurprised.05:06
wgrantStevenK: Grant INSERT on AP to anything with INSERT on Distribution or Product05:06
wgrantProblem solved.05:06
StevenKThat's disgusting.05:07
StevenKBut yeah.05:07
StevenKLooks like just write and updateremoteproduct05:09
StevenKOh, bah05:09
StevenKForgot to add maybeConfirmBugtasks to IBugSomething05:10
StevenKwgrant: I think I've got it working.05:33
StevenKWhich is kind of awesome, considering what I did to IBug.05:33
wgrant:)05:35
StevenKSadly, the branch is 1215 lines, but I don't think that can really be helped given just how big IBug is.05:36
wgrantIndeed.05:38
wgrantI won't kill you.05:38
StevenKOh, are you offering to review it, then? :-)05:38
wgrantDepends on when it's proposed :)05:38
wgrantI'll be reading the diff anyway...05:38
StevenKPassed tests:   115905:39
StevenKFailed tests:      205:39
StevenK1 failed test due to the fact that the stream is still being written to, and another which I've fixed.05:39
StevenKI think that's enough to prove the changes are okay enough to toss at ec2.05:40
wgrantSounds reasonable.05:42
StevenKI'm not in danger of the instance terminating after 20 minutes because make failed, or getting the dreaded message that it tried to send a mail and failed because the message was so damn large.05:43
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/force-ibug-into-line/+merge/9651305:48
StevenK        linux_source_bug_dupe.syncUpdate()06:02
StevenK    ForbiddenAttribute: ('syncUpdate', <Bug at 0xfb78dd0>)06:02
StevenKI can't see syncUpdate() in either the model or interface, but the ZCML allows it.06:02
wgrantStevenK: Done06:03
wgrantsyncUpdate is probably an SQLObject method06:03
wgrantAnything using it is probably wrong06:03
wgrantDelete the call and see if the test still works.06:03
StevenKThere's a bunch of them06:04
wgrantDoes the test explain why they're there?06:04
StevenKI've not checked, just noticed they were failing06:05
wgrantNo06:05
wgrantSo, delete them.06:05
wgrantFlushes are largely implicit now.06:05
StevenKwgrant: maybeConfirmBugtasks is in the model, and was in the ZCML, so by rights it should be on the interface?06:05
wgrantStevenK: You're probably not going to be confirming tasks due to an edit if you can't edit the bug.06:07
StevenKHmmm, it's only called by the bug model itself06:08
wgrantNot by BugTask?06:08
wgrantNo06:09
wgrantSo kill it from the interface.06:09
cody-somervilleAre there any plans to rename the arm restricted arch family to armel?06:09
wgrantIt's unprecedented manual SQL with minimal benefit.06:10
wgrantDoable, but there are no plans.06:10
cody-somervilleHow much trouble would it be to do? With it being 'arm' currently, I have to special case the arch in our automated project setup code.06:11
StevenKwgrant: personIs{DirectSubscriber,AlsoNotifiedSubscriber,SubscribedToDuplicate} were also declared under IBugSet, their docstrings meantioned IBug and they were in IBug's ZCML.06:11
wgrantbigjools: Around?06:12
bigjoolsyes06:12
cody-somervillewgrant, or alternatively, would it be possible to introduce armel and just leave arm there as legacy?06:12
wgrantcody-somerville: No06:12
wgrantbigjools: UPDATE processorfamily SET name='armel' WHERE name='arm'?06:13
wgrant(see above)06:13
* bigjools tries to think what that will break06:13
wgrantThe DAS archtags are already all armel.06:13
bigjoolsyeah06:14
wgrantThe only people it can break are commercial admins.06:14
wgrantAnd I don't care about them :)06:14
bigjoolspfff06:14
bigjoolswth can see proc family?06:14
StevenKBut PFs should not change. :-(06:14
bigjoolsy'know06:15
bigjoolsthis should not change, as StevenK says06:15
wgrantWhy not?06:15
wgrantIt's wrong, and nothing except the UI and API use the anem.06:16
wgrantname06:16
bigjoolswhy is there not an armhf?06:16
cody-somervilleThere is an armhf.06:16
wgrantarm is armel06:16
wgrantarmhf is armhf06:16
bigjoolsoh ok - feh I was looking at dev data not prod06:16
wgrant  6 | arm     | ARM Processors                        | The ARM family of processors, primarily used in embedded applications. | t06:17
wgrant  9 | armhf   | ARM hard float processors             | ARM processors with an FPU                                             | t06:17
StevenK  File "/home/steven/launchpad/lp-branches/force-ibug-into-line/lib/lp/bugs/model/bug.py", line 2071, in _markAsDuplicate06:17
StevenK    duplicate_of.maybeConfirmBugtasks()06:17
StevenKForbiddenAttribute: ('maybeConfirmBugtasks', <Bug at 0x159d31d0>)06:17
StevenKwgrant: ^06:17
StevenKThat is what prompted me to add it to the interface.06:18
wgrantStevenK: Ah, of course. It's called from the other bug.06:18
cody-somervilleAlso, does anyone know why https://api.launchpad.net/1.0/unr/+milestone/unr-9.10 is returning a HasBug object instead of Milestone object?06:18
bigjoolswgrant: ok do it06:18
wgrantcody-somerville: launchpadlib is thpecial06:18
StevenKwgrant: Okay, I'll re-add it to the interface.06:19
cody-somervillewgrant, lol. say again?06:19
wgrantcody-somerville: unr is a project group06:19
wgrantProject groups are evil.06:19
wgrantDon't do it :)06:19
StevenKwgrant: So I drop IBugAdmin, where should heat_last_updated and setHeat() go?06:22
wgrantStevenK: Well, I was going to say to just drop them from the interface. But setHeat seems to be entirely unused.06:23
wgrantExcept by tests.06:23
StevenKAnd heat_last_updated is used by garbo06:23
wgrantYes.06:23
bigjoolswhat download limits does internode have?06:23
wgrantBut not through the interface.06:23
wgrantbigjools: About 10 different ones.06:23
StevenKwgrant: Right, so I should remove the setHeat tests and then IBugAdmin can just die?06:24
wgrantRanging from probably 10GB to a terabyte.06:24
bigjoolsoh well, hope I don't blow this place's limit06:24
StevenKYou can probably ring up and ask06:24
wgrantStevenK: Assuming the tests aren't doing anything interesting, yep.06:24
StevenKwgrant: It seems to just be doc/bug-heat.txt06:25
StevenKwgrant: So I can drop those sections of the doctest06:27
wgrantStevenK: Sounds reasonable.06:27
wgrantcody-somerville: Should be renamed.06:29
cody-somervillewgrant, Okay, thanks.06:29
bigjoolswgrant: is there a broadband comparison/guide site that lists all providers instead of just the crappy ones?06:30
StevenKHaha06:31
wgrantbc.whirlpool.net.au06:31
wgrantAlthough I can't talk to it...06:31
wgrantWhirlpool down. That's amusing.06:32
bigjoolsbroadbandguide is a joke06:32
wgrantLooks like it's been down for about 15 minutes.06:33
nigelbbigjools: I heard broadband down there is a joke anyway ;)06:33
wgrantHow odd.06:33
bigjoolsnigelb: an ISP walked into a bar ...06:34
nigelbhehe06:34
StevenKwgrant: Now where people complain about NBN?06:35
wgrantCoalition headquarters?06:35
StevenKHaha06:35
StevenKWhich is even more pointless than complaining about it on Whirlpool.06:36
bigjoolsodev setup, why u wear out my ssd06:39
StevenKwgrant: I've had to remove a bunch of bug-heat.txt06:51
StevenKAh crap. I need IHasLinkedBranches on IBugView due to linked_branches, but that causes a test failure because linkBranch and unlinkBranch require Edit06:57
wgrantStevenK: Probably best to have IHasLinkedBranches inherited by IBug directly, and name the attributes in configure.zcml06:59
wgrantbigjools: Whirlpool is back, btw07:01
bigjoolswgrant: yeah looking at it07:01
bigjoolswgrant: it's a bit confusing for a newb07:02
bigjoolsI dunno what half the terms are07:02
StevenKbigjools: Did you search?07:04
bigjoolsStevenK: for what?07:05
StevenKbigjools: From bc.whirlpool.net.au there's a "or your can search for ..." which is a link07:05
StevenKwgrant: http://pastebin.ubuntu.com/874142/07:05
StevenKwgrant: Oh, this is not helped that IBugView has its own definition of linked_branches07:06
bigjoolsis it worth doing the phone via internode?07:06
StevenKwgrant: And IBugView['linked_branches'] is subtly different07:07
bigjoolsStevenK: don't see that link07:08
wallyworld__internode is expensive07:08
StevenKbigjools: Oh, bc.whirlpool -> QLD, search07:08
bigjoolsStevenK: ta07:08
bigjoolswallyworld__: you're a stuck record :)07:08
wallyworld__but it's true07:09
wallyworld__it's your money i guess07:09
bigjoolswallyworld__: I'm comparing all on offer before I decide07:09
StevenKJust note that TPG couldn't run a reliable network if their lives depended on it.07:10
wallyworld__np. i'm just trying to stir up StevenK07:10
bigjoolswallyworld__: +107:10
wallyworld__StevenK: tpg has been 10000% reliable for me07:10
wallyworld__not one issue07:10
bigjoolsonly 10000?07:10
wallyworld__fast and unlimited07:10
bigjoolswhat d/l speeds?07:11
StevenKAnd yet you ping timeout at least 4 times a day and your IRC nick keeps growing underscores.07:11
nigelbpwned.07:11
bigjoolshah07:11
bigjools10000 is not enough of a superlative, let's say 1000000%07:12
wallyworld__bigjools: i get about 9000Mbps07:14
wallyworld__StevenK: i don't timoeout07:14
wallyworld__i disconnect when i change rooms etc07:15
wallyworld__nothing to do with tpg07:15
wallyworld__sometimes my wireless router craps out also07:15
wallyworld__tpg is innocent07:15
bigjoolsthey are popular on whirlpool07:16
wallyworld__for good reason07:16
StevenKYes, they're cheap and crap.07:16
wallyworld__why do you say crap?07:18
wallyworld__evidence?07:18
bigjoolsStevenK: be specific?07:18
StevenKwgrant: Right, the only thing I can't figure out how to solve with my current horrible solution is the @accessor_for() for getVisibileLinkedBranches()07:18
wallyworld__i know several people who use them07:18
wallyworld__and they are all very happy07:18
StevenKI have had a few friends here who got random dropouts, slow speeds, and the support would follow a script07:19
bigjoolsI miss my UK ISP07:19
wgrantIt depends on region.07:20
wallyworld__i reckon 9000Mbps is ok given i'm a fair way from the exchange07:20
wgrantThey're massively oversubscribed on most Melbourne nodes.07:20
wallyworld__and have a rats nest of cabling to the socket07:20
wgrantPeople struggling to get 1Mbps07:20
wgrantDon't know how it is in QLD07:20
wgrantStevenK: What about it?07:20
wgrantStevenK: This should be no different from before.07:21
StevenKwgrant: http://pastebin.ubuntu.com/874160/07:21
StevenKwgrant: I had to remove linked_branches from IBugView, since IHasLinkedBranches also defines it.07:22
wgrantStevenK: Just move it into IBug07:22
StevenKI did07:22
=== almaisan-away is now known as al-maisan
wgrantWhat's with that insane "Please Zope" thing, then?07:22
StevenKwgrant: Because with linked_branches in IBugView and IHasLinkedBranches under IBug, Zope de-pramed its toys with the protectName traceback07:23
=== al-maisan is now known as almaisan-away
wgrantStevenK: That's why I said to move it to IBug07:24
StevenKOh, move everything, right.07:24
StevenKAnd getVisibleLinkedBranches ?07:24
wgrantEverything that conflicts.07:24
StevenKRight, that looks ... acceptable.07:27
StevenKCertainly a fuckload better than it was.07:28
StevenKHey wow, due to ripping out most of bug-heat.txt, I think I can remove dangerousGetAllBugs()07:29
wgrantDid you only rip out the relevant bits?07:30
StevenKwgrant: http://pastebin.ubuntu.com/874168/07:31
StevenKIt uses setHeat with gay abandon07:31
wgrantStevenK: And the award for test that is rendered useless for no good reason goes to...07:32
StevenKOh, so I can just remove the whole thing then? :-)07:32
wgrantI suggested that you rip it out, not remove every block that uses setHeat and then mangle the expected output of every other block to fit :)07:32
StevenKwgrant: Oh, you wanted me to delete the entire test?07:33
wgrantNo07:33
StevenKI thought so. :-(07:33
wgrantDelete the *relevant* bits of the test.07:33
wgrantNot delete parts of it, and render the rest useless.07:33
StevenKWell, setHeat is still on the model, so I can just rSP call it07:34
wgrantWhere that is unavoidable, yes.07:34
wgrantIn most cases you don't need to use setHeat, however.07:34
StevenKI don't see how07:34
StevenKGiven my reading of the test07:34
wgrant-First, we'll set the heat of all bugs so that none of them are out of07:35
wgrant-date.07:35
wgrantThat doesn't not require setHeat07:35
StevenKOh, IStore(Bug).set(heat=0) ?07:35
StevenKI *think*07:35
StevenKIt's been a while07:35
wgrantRead the test.07:35
wgrantIt cares about the timestamp.07:35
wgrantNot the heat value.07:35
wgrant(Your solution is almost valid, but it's probably not what the test wants to test.)07:37
StevenKRight, so I should set all heat_last_updated = now07:39
wgrantMost likely.07:39
* StevenK tries to work out how to do that with Storm07:40
StevenKAnd then dangerousGetAllBugs() can die too07:41
wgrantIStore(Bug).find(Bug).set(heat_last_updated=UTC_NOW)07:41
StevenKstub: Hai, can you look at https://code.launchpad.net/~stevenk/launchpad/db-add-information_type/+merge/96290 ?07:45
stubk07:51
stubStevenK: Is it possible to describe what an InformationType is?07:55
stubIts a very 'long cat is long' type comment description at the moment :-P07:55
stub'Enum describing what type of information is stored and used to determine how the access policy is applied', or something like that if that isn't quite riht07:58
stubI do see that it will not be changing frequently, so I guess adding yet another column to Bug and Branch is fine.07:59
wgrantIt will change infrequently and we're about to stop doing searches over Bug anyway :)07:59
wgrantIt replaces the private and security_related flags.08:00
=== almaisan-away is now known as al-maisan
StevenKwgrant: Do you agree with stub's comment for the two columns?08:08
wgrantI haven't looked at the MP.08:08
* wgrant looks.08:08
StevenKI meant the SQL comment above08:09
StevenK'Enum describing what type of information is stored and used to determine how the access policy is applied'08:09
wgrantThere's a better one in the MP08:09
StevenKRight, I'll update the comment08:09
StevenKstub: Thank you for the review.08:11
stubnp08:11
wgrantstub: FYI, https://code.launchpad.net/~wgrant/launchpad/bugtaskflat-db/+merge/96520 will be happening once StevenK's stuff is finalised and migrated on prod.08:13
wgrantBe afraid.08:13
nigelbI feel like a lot of conversations in this channel should be preserved in a QDB.08:14
stubThink I've seen most of that already.08:18
wgrantYeah08:18
=== al-maisan is now known as almaisan-away
wgrantstub: We can't set user-specific connection limits in pgbouncer, can we?08:20
wgrantstub: That was garbo's problem.08:20
stubBug #94974008:22
_mup_Bug #949740: No connection timeout makes transaction timeout unreliable <Storm:New> < https://launchpad.net/bugs/949740 >08:22
wgrantAh, interesting.08:23
* stub looks into user-specific connection limits08:23
wgrantAlthough there's no timeout in garbo.08:23
wgrantstub: I couldn't see any way to do it.08:23
wgrantBut you may have more luck.08:23
stubWe can, but we need to define it as a separate database (so connection to session_prod_garbo rather than session_prod)08:25
stubBut we still need nagios checks that the pools are not full, so I don't think we gain much except complexity.08:27
stubWell... maybe protect against processes with potentially unlimited numbers of connections like the Librarian or django servers08:27
lifelessstub: hey08:36
stubho08:37
lifelessstub: so, cynthia is having a terror night, going to pass on catching up if thats ok08:37
stubNo probs. Want to make a time for tomorrow?08:37
lifelessstub: lets give it a shot :)08:37
lifelessmy 4pm would be great08:37
stubYou're at +13 now?08:38
lifelessstub: https://bugs.launchpad.net/launchpad/+bug/948786 - I spoke with Tom; if we automate master-slave cutovers we can allow safer upgrades of pg etc rather than squashing it into the schema change window08:38
_mup_Bug #948786: add an option to full-update.py to not restart pgbouncer when finished <canonical-losa-lp> <Launchpad itself:Incomplete> < https://launchpad.net/bugs/948786 >08:38
lifelessstub: yeah08:38
lifeless(+13)08:38
stubOk. In bed by 1:30am :)08:40
lifeless*snort*08:40
lifelessok, /wave then see you tomorrow08:40
stublifeless: Switching master/slave is pretty heavyweight, and if all you are doing is upgrading PG to a new point release way overkill.08:42
stublifeless: Also, I certainly would want to defer any automated switchover to PG 9.1 + new replication08:43
wgrantSwitchover with WAL streaming involves a bit of rsync.08:44
wgrantBut I trust it to be a bit more reliable.08:44
stublifeless: But it might just be a big catch-22, as switching master/slave roles requires a bit of downtime08:44
wgrantA neutered version of readonly mode would work extraordinarily well here :)08:46
stub(at least until we are able to use transaction pooling across the board, at which point we could pause db access, wait for all transactions to complete or kill them, switch roles, reconfigure pgbouncer, reenable access)08:46
wgrantstub: Can't we tell eg. pgbouncer to hold new connections, wait a few seconds for old ones to clear, then do the switch?08:48
wgrantThat sounds nearer-term than letting us switch to transaction mode.08:48
stub(although I just opened a bug that would cause requests to OOPS if their connection attempts timed out)08:48
StevenKwgrant: Er, so, I think we should allow date_last_updated08:48
StevenKwgrant: steven@liquified:~/launchpad/lp-branches/force-ibug-into-line% grep Forbidden lp.log | cut -d\' -f2 | sort | uniq -c | sort -k1 -rn | head -n 108:48
StevenK    300 date_last_updated08:48
wgrantStevenK: What broke?08:48
StevenKLOTS08:48
wgranteunhelpful08:49
stubwgrant: Thats what I wrote. But it requires transaction pooling mode, as pgbouncer only notices when a transaction completes in that mode. It won't interrupt transactions in session mode as that might be interrupting cross-transaction resources like cursors or temporary tables.08:49
StevenKwgrant: Not sure how to get a list of failing tests from a subunit stream.08:50
wgrantstub: Bah, I meant s/pgbouncer/haproxy/08:50
wgrantstub: To avoid that issue08:50
wgrantStill requires that we turn evil scripts off.08:50
stubYes. And appservers, as they don't reopen connections each transaction08:50
stuboh nm.08:51
wgrantMake haproxy hang, wait $TIMEOUT, stop pgbouncer, switch, reconfig pgbouncer, start pgbouncer, unhang haproxy08:51
wgrant(hopefully timeout will be <5s by then :))08:52
stubyou can replace haproxy with pgbouncer there08:52
wgrantCan we?08:52
stuboic.08:52
wgrantMaybe if we taught the appserver that connection start hangs were to be expected.08:53
wgrantBut ideally we'd somehow just hang master connections.08:53
wgrantSince slave connections aren't a problem.08:53
adeuringgood morning08:53
stubwgrant: They are, which is why this is rather pointless for the most part. When we do a point release, we do it everywhere.08:54
stubpg point release upgrade08:54
StevenKwgrant: Failing tests: http://pastebin.ubuntu.com/874240/08:54
wgrantstub: But we don't have to do them all at the same time.08:54
stubNo. If we want, we could do it three times with more downtime.08:54
wgrantAssuming we rework our store management to be HA08:54
wgrantRather than failxploding08:54
wgrantstub: LP should pick an available slave or the master if no slave is available.08:55
wgrantThen we can murder slaves at will.08:55
wgrantAnd nobody will notice.08:55
wgrantStevenK: Tracebacks?08:55
wgrants/s//08:55
stubWith a suitably complex system, we might be able to catch all the states. But a system that complex will have more overall downtime because it is more complex.08:56
StevenKwgrant: I can copy the log to carob/something else if you like.08:56
wgrantStevenK: No. How widespread are the calls?08:56
StevenKwgrant: It's 2.3MiB uncompressed.08:56
StevenKwgrant: Like the count above, there are 300 calls to set date_last_updated that fail.08:57
wgrantStevenK: There are 300 tests that fail.08:57
wgrantStevenK: They won't all be distinct calls.08:57
StevenKNo, there are 165 tests that fail, 300 calls.08:58
wgrants/calls/callsites/08:58
StevenKA fair whack of them are in doctests.09:00
StevenKWhere they are calling it directly.09:00
lifelessStevenK: cat stream | subunit-filter --no-skips | subunit-ls09:00
wgrantStevenK: Setting it directly!?09:00
wgrantstub: How is basic client-side DB failover complex? :)09:01
StevenKwgrant: Yes, setting date_last_updated directly.09:01
StevenK  File "/home/steven/launchpad/lp-branches/force-ibug-into-line/lib/lp/bugs/subs09:01
StevenKcribers/buglastupdated.py", line 31, in update_bug_date_last_updated09:01
StevenK    current_bug.date_last_updated = now09:01
StevenKThat's another callsite.09:01
StevenKForbiddenAttribute: ('date_last_updated', <Bug at 0xf0b63d0>)09:01
lifelessStevenK: or load it into testr09:01
wgrantStevenK: Oh, directly except not.09:01
* lifeless goes again (someone rang our house phone... at 10pm!)09:02
wgrantStevenK: That function is probably the source of 99% of the exceptions.09:02
StevenKIt is not09:02
StevenKFrom unittests, sure. doctests are fiddling with date_last_updated directly09:02
wgrant$ bzr grep '\.date_last_updated =' | grep -v tests | grep -v doc | grep -v translations | grep -v stories | grep -v answers | wc -l09:03
wgrant109:03
stubwgrant: scripting haproxy + pgbouncer was what I was talking about.09:03
wgrant(and that one is update_bug_date_last_updated)09:03
StevenKwgrant: Which is probably that callsite then09:04
StevenKwgrant: Right, but I can't rSP that :-(09:04
wgrantStevenK: Why not?09:05
stubwgrant: client-side db failover? yer, but that is for unexpected slave outages. For expected outages, we just do the redirections in pgbouncer.09:05
wgrantsubscribers do it occasionally09:05
StevenKI don't like using rSP in non-test code09:05
wgrantStevenK: Sometimes it's justified. When there's a single callsite that's outside the model class only because someone thought subscribers were awesome, I think it's justified.09:05
wgrantstub: Why do them in pgbouncer? ISlaveStore can pick the first available slave. IMasterStore can pick the master, or display a "come back in 10 seconds" page if it's not available.09:06
stubwgrant: Because then the clients need to know where all the slaves actually *are* so it can make that choice. And because one use case is for reshaping the cluster, that means pushing configuration changes out and having them take effect.09:08
wgrantstub: Well, yeah, would need some means for determining the master dynamically. Not entirely sure how that would work. It may be by pgbouncer, but it would be nice to not have to reconfig pgbouncer in a reshape situation.09:10
stubWe have to reconfigure something. pgbouncer is easy because it is running on the same host as we are run these admin scripts from.09:12
wgrantAt minimum we have to reconfigure the databases to have a new master, so the ideal situation is that the appservers get that from postgres.09:13
wgrantBut that seems like it could be hilariously awful.09:13
stubYer. complex, leading to downtime because this sort of thing always breaks unless you invest hugely in all the testing.09:14
wgrantAnyway, I mainly suggested the sensible client-side slave fault tolerance as a solution to the 3x pg upgrade issue.09:14
wgrantIf we can take a slave down without anybody noticing, things become easier.09:15
stubExcept the other half of the connections that need a master :)09:15
wgrantIt means that we no longer need to SSH across 3 hosts during downtime.09:16
wgrantAnd it paves the way to full nodowntime :)09:17
stubWe can take a slave down with nobody noticing with pgbouncer. We just redirect launchpad_prod_slave_1 to a different database and deal with the existing sessions.09:17
stubAnd that is easy to automate, and even easier if we are running in transaction mode and have server connections returned to the pool after every transaction.09:18
wgrantThat handles scheduled downtime, indeed.09:19
wgrantAnd admittedly the DB servers have been rather more reliable than the rest.09:20
wgrantBut it seems sort of odd that we have this nice replicated DB setup, yet if any one of the three nodes goes down, LP goes down with it.09:21
stubIt takes a lot of work and resources to do automated failover properly. It is pretty rare to be able to justify those sorts of resources, and because of this more often than not you end up causing downtime than stopping it.09:23
stubredundant slaves is the easier problem, and can be handled by the connection pool09:26
stub(in pgbouncer's case, it involves putting haproxy between pgbouncer and the databases)09:26
wgrantPerhaps.09:30
wgrantBut we want things like SSO to get their noses out of our DB, which really requires us to have good availability.09:31
wgrantRead availability, that is.09:31
wallyworld__wgrant: can you recall the lp way to disable anchor? add "disabled" to the class? or something like that?09:38
wgrantwallyworld__: This isn't client-side rendered?09:40
wallyworld__wgrant: yes, but i need to dynamically disable a link depending on what the user clicks09:40
wgrantwallyworld__: The bug "Also affects" links use private-disallow, so perhaps there's not a real convention.09:41
wgrantwallyworld__: Or do you mean something other than hiding?09:41
wallyworld__wgrant: i want the "Submit" link to be there but greyed out until the select at least one info type09:42
wgrantDo we have any existing things like that?09:43
wgrantAll I know of is disabled buttons.09:43
wallyworld__ah, the auto bug/branch linking code disables links09:43
wallyworld__i'll look at that09:43
wgrantMm09:44
wgrantSort of.09:44
wgrantThey're not really disabled.09:44
wallyworld__link.addClass('invalid-link')09:44
wgrantJust greyed out and making odd popups.09:44
wallyworld__clicking is disabled and they are grey09:44
wallyworld__perfect :-)09:44
wallyworld__well, not sure about clicking, but i;ll handle that in my code. the css class works09:45
wgrantIs this going into the picker infrastructure, rather than something specific to disclosure?09:48
wgrantWe already have about 4 submit patterns in pickers.09:48
wgrantWould be nice to not introduce more.09:48
dpmhi all, I've got a couple of launchpadlib/API questions: given a project name, is it possible to find out if that project has any distro packages in Ubuntu?10:01
dpmI've read the api docs, but I couldn't figure that one out10:02
=== matsubara-afk is now known as matsubara
=== mrevell_ is now known as mrevell
dpmhi all, would anyone have an aswer to the earlier question re: the Launchpad API?12:22
dpm<dpm> hi all, I've got a couple of launchpadlib/API questions: given a project name, is it possible to find out if that project has any distro packages in Ubuntu?12:22
dpmI've read the api docs, but I couldn't figure that one out12:22
jelmerhi dpm12:22
dpmhey jelmer :)12:23
jelmerdpm: I'm pretty sure the reverse is possible (ubuntu pkg -> project), not sure about project -> ubuntu pkg12:23
* dpm looks at the reverse in the API docs, which might be a workaround12:23
jelmerdpm: lp.distributions["ubuntu"].getSourcePackage(name="bzr").upstream_product12:26
dpmhm, at a quick glance I cannot see how the reverse is possible from https://api.launchpad.net/devel.html#source_package12:26
dpmah, cool, thanks jelmer :)12:26
dpmI was looking for project instead of product12:26
jelmerproduct is the old name for project12:27
salgadosinzui, around?  did you get a failure email from that ec2-land you did for me yesterday?12:51
=== almaisan-away is now known as al-maisan
benjiI'm getting an error submitting a branch using either pqm-submit or ec2 land, has anyone seen this one: https://pastebin.canonical.com/61922/13:42
benjiheh, my AWS newsletter includes a new instance type that might work for our buildbot stuff: m1.medium.  It's half the cost of the m1.large we're using now.13:44
jelmerbenji: your bzr is too old for your version of bzr-pqm13:47
benjijelmer: how does one go about rectifying that?13:48
jelmerbenji: install a newer version of bzr (are you on precise yet?)13:48
benjijelmer: lets see... the VM I'm using at the moment is oneiric13:49
deryckMorning, all.14:01
rick_h_morning14:01
rick_h_deryck: on the new hardware this morning?14:02
deryckrick_h_, indeed14:02
deryckrick_h_, feels nice :)14:02
rick_h_as shiny as hoped?14:02
rick_h_hehe14:02
deryckyeah, definitely.  very nice laptop/14:02
flacostederyck: convoy has no release?14:15
flacostederyck: Daviey is packaging it for precise for the maas project14:15
czajkowskideryck: how has your team managed all the questions/issues re private bugs in the last few weeks ?14:16
czajkowskideryck: can you see private bugs or do you like me see oops ?14:16
deryckflacoste, I don't think it has a release.  rick_h_ do you know for sure?14:17
deryckczajkowski, no, I can't see them either. Usually, you just have to ask follow up questions to the person to figure things out.14:17
rick_h_flacoste: no release? it's in a daily build setup by StevenK and we use that14:18
czajkowskideryck: am fairly stuck on https://answers.launchpad.net/launchpad/+question/18845014:18
rick_h_flacoste: it's not on pypi, but I need to bug the guys about that one14:18
flacosterick_h_: it's not on lp either (i mean there are no releases on lp either)14:19
flacosterick_h_: how's pycon?14:19
deryckpasting for bot link:  OOPS-dd4660fd4f3a19b43f9d6649dc99eda14:19
rick_h_flacoste: there's a recipe to build everyone uses (landscape has one, etc) but yea, no releases done14:19
rick_h_flacoste: leaving for pycon this afternoon, so hopefully awesome! :)14:19
deryckoh the bot doesn't giving me a link here.  hmmm14:20
deryckwhat's the oop site URL?  new lappie and all. ;)14:20
czajkowskideryck: https://lp-oops.canonical.com/openid/+login14:20
deryckczajkowski, so I would have thought it would have redirected to the correct URL then said unauthorized to you and I.14:24
deryckczajkowski, maybe this is different now with purple squad's new work.14:24
derycksinzui, can you see bug 924475?14:25
salgadosinzui, I guess you didn't see my question earlier?  did you get a failure email from that ec2-land you did for me yesterday?14:27
sinzuiI do indeed have a failure14:31
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | Firefighting: - | Critical bugtasks: 4*10
sinzuisalgado, did you get the email. I read it 10 minutes before you pinged me, not I do not see and it is not in my trash?14:38
salgadosinzui, no, I didn't get it14:39
sinzui:(14:39
* sinzui keeps looking14:39
=== al-maisan is now known as almaisan-away
rick_h_jcsackett: ping, can you peek at this when you get a sec please? https://code.launchpad.net/~rharding/launchpad/fix_cal2/+merge/9658414:53
jcsackettrick_h_: r=me.14:58
rick_h_jcsackett: ty14:58
jcsackettaren't you supposed to be pyconning? :-P14:58
rick_h_I leave this afternoon14:59
mhall119I have an API question15:06
mhall119if I have a Branch object from launchpadlib, is there a way to get a list of all the branches that have been previously merged into it?15:06
sinzuisalgado, I found the email, well in a manner of speaking. I can see the email and will forward it to you. I do not know where thunder(shite)bird moved it too)15:09
sinzuisalgado, one failure. Looks easy to fix15:09
salgadosinzui, heh, that's fine.  thanks a lot!15:09
czajkowskisalgado: mails now being sent and post done15:10
salgadoczajkowski, thanks!  the blog post will be held until everything is live, right?15:11
czajkowskisalgado: the blog post is just a copy of the mail annoucment you sent me15:15
czajkowskiis thre another more detailed post ?15:15
salgadoczajkowski, mrevell said in the email that he'd be writing the blog post as well.  but maybe the idea is to have two posts: one with the warning and another one when the changes are live?15:16
czajkowskisalgado: thats how I read it15:17
mhall119lifeless: ping15:47
mhall119wgrant: ping15:49
czajkowskimhall119: wrong times for both of them15:53
mhall119hmmm, who's awake at this time of day?15:53
* mhall119 will try the on-call reviewer15:54
mhall119jcsackett: ping15:54
mhall119oh sweet, LP support for work items!15:57
mhall119czajkowski: \o/15:57
mhall119has that been deployed yet?15:58
czajkowskinope not yet15:58
jcsackettmhall119: pong.15:59
mhall119jcsackett: if I have a Branch object from launchpadlib, is there a way to get a  list of all the branches that have been previously merged into it?16:01
=== matsubara is now known as matsubara-lunch
jcsackettmhall119: not sure. one sec.16:01
* jcsackett takes a look at API docs16:01
mhall119the API will get me branches currently in MPs, but I don't know about past-merged MPs16:02
mhall119and I guess it wouldn't be able to give me branches merged manually, without an MP16:02
rick_h_mhall119: I'd expect that to be the job of bzr history more than LP api16:03
mhall119rick_h_: yeah, me too, it's just that I'm already using launchpadlib to generate stats about MPs16:03
mhall119and trudging through bzr branch history is likely to be orders of magnitide sloper16:04
mhall119slower16:04
jcsackettmhall119: you can get merged MPs from the API. so you could construct a script that gets all the MPs for the branch with a date_merged, and get the branches from that.16:04
rick_h_mhall119: yea, I guess need to split bzr merge vs MP records in LP.16:04
jcsackettmhall119: but it's likely to be convoluted.16:04
mhall119ok, thanks, that's all I needed to know16:05
jcsackettand yes, it'll only get you branches that were merged with an MP. if someone just merged in a branch on their own that's not going to show up.16:05
jcsackettsinzui: i see there is a pending request for ui review from you on a loggerhead change. https://code.launchpad.net/~cruzjbishop/loggerhead/ui-changes/+merge/9509016:09
jcsackettdid you actually want to weigh in on that, or shall i just move it along? it's a switch of browser-specific rounded corners to the generalized version.16:09
sinzuiI don't see why I need to review, but...16:11
jcsackettsinzui: you don't.16:12
jcsacketti'm asking if you want to.16:12
sinzuiI think we can drop -webkit-border-radius -moz-border-radius because firefox and webkit switched to the official property about 3 years ago16:12
jcsacketti don't think it's necessary, and was prepping to just move it along.16:12
=== Ursinha is now known as Ursinha-lunch
jcsackettsinzui: dig. i'll move this into approved and get it merged into loggerhead.16:13
mabacjcsackett, could you bear having another look at https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-widget/+merge/94790 for me? We found just another little bit we needed to add.16:14
sinzuijcsackett, FTW.., why do we have border-radius at 4px, 5px, and this example of px. There can be only one16:15
jcsackettsinzui: FTW? or WTF?16:15
sinzuiI think 5px is the standard16:15
sinzuiConsider -2 WTF, consider -1 FTW16:16
sinzuiI think the CSS in the review should use 5px for the radius. I think Lp's own CSS also need fixing and we might be able to delete a few rules16:17
rick_h_jcsackett: sorry, added sinzui because I wasn't sure on how only some corners were rounded and if that was something that should be ui reviewed/standardized16:18
rick_h_jcsackett: and sinzui was listed in the wiki for ui reviews :)16:19
sinzuirick_h_, that is ancient history...but you were right to get me to look at the oddness16:19
jcsackettsinzui: ok, i'll leave a comment to the effect of plz change to 5px.16:19
jcsackettor you can, if you like.16:19
* sinzui could land an rs branch to just fix all the references tomorrow16:20
jcsackettsinzui: it'd be two branches, right? one for LP and one for loggerhead.16:20
sinzuijcsackett, yes. The logger head fix can be made in the branch that is being reviewed16:21
jcsackettsinzui: dig. just wanted to make sure i was on the same page as you.16:22
sinzuiI feel like I am flipping though a book at the moment. I hate editing moin16:24
abentleyadeuring: chat?16:24
sinzuiWhen I am lord god-emperor of the Earth, the Universe, and Canada, Moin syntax will be 100 papre-cut offense.16:25
jcsackettsinzui: if you are creating new pages, allenap created a method to use rst.16:25
jcsackettor you could update the entire page you're editing and use his method. :-P16:25
sinzuisecond offenders will get lemon juice on the cuts16:25
allenapsinzui: +116:26
sinzuijcsackett, i am editing information is a large table16:26
abentleyjcsackett: I just wish rst table headers had consistent meaning.16:26
jcsackettmabac: this branch is getting sort of unwieldy. are you merging in branches approved in other MPs as well?16:26
jcsackettabentley: +116:28
mabacjcsackett, sorry about that. yes we thought that the help-popup belonged in this branch for landing16:28
mabacjcsackett, and we really believed this branch was done.16:28
mabacjcsackett, which is not a (good) excuse for messing it up16:28
jcsackettmabac: i'll take a look at these later revisions. but an ongoing branch for weeks is a recipe for problems. :-)16:28
mabacjcsackett, I promise that I've learned a lot in the process? :D16:29
jcsackettmabac: :-P16:29
mabacjcsackett, but yes, I'll keep it neater next time16:29
jcsackettmabac: i'm seeing changes to the Makefile in those revisions? it looks like you've got a weird diff going on with rick_h_'s recent js_watch work ...16:31
jcsackettrick_h_: did your js_watch stuff ever land? i don't see it in devel, but i think i'm seeing it in mabac's diff.16:32
mabacjcsackett, I can see that we merged devel just recently. perhaps something more changed since then. I'll take a look16:32
jcsackettmabac: i've sorted it. i was looking at changes in the recent revisions, which includes when rick_h_'s stuff was introduced; there's an update from devel in those revisions i missed.16:35
mabacjcsackett, ok good16:35
jcsackettmabac: b/c of that, though, i can't get a diff of just the things you've added that need to be looked at. can you generate a diff of just the new stuff and throw it up on pastebin or something?16:36
jcsackettotherwise i'm going to have to look at the whole diff again, which i can do today but not anytime soon.16:37
rick_h_jcsackett: yes, the js watch stuff landed16:37
mabacjcsackett, is it better if I merge from devel and push again?16:37
jcsackettmabac: no, that won't sort it. :-)16:38
mabacjcsackett, ok diff coming right up16:38
jcsackettmabac: if you don't have time to do that, it's ok. i can review this today, just not now.16:38
mabacjcsackett, http://paste.ubuntu.com/874794/16:43
mabacjcsackett, thanks16:43
popeyhullo.16:46
czajkowskipopey: boo16:46
popeyI saw czajkowski's announce about blueprints and wondered if it would adversely affect http://status.ubuntu.com/ (given that site directly plucks work-item text in specially formatted ways from blueprints) or whether you've all thought about that and I should stop worrying ☺16:47
czajkowskisalgado: ^^^16:47
jcsackettmabac: perfect, exactly what i needed.16:51
jcsackettreviewing now.16:51
salgadopopey, we planned it so that for users there are no visible changes (i.e. they will continue to enter the work items in a text field using the exact same format as before) and the tools will keep working (there was a trivial change to launchpad-work-items-tracker which I did to make it work against the new API and it was accepted yesterday)16:55
jcsackettmabac: new revisions look fine. thanks.16:56
popeysalgado: groovy16:58
mabacjcsackett, great thanks for reviewing it again :)16:58
mabacjcsackett, will you make another go at landing it too?16:59
adeuringabensure. mumble (sorry for the delay...)17:08
jcsackettmabac: sure.17:13
salgadojcsackett, actually, let's wait a bit.  see discussion on #launchpad-ops :)17:14
jcsackettsalgado: got it. :-P17:20
=== matsubara-lunch is now known as matsubara
lifelessmorning18:01
czajkowskilifeless: good day18:13
lifelesshi czajkowski18:18
=== Ursinha-lunch is now known as Ursinha
sinzuijcsackett, do you have time to review this long branch: https://code.launchpad.net/~sinzui/launchpad/remove-register-branch/+merge/9664920:26
jcsackettsinzui: sure, i can review it. it's mostly big b/c you're ripping stuff out, right?20:34
sinzuiYes -800+ lines of unused views and tests20:34
jcsackettsinzui: cool. i'll be happy to review it. these things needed killing for awhile.20:36
jcsackettsinzui: r=me.21:09
jcsackettand now i need more coffee. :-P21:09
sinzuithank you21:09
=== matsubara is now known as matsubara-afk
sinzuilifeless, or deryck can I have your +1 to try this script on staging, then production: http://pastebin.ubuntu.com/873679/21:43
lifelesssinzui: the statement timeout is too high; needs to be 2000 to be sure we won't cause timeouts21:44
sinzuiokay21:44
czajkowskiif someone had some spare time could they answer https://answers.launchpad.net/launchpad/+question/190103  so I can book mark it as well for me to learn.21:45
czajkowskithank you21:45
lifelesssinzui: other than that +1 - or perhaps we should drop the rows?21:46
sinzuilifeless,  we do not as yet (merge doesn't and the merged team continues to exist as a historical record if the team leaves before being merged). I am pondering deletion though; only someone with db access can see the data21:48
StevenKlifeless: 2000? Er, what? I thought the policy was 2500.22:10
lifelesspretty sure it was a round 2 seconds22:11
StevenKFor manual SQL? Look it up, it's 2500.22:11
lifelesswhats the wiki pge22:12
StevenKNo fair if you edit the wiki page to claim you're right.22:13
StevenK"The write lock holding portion of the script must complete in 2.5 seconds to avoid causing timeouts in appserver requests."22:14
StevenKhttps://wiki.canonical.com/InformationInfrastructure/OSA/RequestLogging/LP/SQL22:14
lifelessStevenK: I considered it, but it wouldn't be fair.22:21
lifelesshowever, I probably should drop it down to 1s22:21
StevenKIn either case, I'm right. :-)22:22
lifelesstwitch22:22
StevenKwgrant: http://pastebin.ubuntu.com/875283/22:26
StevenKwgrant: http://pastebin.ubuntu.com/875299/22:45
jelmersinzui: YOU ROCK23:24
jelmersinzui: thanks for lp:~sinzui/launchpad/remove-register-branch23:24
wgrantI said you'd be interested :)23:25
jelmer:)23:27
bigjoolsjelmer: does any of these errors look familiar for recipe builds? https://bugs.launchpad.net/launchpad-buildd/+bug/94015723:45
_mup_Bug #940157: PPA builders have corrupted filesystem <ppa> <Launchpad Auto Build System:Triaged> < https://launchpad.net/bugs/940157 >23:45
jelmerbigjools: I don't recall having seen those for any recipe builds23:46
bigjoolsjelmer: ok. Very weird then.23:48
wgrantbigjools: Given that no other package has ever seen it, it seems unlikely that it's not a package bug.23:49
bigjoolswgrant: quite possibly yes23:49
bigjoolsbut I want some opinions from more people first23:49
wgrantEveryone agrees that there's no reason to believe it's not a package bug.23:50
bigjoolswho is everyone?23:50
wgrantinfinity, me23:50
wgrantie. most of the relevant people who weren't away when this came up originally.23:50
bigjoolsI agree too, but I still want to ask around23:51
elmopoolie: ping23:52
elmohow rude23:52
elmobigjools: I agree too btw23:52
elmosomeone even check the first accused build; there's nothing wrong with the FS23:53
elmoI'm not quite sure why gustavo doesn't add more output, -v to rsync or cp, strace or whatever23:53
wgrantAnd palmer, vernadsky and rothera aren't exactly untested machines.23:53
elmowgrant: I've been meaning to ask - can receipe builds install from PPAs?23:53
wgrantPerhaps Go is really so amazing that it exposes bugs that no other piece of software in the world does.23:54
wgrantelmo: Yes.23:54
elmowgrant: so, umm23:54
elmowgrant: why are they running non-virtualized?23:54
elmoisn't that a gaping security hole?23:54
wgrantelmo: It's a non-virt PPA, I assume.23:54
elmoah, hmm23:54
wgrantPossibly because ARM, but I'm not quite sure.23:55
elmook, so normal receipe builds will only happen on a PPA?23:55
wgrantYes.23:55
elmocool, I'll stop freaking out quite so much23:55
wgrantWe're not entirely stupid.23:55
wgrantI hope.23:55
bigjoolsspeak for yourself. wheeeeeeee23:56
bigjoolselmo: furry muff, ta23:56

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