/srv/irclogs.ubuntu.com/2012/06/19/#launchpad-dev.txt

wallyworld_wgrant: StevenK: it seems IBugSet.createBugWithoutTarget() is only used internally by createBug(), it doesn't seem to be exported, there is a doctest for it. i'd like to remove the method from IBugSet. thoughts?00:17
cjwatsonwgrant: Right.  Now if only I can get the last couple of tests passing ...00:18
wgrantcjwatson: What's broken?00:18
wgrantwallyworld_: I believe that used to be used by the email interface, but it's not any more. Destroy.00:19
wgrantwallyworld_: I deliberated avoided removing it last month because the email interface uses it.00:20
wallyworld_wgrant: yay, will allow me to simplify the AAG branch and fix failing tests00:20
cjwatsondoctest hatred of some kind in xx-archive and xx-ppa-files.  (Not in front of the laptop right now - I'll have another crack at it tomorrow)00:20
wgrantBut now you've made me check and it doesn't actually use it any more.00:20
wgrantcjwatson: Ah, right.00:20
cjwatsonMaybe it was too ambitious to change the default for allow_delayed_copies.00:20
wgrantcjwatson: I imagine the diff should be fairly small?00:20
cjwatsonNot horrible for what it does.  Several layers of tentacles.00:20
cjwatsonSince the new unembargo option needs to go all the way up to the webservice layer.00:21
wgrantYeah00:22
cjwatsonwgrant_: https://code.launchpad.net/~cjwatson/launchpad/change-override-forbid-release-stable/+merge/110942 is that changeOverride bug-fix you asked for01:39
lifelesscjwatson: thanks for the 10GB reply01:40
lifelesscjwatson: the alternative to debdelta is !debsatall, which isn't something we've had much discussion on.01:40
cjwatsonI confess I've never heard of it.01:41
cjwatsonNo relevant Google hits.01:41
cjwatsonI think the short answer on debdelta is that it would be done by now if only mvo had any spare time.01:42
lifelesscjwatson: I meant, not using debs, not a specific thing :) Unless of course you got that and ran with it :>01:43
cjwatsonSo sticking somebody reasonably clued on it for a couple of months ought to be enough to get it thrashed out.01:43
cjwatsonOh I see.01:43
cjwatsondebdelta will probably be quicker, and will have widespread benefits if we get it done.01:43
wgrant_cjwatson: canUploadToPocket and checkLegalPocket seem pretty similar to cannotModifySuite01:44
wgrant_More specifically, they all duplicate the Release-is-immutable-in-stable-series logic.01:45
lifelesscjwatson: sure. I'm a little worried about failure modes like 'user edited a file'01:45
lifelesscjwatson: which something a little more dynamic in nature could deal with rather more gracefully than we can today.01:46
cjwatsonwgrant_: Yes, I wasn't sure how far I should go in refactoring that swamp01:47
wgrant_cjwatson: That's putting it nicely.01:47
cjwatsonwgrant_: But I take it you want to go a bit further?01:48
wgrant_cjwatson: I'd extend canUploadToPocket to do this. But you don't have to if you don't want.01:48
cjwatsonIn particular I wasn't sure whether it would be a good idea to change the behaviour of the publisher to avoid touching anything that canUploadToPocket refuses.01:49
wgrant_It's less obvious that it's correct for the publisher to do that.01:49
wgrant_I think it probably is correct for changeOverride to use canUploadToPocket, however.01:49
cjwatsoncheckLegalPocket is semantically closer, but has a less near to being helpful interface.01:49
wgrant_canUploadToPocket's name is just crap01:50
wgrant_checkLegalPocket is a publisher-specific method which should be somewhere else and implemented in terms of canUploadToPocket01:51
cjwatsonOK.  I'm happy to rearrange it in terms of canUploadToPocket.01:54
wgrant_But it looks fine apart from that, so if you don't care enough to fix it I will +101:55
=== wgrant_ is now known as wgrant
cjwatsonNah, I'd rather get it as right as possible first time02:00
lifelessworth a read - http://shirky.com/writings/group_enemy.html02:17
mwhudsonlifeless: the middle section makes me think of time02:29
mwhudson* daker has quit (Ping timeout: 246 seconds)02:29
mwhudsonoh ffs, twice today!02:29
mwhudsonlifeless: http://xkcd.com/1043/02:29
lifelessmwhudson: LOL02:30
mwhudsonthere is something that's changed in precise (i think inside ff) that really screws up my clipboard experience02:31
lifelessmwhudson: do you have a three button trackpad ?02:31
lifelessor hmm, three button nipple ?02:31
lifelessbigjools: wallyworld_: HUSH.02:32
mwhudsonlifeless: i do, but i use an external keyboard & mouse almost all of the time02:32
lifelessok, cause I find the middle button of the three connected to the nipple extremely frustrating to use02:32
wallyworld_huh? me has said nothing02:32
mwhudson(i certainly can't blame either of today's stuffups on the thinkpad)02:32
lifelesswallyworld_: no, but you usually do :P02:32
bigjoolsnipple is the correct term02:33
wallyworld_ah, guilty by assumption :-)02:33
bigjoolsjust don't flick your tongue over it02:33
wallyworld_lol, knew i could proxy to bigjools :-)02:33
lifelesssee02:36
lifelessexactly my point02:37
wgrantwallyworld_: Are you sure that new query is good?02:38
wgrantIt looks broken to me.02:38
wallyworld_in what way? the tests pass02:38
wgrantIt seem like it'll find people with *any* team participation that doesn't have permission.02:38
wgrantRather than finding people where *all* team participations don't have permission.02:39
mwhudsonlifeless: it's an interesting article, i've read it at least once before but that was before "facebook" and "twitter" were words that appeared on the 6pm news...02:39
wallyworld_wgrant: let me look02:39
cjwatsonwgrant: Happier with this try?  It's rather more verbose, but gets rid of duplicate logic in several places now.02:40
cjwatson(E.g. it rephrases checkLegalPocket mostly in terms of canUploadToPocket.)02:41
wallyworld_wgrant: at first read it looks ok - not(a or b) = not(a) and not(b)02:42
wgrantwallyworld_: Sure, that bit of the logic is fine.02:42
wgrantwallyworld_: But you're joining against TP02:42
wgrantYou want to find people where all the teamparticipations match the OTs.02:43
wgrants/OTs/NOTs/02:43
wgrantBut that query will find people where any of them do.02:43
wallyworld_yes, that seem true02:44
wgranteg. if foo is a member of bar and baz, and bar has access but baz does not, the query will say foo doesn't have access.02:44
wallyworld_so i need a extra constraint02:44
wgranta GROUP BY with HAVING(COUNT(teamparticipation) = 0) is probably clearest02:47
wgrantBut it's horrid02:47
wgrantWhich is why I suggested inverting the method and doing the difference in Python02:47
wgrantIt's more useful and far simpler.02:47
wallyworld_but it's python and the results could be large, they may not be, but we can't guarantee that02:49
wgrantwallyworld_: Not really.02:49
wgrantWe're passing in a set of people02:49
wgrantThe set we get back out will be at most that large.02:49
wgrantAnd it's probably only a set of ints.02:49
wallyworld_ok, i can rework it02:49
wgrantcjwatson: Looking, sorry02:50
wgrantwallyworld_: Unless you want to do a set of horrid left joins with group by and having, that's probably best.02:50
wgrantBut you can do it all in SQL if you really wanr.02:50
wgrantcjwatson: Should cannotModifySuite be replaced too?02:54
wgrantIf you're feeling adventurous, canUploadToPocket would be even better as Archive.canModifySuite02:54
wgrantcjwatson: But that's an excellent improvement, thanks.02:56
cjwatsonwgrant: cannotModifySuite> Doesn't that go back to the conversation above?03:06
cjwatson02:49 <cjwatson> In particular I wasn't sure whether it would be a good idea to change the behaviour of the publisher to avoid touching anything that canUploadToPocket refuses.03:06
cjwatson02:49 <wgrant_> It's less obvious that it's correct for the publisher to do that.03:06
cjwatsonI'll look at refactoring it into Archive.canModifySuite tomorrow03:07
wgrantcjwatson: That's a good point, ignore me.03:09
* wallyworld_ sighs. i may triggered the branch scanning bug again :-(03:09
wgrantcjwatson: But moving the archive-related stuff onto Archive is a good thing; should have been done during ArchiveRework in 2006 :)03:09
wgrantSo please move that if you have a moment.03:09
wgrantwallyworld_: Was an MP involved again?03:10
wallyworld_yep03:10
wgrant:(03:10
wgrantMissed the first run03:10
wgrantWas hoping we could actually see what was going on there.03:11
wgrantspm: Not at lunch, are you?03:11
spmam back now, but about to be exclusively doing stuff03:11
wgrantAh, k03:11
wgrantNevermind, then.03:11
* wallyworld_ taps fingers. branch scanning seems to be taking forever03:15
wgrantwallyworld_: It just retimed out a few seconds ago03:16
wgrantYour new push should process in a sec03:16
wallyworld_hope so03:16
wgrantIt's scanning03:16
wgrantDone03:18
wallyworld_branch pages doesn't seem to think so03:18
wallyworld_ah now it does03:19
wgrantHm03:20
wgrantIt's rescanning the original one now, for the third time.03:20
wgrantDid you repush it?03:20
wallyworld_nope03:21
wallyworld_wgrant: if you could peek at this, much appreciated https://code.launchpad.net/~wallyworld/launchpad/create-aag-privacy-transitions-followup2/+merge/11094503:21
wgrantwallyworld_: Looking03:25
wallyworld_thanks03:25
wgrantwallyworld_: r=me, thanks.03:26
wgrantAlthough neither the MP nor commit message nor any of the other commit messages actually say what the issue is :)03:26
wallyworld_wgrant: thanks for spotting the issue03:26
cjwatsonwgrant: All right, since sleep continues to elude, I've done that move now - and landing, since I see you approved it already (thanks)03:28
wgrantcjwatson: Marvellous.03:30
wgrantApart from the not sleeping thing.03:30
* StevenK headdesks.04:56
wgrant?04:59
StevenKwgrant: I ran make schema and was then going to run the garbo tests again and managed to fat finger make clean && make schema somehow.05:01
wgrantHeh05:01
wgrantTDD on LP really sucks05:04
wgrantJust saying05:04
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/populate-branch-ap/+merge/11095005:33
lifelessEWTF 7878.23s  OOPS-ebfdc5eaa4642ee738b09283e0964a82  BranchSet:CollectionResource:#branches06:22
lifelesswgrant: have you looked into https://oops.canonical.com/?oopsid=OOPS-f08635d8a0548f5b1bafb1bb0209c980#repeatedstatements ?06:24
wgrantlifeless: Heh06:30
wgrantI didn't think it would ever get that bad.06:30
czajkowskimorning07:26
adeuringgood morning07:50
lifelesswgrant: and yet...07:57
stubAdd one query per request, and 5 tests fail. We have some sensitive query counts in there...09:09
stubBump 'em by one, and they will be less sensitive when 1 request ends up being removed from every request in a future landing.09:16
cjwatsonMake them equality tests rather than maxima?09:26
jamdpm, jtv: I'm looking over the Q translations, I'm running into a couple things. The #contributors doesn't match between Q and P, but maybe that is the Garbo job, or maybe just newer stuff?09:26
jamI'm getting timeouts trying to load the actual page, but it does eventually load.09:27
jamfor example this: https://translations.launchpad.net/ubuntu/precise/+source/gfxboot-theme-ubuntu/+pots/bootloader/es/+translate vs https://translations.launchpad.net/ubuntu/quantal/+source/gfxboot-theme-ubuntu/+pots/bootloader/es/+translate09:27
jamThe checkboxes are also a bit different.09:27
jamOn P it defaults to 'New translation', but on Q it is marked on "Current Spanish".09:27
jamThough aside from the first, the pages seem identical.09:28
jtvjam: otp09:28
jamjtv: np09:28
jamso aside from the Contributors stuff, all the pages I've looked at for specific translations have been identical between P and Q09:32
jtvjam: back.  The contributors are updated by the garbo job, right.09:33
jamjtv: so on this page: https://translations.launchpad.net/ubuntu/quantal it seems to say there are 237045 untranslated strings for Bosnian, but when I go: https://translations.launchpad.net/ubuntu/quantal/+lang/bs it only lists 37371. Maybe I'm not looking at the right page?09:34
jtvjam: the checkboxes sound strange… it may be an unanticipated side effect of Quantal translations still being closed.  The important thing is that you get identical items between P and Q, both labelled Current Spanish, with the same text.09:35
jtvThe statistics are also updated asynchronously, so don't rely on those.\09:35
jamjtv: yeah, the checkbox seems to be if Firefox puts the cursor inside the text entry box09:35
* jtv looks at pages09:35
jamjtv: how asyncrhonously? Given the copy happened last night09:35
jtv!09:35
jamjtv: we were able to get the copy to succeed yesterday around 14:00 utc09:36
jtvActually I guessed from what you said earlier, but it's nice to have that part be such a non-event.09:36
jtvHow long did it take?09:36
jamjtv: well, we had some old 'temp_' tables that required st-ub to fix09:36
jtvAh yes.09:36
jambut then the copy happenid in about 5 min09:36
jamvs the 1.5hrs to get the delete script to run09:37
jtvThere'll be less of that holding-table business.09:37
jam(about 3 retries)09:37
jtvFive minutes!  It's hard to express how happy that makes me.09:37
jamjtv: I don't have the background to fully appreciate it, but yes, very quick vs what it looks like in the past.09:37
jtvDo note that please on the wiki page.09:37
jamAlready been noted09:37
jambut it will be highlighted later.09:38
=== gmb changed the topic of #launchpad-dev to: grahambinns
gmbArse09:38
jamI'm personally satisfied enough that the copy completed correctly. As you expected, the statistics are all wrong, but the strings all look correct.09:38
jtvWell… 2007: take Launchpad offline for the copy.  2008: strain the app to its limits for I don't remember how many days as we copy dozens of millions of rows.09:38
czajkowskigmb: LOL!09:39
=== jam changed the topic of #launchpad-dev to: The topic for #launchpad-dev is: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: - | Firefighting: - | Critical bugs: 3.47*10^2
=== gmb changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: gmb | Firefighting: - | Critical bugs: 3.47*10^2
* gmb needs to remember that he sucks at IRC.09:39
czajkowskimeh could in fact be worse09:39
czajkowskiyou in the Fin?09:39
gmbAlso, I need to write a bot for taking ReviewerSchedule and updating the topic (because I do this crap on a regular basis)09:39
gmbczajkowski, Yep. It's massive!09:40
gmbI feel tiny09:40
jtvgmb: And a bot that says “good morning, volunteer!” as you log in on your review day.09:40
gmbQuite09:40
jamjtv: definitely well done09:40
jtvjam: those Spanish translations look fine to me.  I won't say there's no problem anywhere, but it passes the basic sanity test that really matters right now.09:41
czajkowskigmb: aye it is nice alright09:41
jamjtv: I haven't found a page with translations strings that aren't identical.09:41
jamJust "Contributors" for a given entry, etc.09:41
jamand the summary of "Untranslated" doesn't quite match.09:41
jambut all those are summary statistics stuff.09:42
jtvThe credits should start to fill in, but one of the breakthroughs of this year is that that is now a separate problem.09:42
jamjtv: so its says the next step is activating the translation imports. Does it seem reasonable to do so?09:42
jtvThe only numbers you can trust, really, are on the batch navigator for a page — e.g. 1234 items in the “translated items” view.09:42
jtvjam: I would say so, and I'm sure dpm would be much relieved.  Ask him to tell you some stories as well.  :)09:43
* dpm reads scrollback...09:44
jtvjam: it's useful to note when the imports are started, because that way we can more or less track in the UI whether a full generation of translations has been imported yet.09:44
jtvBon dia dpm :)09:44
jtvjam: and now for a short intermission between self-congratulation sessions… I see Approved items on the import queue for Quantal, but they're not attached to any files to import to.  That looks like an omission in the cleanup script.09:45
jtvIf we enable imports, that will break.09:45
jamjtv: I don't quite follow your thread, links?09:46
jtvhttps://translations.launchpad.net/ubuntu/quantal/+imports09:46
jtvThese are the files awaiting import into Quantal.09:46
jtvApproval, in translations-import-queue terminology, is a bit of a misnomer.09:46
jtvIt also involves attaching an upload on the queue to a POTemplate or POFile in the database that it's supposed to go into.09:47
jtv(There must be one; these objects are created as part of the approval process).09:47
jtvFor most files, it's the import queue gardener (rosetta-approve-imports.py) that does this.09:47
jtvAnd the importer assumes that any file it's going to import will already have been approved, and so is attached to a POTemplate or POFile.09:48
jtvSo we need something like:09:49
jtvUPDATE TranslationImportQueueEntry SET status=5 WHERE status=1 AND distroseries = (SELECT id FROM DistroSeries WHERE distribution=1 AND name='quantal');09:49
jtvLet me just ask about that on -ops.09:49
wgrantjtv: That's not doable through the API nowadays?09:50
jtvHmm… it might be, but I imagine not on a batch basis.09:50
wgrantCertainly not on a batch basis, no09:51
dpmjtv, jam, having a quick look at P and Q, the translations look ok, but I'm also concerned about the mismatch in the number of contributors. Apparently we got +100 contributors on Q according to LP, which is certainly not the case09:52
cjwatsongmb: Oh hello Mr. OCR.  There's a question for you in https://code.launchpad.net/~cjwatson/launchpad/export-change-override/+merge/10954909:52
dpmsorry, I mean for Catalan09:52
dpmit might be different for other languages09:52
jamdpm: most of the ones I've seen have almost 2x the contributors in P than Q09:53
gmbcjwatson, Looking now.09:54
jamdpm: I'm seeing P having 145 more contributors, how are you getting 100 more in Q?09:54
jtvdpm, jam: it'll take garbo some time to derive all that contributor information.  Try looking at templates whose names start with numbers, or 'a'.09:54
jamjtv: the first one is "Abkhazian" which matches (with 0 contributors), but Acehnese is 55 in P vs 18 in Q09:55
jtvTemplate names, not languages.09:55
jamah09:55
dakermwhudson, do you need me ?09:56
jtvjam: also, if the daily garbo job was interrupted for this…09:56
dpmjam, sorry, you're right, I was looking it the other way round -> https://translations.launchpad.net/ubuntu/quantal - Catalan: 216 contributors, https://translations.launchpad.net/ubuntu/precise - Catalan: 318 contributors09:56
dpmso Q is 102 less contributors09:57
jamdpm: well that number just jumped from 20 min ago09:57
dpmthan P09:57
jamfor Q09:57
jamIt was 155 just a bit ago09:57
jamjtv: it was interupted before the copy, but should be running today.09:57
jamdpm: so the number seems to be going in the right direction09:57
dpmgotcha09:57
jtvWell, there we go then.  :)09:58
gmbcjwatson, Okay, it looks like copy_field isn't doing what it should. Revert to your earlier solution and add a comment explaining why you're not using copy_field. r=me on everything else.09:58
jamjtv: currently OTP, but I want to sort out the import queue things with you in a bit if that's ok. Or are you at EOD09:58
jtvjam: I'll be here.09:58
cjwatsongmb: Fair enough, thanks.  (It's blocked on another landing at the moment, but hopefully after that.)09:59
gmbcjwatson, Okay.09:59
wgrantjtv, jam Are you aware of the poimport errors?10:05
wgrant2012-06-19 09:46:16 ERROR   Entry is approved but has no place to import to. -- 'po/skanlite.pot' (id 6579415) in ubuntu Quantal package skanlite10:05
wgrantLots of that10:05
jamwgrant: I just unchecked the import queue, and we're chatting about it. Still OTP, though.10:06
jtvThat'd be the thing I said would happen.  :)10:06
jamjtv: back.11:10
jtvOK11:10
jmlbenji: I've annotated the SSL exception in those two branches you reviewed yesterday. I'd welcome a re-review.11:46
benjijml: sure, I'd be glad to11:48
jmlbenji: thanks.11:48
benjijml: looks great11:50
jmlbenji: thanks. Do you know what the landing process is for those two projects?11:50
benjisince the value of "e" is known to be an exception the "% (e,)" bit is superfluous, but it won't hurt anything11:50
jmlbenji: a little paranoia is healthy.11:51
benjiJust merge to trunk, update NEWS, and make a release... I think there is a document for that, hold on a sec and I'll find it11:51
jmlbenji: you never know when SSLHandshakeError will decide to subclass tuple!11:51
benjiheh11:52
benjithat'll be the day Python jumps the shark11:52
benjijml: https://dev.launchpad.net/HackingLazrLibraries#landing-your-branches and https://dev.launchpad.net/HackingLazrLibraries#releases look like what you need11:52
jmlversions :(11:54
jmlbenji: thanks.11:54
benjiversions.cfg loves you11:54
jmlbenji: SSLHandshakeError isn't in the buildout-depended version. Should I try to match httplib2 behaviour in currently depended version or should I bump the version dependency?11:54
benjiyou can bump it; versions is for development and if development doesn't match reality it can be changed11:55
jmlbenji: I don't have commit access.12:00
benjijml: I'll land it for you if you want12:00
jmlbenji: thanks.12:00
jml  [r=benji] Add environment variable, LP_DISABLE_SSL_CERTIFICATE_VALIDATION, to12:01
jml  disable SSL certificate checks.  Most useful when testing against development12:01
jml  servers.12:01
jmlthat's my commit message.12:01
benjik12:01
jmlbenji: no need for the bump, I just hadn't run buildout in a while.12:01
benjicool12:01
=== rick_h_ changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: gmb, rick_h | Firefighting: - | Critical bugs: 3.47*10^2
rick_h_bah, sorry jcsackett wrong channel, reset irssi and my channel numbers get moved on me12:18
maxbrick_h_: /layout save is your friend :-)12:44
jamdpm: according to https://wiki.canonical.com/Launchpad/Translations/UbuntuOpenings the next steps are up to you. (steps 8+)12:45
maxb(Remember to also /save afterward)12:45
cjwatsonrick_h_: Thanks for r= on https://code.launchpad.net/~cjwatson/lazr.restfulclient/cgi-parse-qs-deprecated/+merge/111001.  I don't have commit access; could you land it for me12:45
cjwatson?12:45
dpmjam, excellent, thanks for your work in getting the copy done. I can now open the translations and set up language packs before the end of the week.12:46
rick_h_cjwatson: sorry, my LP env isn't setup yet on the new machine. Can we rope someone else in atm? adeuring can you help land please? ^12:50
adeuringcjwatson, rick_h_: sure.12:51
rick_h_ty adeuring12:51
jamjelmer: did you get a chance to re-submit my MP?13:02
jelmerjam: ah, sorry, I misunderstood.. thought you were going to get somebody to run the fancy parallel test script for it13:03
jelmerresubmitting now13:03
jamjelmer: I was meaning for the sprint week on that.13:03
bacmrevell: "crave the metal"  -- ha!13:03
mrevellbac, :)13:04
bacmrevell: i think the narrator for The Big Lebowski would add a certain western flair that might be appealing.13:05
jmlbenji: hi. I don't mean to hassle but I haven't seen my MPs get merged. Anything I can do?13:12
deryckMorning, all.13:12
benjijml: I've been on calls.  Working on it now.13:12
jmlbenji: np, thanks.13:13
czajkowskisinzui: morning13:14
sinzuihello13:14
mrevellbac, I like that idea :) I wonder what he charges13:16
benjijml: launchpadlib 1.10.0 released; releasing lazr.restfulclient now13:43
jmlbenji: woot, thanks.13:45
benjijml: ok, lazr.restfulclient 0.13.0 is released13:51
jmlbenji: wonderful :)13:51
jmlthis will make local testing of API scripts much easier.13:51
benjiyep, it's a good addition13:52
deryckadeuring, ivory -- https://plus.google.com/hangouts/_/4da3cee079179cf73f401a0a94ca9813bedf7ca8?authuser=0&hl=en14:04
jamIs someone around that can help me understand: http://people.canonical.com/~wgrant/librarian-pruning.html14:12
jamIt mentions a few SQL statements to run, but then seems to run them under different circumstances.14:12
jam(the very first query says "All SPRs" vs "Expired SPRs", but I don't see how the query is restricted to only Expired SPRs14:13
jcsackettrick_h_: ack on the comments, looking through making those changes now.14:30
rick_h_jcsackett: cool, hopefully removes some more LoC though the attr docs might bring it back, but at least it's not more code14:30
jcsackettrick_h_: yeah. i usually think SLoC rather than just LoC. whitespace and comments really aren't the problem we're trying to curb.14:33
=== salgado is now known as salgado-afk
jcsackett...well, the suckless version of SLoC. Significant, not Source.14:34
rick_h_:)14:34
rick_h_jcsackett: let me know if I'm wrong on the event stuff. I kind of saw maybe that method of calling was required due to current scope in event passing14:35
cjwatsonjtv: I gather from https://code.launchpad.net/~jtv/launchpad/katie-and-gina-are-bad-bad-girls/+merge/75472 that you have some experience running gina into a scratch table on dogfood.  Do you know if this is documented anywhere?  I have a branch I'd like to land, but I'm not sure how to QA it.15:50
jtvThat's a long time ago.  Let me refresh my memory.15:50
=== salgado-afk is now known as salgado
jtvcjwatson: ah, I see what you mean now.  I just ran it normally, but also selected some data into a scratch table for before/after comparison.15:51
jtvBut I don't really remember any of it.15:52
cjwatsonAh, OK.  Hmm.15:53
czajkowskijtv: what time is it over there ?15:54
jtvLate:5415:54
timrchas the LP team developed a generic YUI3 Model/ModelList sync layer akin to Backbone.Sync?15:54
cjwatson$ ls -ld /srv/launchpad.net/gina-mirror/dists/sid/15:54
cjwatsondrwxr-xr-x 5 launchpad launchpad 4096 2010-11-25 01:45 /srv/launchpad.net/gina-mirror/dists/sid/15:54
cjwatsonEep, that's old.  Probably doesn't have any of the packages I care about in it.15:54
cjwatsonMaybe I could download one of them into the mirror by hand?15:55
cjwatsonOh, main/source/Sources.gz is 2011-09-12.  Still.15:56
jtvISTR this stuff depends heavily on what happens to be in the local archive on dogfood.  Maybe there's ways of injecting individual packages directly… I don't know.15:56
cjwatsonI bet it'll get confused by the database (hence /debian/+source/*) being substantially newer than the mirror.15:57
cjwatsonI do need to do some approximation of a full run.  I have unit tests for my changes to lib/lp/soyuz/scripts/gina/*, but scripts/gina.py doesn't seem to be meaningfully tested.15:58
* deryck goes offline for lunch, back in an hour16:02
jtvcjwatson: I can only recommend waiting for Australia to wake up…16:03
cjwatson:-)16:03
czajkowskiit's an odd timezone to wait for, but given the folks there don't sleep it's not too long a wait either16:04
flacostegary_poster: you should get your blog on the LP planet, the retrospectives would show up on it16:05
* cjwatson upgrades mawson while he waits, given that when StevenK last tried that it took three hours16:06
czajkowskiflacoste: +116:07
gary_posterflacoste, cool will do.  I don't see how to do that on planet.launchpad.net, but looking around more.  If you know (or czajkowski?) hints welcome16:12
flacostegary_poster: you might have to ask mrevell, i don't know the specifics tbh16:12
gary_posterok cool16:13
mrevellgary_poster, I can add you to the planet. It's not especially intuitive.16:13
* cjwatson notices there's a doctest for gina. Phew, that's slightly less bad than it might have been.16:13
mrevellgary_poster, It's so long since we added one that I can't remember if anyone in the LP team can do it or just a few people.16:14
gary_postermrevell, oh cool thanks.  Lemme get you a tagged link...16:16
gary_postermrevell, http://codesinger.blogspot.com/feeds/posts/default/-/launchpad or http://codesinger.blogspot.com/feeds/posts/default/-/canonical .  they are the same atm :-)16:19
mrevellthanks gary_poster.16:19
gary_posterthank you16:19
czajkowskigary_poster: see your blogging of team meetings is going to catch on :)16:20
gary_posterczajkowski, heh, we'll see :-)16:21
jcsackettrick_h_: took a bit to cycle back, but replies on my MP and code updates.16:21
rick_h_jcsackett: loading up now16:22
james_wgmb, rick_h_: does one of you have time for https://code.launchpad.net/~james-w/python-oops/refactor-publishing/+merge/109428 ?16:25
rick_h_james_w: will look in just a sec16:25
rick_h_sorry, two snuck into the queue on me while I wasn't looking16:25
james_wthanks rick_h_16:25
rick_h_jcsackett: r=me, thanks again for taking the time16:28
jcsackettrick_h_: thanks for the review and the suggestions. :-)16:33
rick_h_jcsackett: fav, when you assign me a review make sure to ping me. I didn't notice it until I loaded the list for OCR today. I totally would have missed it otherwise16:34
jcsackettrick_h_: i didn't ping you b/c i knew you were OCR today, and i put it up last night. :-)16:34
rick_h_ah, well nvm then. Glad I didn't hold you up too much then16:34
jcsackettdidn't hold me up in the least. thanks again. :-)16:34
rick_h_james_w: so is there a back story here I assume?16:49
james_wrick_h_, there is, yes16:49
james_wI guess I should have updated the description, sorry16:49
james_wrick_h_, the oops stack has a hack where it decides if a report has already been published by seeing if it has an 'id' key16:50
james_wbut it's valid for an app to allocate an id when it generates an oops, e.g. for django to show the id to the user16:50
rick_h_ok16:50
james_wthere is a wrapper function in python-oops that publishes to a publisher only if the id isn't set16:50
rick_h_ok, so this is trying to build that in with the flag16:51
rick_h_?16:51
james_wwhich you want to use for reliable oops delivery (try and publish to amqp, if that fails drop it in a directory and have something else try again when amqp is back)16:51
james_wso if the app allocates the id then you never get that fallback, and oopses are lost16:51
james_wso you remove the wrapper and instead duplicate the work as you will always publish to the dir on disk, even if amqp succeeeded16:52
james_wtalking to Rob about it we decided that whether an oops has been published should be remembered by the config, rather than stored in the oops16:52
rick_h_ok16:52
james_wand then publishers would be added to the config declaring if they should only get oopses that are unpublished16:52
james_wthat would be an API break from the current API of appending publishers to a list16:53
rick_h_james_w: ok, r=me with a couple of nitpicks, one is just something that maybe is me coming unaware to the conversation16:53
james_wRob suggested that instead the "publish to a list of publishers" thing be extracted out and taught all of that stuff16:53
james_wso I did that, and left the old code in for compatibility16:53
rick_h_ok, kind of see it. Now an oops pro, but nothing here looks like it'll go boom! :)16:54
rick_h_/now/not16:54
james_wthanks rick_h_16:55
james_wrick_h_, good comments, thanks16:55
james_wI'll fix all of that up16:56
james_wI'm not sure about deprecation warnings16:56
james_wI don't know if there is a policy we can follow without thinking16:56
rick_h_yea, not sure either. I've not really seen us do that, but if we're clearly deprecating things in an API seems like we really want to get the word out16:56
rick_h_since I know python-oops stuff is used in a few places I believe16:57
rick_h_sinzui: any feedback on officially deprecating something like this in a library? python-oops16:57
sinzuirick_h_, I think we want to raise the warning to tell developers we are going to remove the API. We do not know this much since we have do not have a lot of code that is reused. We do rely on the deprecated warning from our libs to tell us to fix code before it breaks17:01
james_wrick_h_, yeah, a few17:02
james_wI'm not too keen on warnings immediately when the change is made as that tends to annoy developers17:02
james_wI'll be trying to shepherd internal users along17:02
james_wI don't know how many external users we have17:02
rick_h_sinzui: ok, thanks. So james_w I'd think we'd just use http://docs.python.org/library/warnings.html17:02
rick_h_james_w: well, it'll take time for them to get the new version I'm sure, so don't think it'll annoy current items right off the bat17:02
james_wno, but IME, "YOU'RE USING SOMETHING YOU SHOULDN'T BE AND I'VE ONLY JUST TOLD YOU BUT I'M GOING TO ANNOY YOU ABOUT IT UNTIL YOU FIX IT EVEN THOUGH YOU CAN'T WRITE CODE THAT WILL WORK ON BOTH VERSIONS" tends to be what developers see :-)17:04
sinzuijames_w, that other developer can choose to suppress warnings, as we do. We are informed, and we chose to delay the fix.17:06
rick_h_james_w: yea, but not seeing how we make sure we get back to this and eventually remove deprecated code17:06
james_wthat's true17:06
james_wrick_h_, I absolutely agree on the XXX17:06
james_wthen someone will clean it up as part of the LoC policy before too long :-)17:06
rick_h_hah17:07
* sinzui recalls that Lp needs to switch to hashlib to get to python 2.717:08
rick_h_james_w: well, personally I'd prefer to see the warning. I ok'd it, and as long as the XXX and bug are there, it's a trail, but not an obvious one for users of the module17:08
james_wrick_h_, yeah, I'll make the change to emit a deprecation warning too17:09
rick_h_james_w: thanks, appreciate it17:09
james_wthanks for the review17:09
gary_posterTo Whom It May Concern: the most recent devel commit from stub might have caused some test failures.  http://ec2-174-129-111-89.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/3/steps/shell_9/logs/summary  I'll investigate more later17:11
cjwatsonsinzui: AFAICS it already has17:12
cjwatsonsinzui: Unless there's stuff in sourcedeps I'm missing17:12
stubgary_poster: I landed something?17:12
* sinzui looks17:12
gary_posterstub, http://ec2-174-129-111-89.compute-1.amazonaws.com:8010/changes/7 ?17:13
stuboh, damn. I lp-landed instead of ec2 land17:13
stubsorry17:13
sinzuicjwatson, if so we can delete code from lp_sitecustomize17:13
sinzuicjwatson, and script_isolation.py17:14
gary_posterstub, cool, are you reverting or otherwise fixing or should I do it or try to corral someone to do it?17:15
stubI can revert it unless someone has something ready. Just syncing trunk down.17:16
sinzuijcsackett, I would like your review of this SQL that clean up historical data. This relates to the branch you reviewed to teach the commercial project job to delete commercial subscriptions for non-proprietary projects: http://pastebin.ubuntu.com/1049490/17:18
cjwatsonsinzui: From a quick glance through, I think ZODB3, windmill, pycrypto, and ipython still have unguarded md5/sha imports17:19
jcsackettsinzui: ok.17:19
cjwatsonsinzui: I'm not sure why 2.7 is relevant, though; md5 and sha were deprecated in 2.6, and seem to be no less available / no more deprecated in 2.7 than in 2.617:21
jcsackettsinzui: r=me, looks good.17:24
stubWhat is the magic rollback syntax?17:38
stubfor the commit line?17:38
* stub finds the guide17:39
stubhmm... doesn't say17:39
sinzuicjwatson, windmill...We don't use it. I thought all the code was removed. Someone gets to delete it17:51
sinzuiI thought the sha module was removed in 2.717:51
cjwatsonNope, still there17:53
rick_h_yea, have it here17:53
rick_h_just deprecated still17:54
cjwatsonGone in 3.0 of course17:54
abentleystub: [rollback=revno]18:42
abentleyrick_h_: Could you please review https://bugs.launchpad.net/launchpad/+bug/891715 ?18:55
_mup_Bug #891715: API doesn't recognize standard parent branch URLs <api> <Launchpad itself:Triaged> < https://launchpad.net/bugs/891715 >18:55
abentleyrick_h_: I mean https://code.launchpad.net/~abentley/launchpad/real-branch-name/+merge/11108218:57
rick_h_abentley: looking18:59
rick_h_abentley: r=me19:03
abentleyrick_h_: ty19:03
=== rick_h_ changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: - | Firefighting: - | Critical bugs: 3.47*10^2
lifelessgary_poster: what was the lxc workaround?19:48
jcsackettsinzui: got a few minutes to talk?20:00
sinzuiyes20:00
jcsackettcool. i'll send a hangout invite momentarily then.20:00
gary_posterlifeless, change /var/lib/lxc/lptests/rootfs/etc/init/networking.conf to not wait for udev (that is, use "start on (local-filesystems)"); and remove the container's /etc/init/udevtrigger.conf (rm /var/lib/lxc/lptests/rootfs/etc/init/udevtrigger.conf)20:00
lifelesshah!20:01
lifelessso some udev concurrency limit ?20:01
jcsackettsinzui: laptop with webcam won't start google+, so i'm in messenger via the phone app.20:02
gary_posterlifeless, yeah something like that.  hallyn didn't get deep into it because he didn't want to focus on it if what he gave us was good enough.  I said it seemed good enough to me.  When we switch to Precise, we can remove the hack.20:03
=== salgado is now known as salgado-afk
lifelessbac: hi20:43
lifelessbac: p:~bac/zope.testing/1012171 - I notice that you've had some trouble with the Content stuff there; what was in the file already appears crufty to me - there are solid helpers in testtools that would make life a lot easier.20:44
lifelessbac: I've made a couple of notes in the MP, but looking in testtools.content and testtools.content_type may give you even more ideas.20:44
lifelessbac: there is one specific defect you should fix though, which is that iterating 'asd' vs ['asd'] will be considerably slower, if the length of the string is nontrivial.20:44
benjilifeless: thanks for pointing out the helper on the MP; bac is away right now but I'm sure he'll implement the suggestion in the comment20:49
lifelessbenji: anytime20:50
benjithe bit about the API really being an iterable of strings reminds me of why I hate strings being iterable in Python20:50
lifelessindeed20:50
lifelessI hate that too20:50
lifelessbut breaking that to make the API clearer sucks more :(20:50
lifelessactually, what I hate is type(char) and type(str) being equivalent, same same though20:51
benjiabsolutely; the fault here clearly lies with Guido, circa 1990 :)20:51
benjiI don't mind that so much; it would be possible to make strings not iterable, but instead have, say, a .chars attribute that is, for when you really do want to iterate over the chars20:52
=== pjdc_ is now known as pjdc
lifelesscat, skin, # of ways ;)20:52
benji:)20:52
lifelessby which I mean that that would work too20:52
czajkowskipoor cat20:54
czajkowski:)20:54
=== salgado-afk is now known as salgado
timrchas the LP team developed a generic YUI3 Model/ModelList sync layer akin to Backbone.Sync?21:40
timrcHm, it would help if I mentioned that I'm specifically referring to a sync layer for Yui.App21:41
baclifeless: thanks for the note21:45
lifelessbac: np21:45
StevenKConflict adding file logs.  Moved existing file to logs.moved.22:42
StevenKConflict adding file logs.moved.  Moved existing file to logs.moved.moved.22:42
* StevenK facepalms22:42
StevenKOh. Sigh. PPAVocabulary has no tests.22:46
StevenKLooks like none of the Soyuz vocabs do.22:47
=== salgado is now known as salgado-afk
sinzuihttps://qastaging.launchpad.net/launchpad/trunk/+addrelease22:54
rick_h_timrc: no, we're not up to 3.5 yet, but the combo loader integration is in beta so I'd love to hopefully get it some point this year22:59
rick_h_timrc: rockstar over on the U1 team has been doing some work on the YUI3 Y.App stuff so you might ping him, but don't think they're to that point22:59
rick_h_timrc: if you're interested I can chat about it, I've used the model layer on some outside stuff, but nothing LP specific.23:00
timrcrick_h_, we are re-implementing some stuff in hexr and are going to use Y.App on the front-end and django-tastypie on the backend... I believe bigkevmcd wants to implement a generic sync layer akin to Backbone.Sync... so I was wondering if anyone in the company has done it yet23:09
timrcseems like people are building model-specific sync layers23:09
cjwatsonhttps://code.launchpad.net/~cjwatson/launchpad/gina-deb-vendor-debian/+merge/111120 - dogfood gina QA advice wanted23:13
wgrantcjwatson: "meh"23:14
cjwatsonThat good?23:14
wgrantI'd suggest a combination of not caring and constructing a fake archive that contains the relevant package.23:14
cjwatsonYeah, I just wasn't sure how that would interact with the existing dogfood.lp.net/debian.23:15
rick_h_timrc: it seems it'd have to be tied to the api end23:15
cjwatsonUnless you mean import it into an entirely fresh distribution or something.  (Sounds hard.)23:15
rick_h_since tastie-pie would have requests formulated a certain way, I'm not sure anyone would have anything yet23:15
cjwatsonKind of a shame gina doesn't seem to have a dry-run mode.  If it did, it'd be sufficient to run it with that and make sure it didn't explode.23:16
cjwatsonMaybe I should add one?23:16
rick_h_timrc: but yea, I could easily see a Y.Model.sync -> tastiepie module23:16
wgrantcjwatson: Could just comment out the transaction.commit()s...23:16
wgrantcjwatson: It's easy enough to import into a new distro, but then you can't use the actual problematic package.23:16
cjwatsonOh yeah, it's dogfood, I guess that's an option23:16
wgrantBecause DEB_VENDOR will be different23:16
cjwatsonRight23:16
cjwatsonI could go with comment-out-commits as a plan23:17
cjwatsonAnd just inject the broken qjackctl or something with a spoon23:17
timrcrick_h_, yeah with specific regards to tastypie, I believe there is a project called backbone-tastypie which overrides the default sync() call to  build models and collections using its JSON format23:17
timrcthe same goes for saving models and collections back to the server23:18
timrcso something similar for Y.Model.sync as you suggest23:18
rick_h_timrc: right, so basically in the YUI.model you'd monkey patch the sync method and generate the generic request with the model's ATTRS23:18
rick_h_timrc: so makes total sense, especially with the current state of the tooling standards, but nothing existing I know of for it as the Y.Model stuff is really knew to us as well as the tastiepie default23:19
rick_h_timrc: I'd be happy to help/look over anything that comes up, but since LP is so far from tastiepie and 3.5 I don't see us directly using/getting to anything23:20
timrcrick_h_, awesome, thanks23:21
timrcwgrant, do the api servers throttle "heavy" users?  I've written a script to generate a graph of teams and their relationships using a sample of users across our organization (in the hopes I can discover as many business-relevant teams as possible and how they're related).  I23:23
timrcargh23:23
timrcI've tried to design the script so that it doesn't hit the API if it's already seen a team23:24
lifelesstimrc: we firewall bad users.23:29
lifelesstimrc: we don't current have dynamic throttling.23:29
lifelessDon't be a bad user :P23:29
timrc:)23:30
lifelesstimrc: also, you can't see most of the business relevant teams, because they will be private.23:30
timrclifeless, I'm super special23:30
timrcor something23:30
timrcI have fairly good insight into most of the important PES teams23:30
lifelesssure, but the organisation is rather larger than PES :P. Just saying ;)23:30
timrclifeless, oh well allow me to qualify the organization as "PES" in this case23:31
lifelessah, sure ;)23:31
StevenKwgrant, wallyworld_23:35
StevenKBah23:35
StevenKhttps://code.launchpad.net/~stevenk/launchpad/archive-empty-description-vocab/+merge/11111823:35
StevenKwgrant, wallyworld_: https://code.launchpad.net/~stevenk/launchpad/archive-empty-description-vocab/+merge/11111823:44
wallyworld_StevenK: sorry, i will need a bit of time to finish my qa23:45

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